Buckets:
| import{s as Ot,c as Ce,u as ge,g as Je,d as je,e as ve,f as Ft,o as _e,n as A}from"../chunks/scheduler.852ec091.js";import{S as qt,i as Kt,g as U,s as M,h as T,j as wt,f as n,c as h,k as Q,a as s,d as C,t as g,z as Re,m as Ge,n as ke,y as zt,B as xe,o as Ie,e as ye,p as Be,b as Ee,r as v,A as We,u as _,x as J,v as R,w as G}from"../chunks/index.28275fd3.js";import{T as Mt}from"../chunks/Tip.9f398c59.js";import{C as V}from"../chunks/CodeBlock.c3366071.js";import{H as Z,E as Ze}from"../chunks/EditOnGithub.582011f0.js";import{e as be}from"../chunks/each.e59479a4.js";import{w as Ve}from"../chunks/index.268e315a.js";const bt=Ve({});function Ae(c,e){const a=new URL(window.location.href),l=new URLSearchParams(a.search);l.set(c,e),a.search=l.toString(),history.replaceState(null,"",a.toString())}function Ne(c){const e=new URL(window.location.href);return new URLSearchParams(e.search).get(c)}function $e(c,e,a){const l=c.slice();return l[7]=e[a],l}function we(c){let e,a=c[7]+"",l,i,o,r,f;function d(){return c[6](c[7])}return{c(){e=U("div"),l=Ge(a),i=M(),this.h()},l(u){e=T(u,"DIV",{class:!0});var p=wt(e);l=ke(p,a),i=h(p),p.forEach(n),this.h()},h(){Q(e,"class",o="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd "+(c[2][c[0]]===c[7]?"border-gray-800 bg-black dark:bg-gray-700 text-white":"text-gray-500 cursor-pointer opacity-90 hover:text-gray-700 dark:hover:text-gray-200 hover:shadow-sm"))},m(u,p){s(u,e,p),zt(e,l),zt(e,i),r||(f=xe(e,"click",d),r=!0)},p(u,p){c=u,p&2&&a!==(a=c[7]+"")&&Ie(l,a),p&7&&o!==(o="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd "+(c[2][c[0]]===c[7]?"border-gray-800 bg-black dark:bg-gray-700 text-white":"text-gray-500 cursor-pointer opacity-90 hover:text-gray-700 dark:hover:text-gray-200 hover:shadow-sm"))&&Q(e,"class",o)},d(u){u&&n(e),r=!1,f()}}}function Le(c){let e,a,l,i,o=be(c[1]),r=[];for(let u=0;u<o.length;u+=1)r[u]=we($e(c,o,u));const f=c[5].default,d=Ce(f,c,c[4],null);return{c(){e=U("div");for(let u=0;u<r.length;u+=1)r[u].c();a=M(),l=U("div"),d&&d.c(),this.h()},l(u){e=T(u,"DIV",{class:!0});var p=wt(e);for(let j=0;j<r.length;j+=1)r[j].l(p);p.forEach(n),a=h(u),l=T(u,"DIV",{class:!0});var y=wt(l);d&&d.l(y),y.forEach(n),this.h()},h(){Q(e,"class","flex space-x-2 items-center my-1.5 mr-8 h-7 !pl-0 -mx-3 md:mx-0"),Q(l,"class","language-select")},m(u,p){s(u,e,p);for(let y=0;y<r.length;y+=1)r[y]&&r[y].m(e,null);s(u,a,p),s(u,l,p),d&&d.m(l,null),i=!0},p(u,[p]){if(p&15){o=be(u[1]);let y;for(y=0;y<o.length;y+=1){const j=$e(u,o,y);r[y]?r[y].p(j,p):(r[y]=we(j),r[y].c(),r[y].m(e,null))}for(;y<r.length;y+=1)r[y].d(1);r.length=o.length}d&&d.p&&(!i||p&16)&&ge(d,f,u,u[4],i?je(f,u[4],p,null):Je(u[4]),null)},i(u){i||(C(d,u),i=!0)},o(u){g(d,u),i=!1},d(u){u&&(n(e),n(a),n(l)),Re(r,u),d&&d.d(u)}}}function Se(c,e,a){let l;ve(c,bt,p=>a(2,l=p));let{$$slots:i={},$$scope:o}=e,{id:r}=e,{options:f}=e;Ft(bt,l[r]=f[0],l);function d(p){Ft(bt,l[r]=p,l),Ae(r,p)}_e(()=>{const p=Ne(r);p&&f.includes(p)&&Ft(bt,l[r]=p,l)});const u=p=>d(p);return c.$$set=p=>{"id"in p&&a(0,r=p.id),"options"in p&&a(1,f=p.options),"$$scope"in p&&a(4,o=p.$$scope)},[r,f,l,d,o,i,u]}class Ue extends qt{constructor(e){super(),Kt(this,e,Se,Le,Ot,{id:0,options:1})}}function Te(c){let e;const a=c[4].default,l=Ce(a,c,c[3],null);return{c(){l&&l.c()},l(i){l&&l.l(i)},m(i,o){l&&l.m(i,o),e=!0},p(i,o){l&&l.p&&(!e||o&8)&&ge(l,a,i,i[3],e?je(a,i[3],o,null):Je(i[3]),null)},i(i){e||(C(l,i),e=!0)},o(i){g(l,i),e=!1},d(i){l&&l.d(i)}}}function Ye(c){let e,a,l=c[2][c[0]]===c[1]&&Te(c);return{c(){l&&l.c(),e=ye()},l(i){l&&l.l(i),e=ye()},m(i,o){l&&l.m(i,o),s(i,e,o),a=!0},p(i,[o]){i[2][i[0]]===i[1]?l?(l.p(i,o),o&7&&C(l,1)):(l=Te(i),l.c(),C(l,1),l.m(e.parentNode,e)):l&&(Be(),g(l,1,1,()=>{l=null}),Ee())},i(i){a||(C(l),a=!0)},o(i){g(l),a=!1},d(i){i&&n(e),l&&l.d(i)}}}function Xe(c,e,a){let l;ve(c,bt,d=>a(2,l=d));let{$$slots:i={},$$scope:o}=e,{id:r}=e,{option:f}=e;return c.$$set=d=>{"id"in d&&a(0,r=d.id),"option"in d&&a(1,f=d.option),"$$scope"in d&&a(3,o=d.$$scope)},[r,f,l,o,i]}class $t extends qt{constructor(e){super(),Kt(this,e,Xe,Ye,Ot,{id:0,option:1})}}function De(c){let e,a='MacOS support is still a work in progress! Subscribe to this <a href="https://github.com/TimDettmers/bitsandbytes/issues/1020" rel="nofollow">issue</a> to get notified about discussions and to track the integration progress.';return{c(){e=U("p"),e.innerHTML=a},l(l){e=T(l,"P",{"data-svelte-h":!0}),J(e)!=="svelte-9rmqp2"&&(e.innerHTML=a)},m(l,i){s(l,e,i)},p:A,d(l){l&&n(e)}}}function He(c){let e,a="bitsandbytes >= 0.39.1 no longer includes Kepler binaries in pip installations. This requires manual compilation, and you should follow the general steps and use <code>cuda11x_nomatmul_kepler</code> for Kepler-targeted compilation.";return{c(){e=U("p"),e.innerHTML=a},l(l){e=T(l,"P",{"data-svelte-h":!0}),J(e)!=="svelte-13h63kz"&&(e.innerHTML=a)},m(l,i){s(l,e,i)},p:A,d(l){l&&n(e)}}}function Pe(c){let e,a="If you have multiple versions of CUDA installed or installed it in a non-standard location, please refer to CMake CUDA documentation for how to configure the CUDA compiler.";return{c(){e=U("p"),e.textContent=a},l(l){e=T(l,"P",{"data-svelte-h":!0}),J(e)!=="svelte-raeog1"&&(e.textContent=a)},m(l,i){s(l,e,i)},p:A,d(l){l&&n(e)}}}function Qe(c){let e,a="To compile from source, you need CMake >= <strong>3.22.1</strong> and Python >= <strong>3.8</strong> installed. Make sure you have a compiler installed to compile C++ (gcc, make, headers, etc.). For example, to install a compiler and CMake on Ubuntu:",l,i,o,r,f='You should also install CUDA Toolkit by following the <a href="https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html" rel="nofollow">NVIDIA CUDA Installation Guide for Linux</a> guide from NVIDIA. The current expected CUDA Toolkit version is <strong>11.1+</strong> and it is recommended to install <strong>GCC >= 7.3</strong> and required to have at least <strong>GCC >= 6</strong>.',d,u,p="Refer to the following table if you’re using another CUDA Toolkit version.",y,j,$="<thead><tr><th>CUDA Toolkit</th> <th>GCC</th></tr></thead> <tbody><tr><td>>= 11.4.1</td> <td>>= 11</td></tr> <tr><td>>= 12.0</td> <td>>= 12</td></tr> <tr><td>>= 12.4</td> <td>>= 13</td></tr></tbody>",k,x,N="Now to install the bitsandbytes package from source, run the following commands:",W,w,B,E,F;return i=new V({props:{code:"YXB0LWdldCUyMGluc3RhbGwlMjAteSUyMGJ1aWxkLWVzc2VudGlhbCUyMGNtYWtl",highlighted:"apt-get install -y build-essential cmake",wrap:!1}}),w=new V({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZUaW1EZXR0bWVycyUyRmJpdHNhbmRieXRlcy5naXQlMjAlMjYlMjYlMjBjZCUyMGJpdHNhbmRieXRlcyUyRiUwQXBpcCUyMGluc3RhbGwlMjAtciUyMHJlcXVpcmVtZW50cy1kZXYudHh0JTBBY21ha2UlMjAtRENPTVBVVEVfQkFDS0VORCUzRGN1ZGElMjAtUyUyMC4lMEFtYWtlJTBBcGlwJTIwaW5zdGFsbCUyMC1lJTIwLiUyMCUyMCUyMCUyMyUyMCU2MC1lJTYwJTIwZm9yJTIwJTIyZWRpdGFibGUlMjIlMjBpbnN0YWxsJTJDJTIwd2hlbiUyMGRldmVsb3BpbmclMjBCTkIlMjAob3RoZXJ3aXNlJTIwbGVhdmUlMjB0aGF0JTIwb3V0KQ==",highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/TimDettmers/bitsandbytes.git && <span class="hljs-built_in">cd</span> bitsandbytes/ | |
| pip install -r requirements-dev.txt | |
| cmake -DCOMPUTE_BACKEND=cuda -S . | |
| make | |
| pip install -e . <span class="hljs-comment"># \`-e\` for "editable" install, when developing BNB (otherwise leave that out)</span>`,wrap:!1}}),E=new Mt({props:{warning:!1,$$slots:{default:[Pe]},$$scope:{ctx:c}}}),{c(){e=U("p"),e.innerHTML=a,l=M(),v(i.$$.fragment),o=M(),r=U("p"),r.innerHTML=f,d=M(),u=U("p"),u.textContent=p,y=M(),j=U("table"),j.innerHTML=$,k=M(),x=U("p"),x.textContent=N,W=M(),v(w.$$.fragment),B=M(),v(E.$$.fragment)},l(b){e=T(b,"P",{"data-svelte-h":!0}),J(e)!=="svelte-29yf67"&&(e.innerHTML=a),l=h(b),_(i.$$.fragment,b),o=h(b),r=T(b,"P",{"data-svelte-h":!0}),J(r)!=="svelte-gmjw5q"&&(r.innerHTML=f),d=h(b),u=T(b,"P",{"data-svelte-h":!0}),J(u)!=="svelte-1agbdv5"&&(u.textContent=p),y=h(b),j=T(b,"TABLE",{"data-svelte-h":!0}),J(j)!=="svelte-1nj1xe4"&&(j.innerHTML=$),k=h(b),x=T(b,"P",{"data-svelte-h":!0}),J(x)!=="svelte-1fitvy1"&&(x.textContent=N),W=h(b),_(w.$$.fragment,b),B=h(b),_(E.$$.fragment,b)},m(b,I){s(b,e,I),s(b,l,I),R(i,b,I),s(b,o,I),s(b,r,I),s(b,d,I),s(b,u,I),s(b,y,I),s(b,j,I),s(b,k,I),s(b,x,I),s(b,W,I),R(w,b,I),s(b,B,I),R(E,b,I),F=!0},p(b,I){const ht={};I&2&&(ht.$$scope={dirty:I,ctx:b}),E.$set(ht)},i(b){F||(C(i.$$.fragment,b),C(w.$$.fragment,b),C(E.$$.fragment,b),F=!0)},o(b){g(i.$$.fragment,b),g(w.$$.fragment,b),g(E.$$.fragment,b),F=!1},d(b){b&&(n(e),n(l),n(o),n(r),n(d),n(u),n(y),n(j),n(k),n(x),n(W),n(B)),G(i,b),G(w,b),G(E,b)}}}function Fe(c){let e,a="Windows systems require Visual Studio with C++ support as well as an installation of the CUDA SDK.",l,i,o='To compile from source, you need CMake >= <strong>3.22.1</strong> and Python >= <strong>3.8</strong> installed. You should also install CUDA Toolkit by following the <a href="https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html" rel="nofollow">CUDA Installation Guide for Windows</a> guide from NVIDIA.',r,f,d="Refer to the following table if you’re using another CUDA Toolkit version.",u,p,y="<thead><tr><th>CUDA Toolkit</th> <th>MSVC</th></tr></thead> <tbody><tr><td>>= 11.6</td> <td>19.30+ (VS2022)</td></tr></tbody>",j,$,k,x,N='Big thanks to <a href="https://github.com/wkpark" rel="nofollow">wkpark</a>, <a href="https://github.com/Jamezo97" rel="nofollow">Jamezo97</a>, <a href="https://github.com/rickardp" rel="nofollow">rickardp</a>, <a href="https://github.com/akx" rel="nofollow">akx</a> for their amazing contributions to make bitsandbytes compatible with Windows.',W;return $=new V({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZUaW1EZXR0bWVycyUyRmJpdHNhbmRieXRlcy5naXQlMjAlMjYlMjYlMjBjZCUyMGJpdHNhbmRieXRlcyUyRiUwQXBpcCUyMGluc3RhbGwlMjAtciUyMHJlcXVpcmVtZW50cy1kZXYudHh0JTBBY21ha2UlMjAtRENPTVBVVEVfQkFDS0VORCUzRGN1ZGElMjAtUyUyMC4lMEFjbWFrZSUyMC0tYnVpbGQlMjAuJTIwLS1jb25maWclMjBSZWxlYXNlJTBBcGlwJTIwaW5zdGFsbCUyMC1lJTIwLiUyMCUyMCUyMCUyMyUyMCU2MC1lJTYwJTIwZm9yJTIwJTIyZWRpdGFibGUlMjIlMjBpbnN0YWxsJTJDJTIwd2hlbiUyMGRldmVsb3BpbmclMjBCTkIlMjAob3RoZXJ3aXNlJTIwbGVhdmUlMjB0aGF0JTIwb3V0KQ==",highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/TimDettmers/bitsandbytes.git && <span class="hljs-built_in">cd</span> bitsandbytes/ | |
| pip install -r requirements-dev.txt | |
| cmake -DCOMPUTE_BACKEND=cuda -S . | |
| cmake --build . --config Release | |
| pip install -e . <span class="hljs-comment"># \`-e\` for "editable" install, when developing BNB (otherwise leave that out)</span>`,wrap:!1}}),{c(){e=U("p"),e.textContent=a,l=M(),i=U("p"),i.innerHTML=o,r=M(),f=U("p"),f.textContent=d,u=M(),p=U("table"),p.innerHTML=y,j=M(),v($.$$.fragment),k=M(),x=U("p"),x.innerHTML=N},l(w){e=T(w,"P",{"data-svelte-h":!0}),J(e)!=="svelte-1ngyk0s"&&(e.textContent=a),l=h(w),i=T(w,"P",{"data-svelte-h":!0}),J(i)!=="svelte-9zb6iz"&&(i.innerHTML=o),r=h(w),f=T(w,"P",{"data-svelte-h":!0}),J(f)!=="svelte-1agbdv5"&&(f.textContent=d),u=h(w),p=T(w,"TABLE",{"data-svelte-h":!0}),J(p)!=="svelte-1nj7txn"&&(p.innerHTML=y),j=h(w),_($.$$.fragment,w),k=h(w),x=T(w,"P",{"data-svelte-h":!0}),J(x)!=="svelte-e0ivb"&&(x.innerHTML=N)},m(w,B){s(w,e,B),s(w,l,B),s(w,i,B),s(w,r,B),s(w,f,B),s(w,u,B),s(w,p,B),s(w,j,B),R($,w,B),s(w,k,B),s(w,x,B),W=!0},p:A,i(w){W||(C($.$$.fragment,w),W=!0)},o(w){g($.$$.fragment,w),W=!1},d(w){w&&(n(e),n(l),n(i),n(r),n(f),n(u),n(p),n(j),n(k),n(x)),G($,w)}}}function ze(c){let e,a,l,i;return e=new $t({props:{id:"source",option:"Linux",$$slots:{default:[Qe]},$$scope:{ctx:c}}}),l=new $t({props:{id:"source",option:"Windows",$$slots:{default:[Fe]},$$scope:{ctx:c}}}),{c(){v(e.$$.fragment),a=M(),v(l.$$.fragment)},l(o){_(e.$$.fragment,o),a=h(o),_(l.$$.fragment,o)},m(o,r){R(e,o,r),s(o,a,r),R(l,o,r),i=!0},p(o,r){const f={};r&2&&(f.$$scope={dirty:r,ctx:o}),e.$set(f);const d={};r&2&&(d.$$scope={dirty:r,ctx:o}),l.$set(d)},i(o){i||(C(e.$$.fragment,o),C(l.$$.fragment,o),i=!0)},o(o){g(e.$$.fragment,o),g(l.$$.fragment,o),i=!1},d(o){o&&n(a),G(e,o),G(l,o)}}}function Oe(c){let e,a="It is recommended to add the following lines to the <code>.bashrc</code> file to make them permanent.";return{c(){e=U("p"),e.innerHTML=a},l(l){e=T(l,"P",{"data-svelte-h":!0}),J(e)!=="svelte-143buxs"&&(e.innerHTML=a)},m(l,i){s(l,e,i)},p:A,d(l){l&&n(e)}}}function qe(c){let e,a="This functionality is currently in preview and therefore not yet production-ready!";return{c(){e=U("p"),e.textContent=a},l(l){e=T(l,"P",{"data-svelte-h":!0}),J(e)!=="svelte-9j6ao6"&&(e.textContent=a)},m(l,i){s(l,e,i)},p:A,d(l){l&&n(e)}}}function Ke(c){let e,a='If you would like to install ROCm and PyTorch on bare metal, skip Docker steps and refer to our official guides at <a href="https://rocm.docs.amd.com/projects/install-on-linux/en/latest/tutorial/install-overview.html#rocm-install-overview" rel="nofollow">ROCm installation overview</a> and <a href="https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/3rd-party/pytorch-install.html#using-wheels-package" rel="nofollow">Installing PyTorch for ROCm</a> (Step 3 of wheels build for quick installation). Please make sure to get PyTorch wheel for the installed ROCm version.';return{c(){e=U("p"),e.innerHTML=a},l(l){e=T(l,"P",{"data-svelte-h":!0}),J(e)!=="svelte-nhpkpp"&&(e.innerHTML=a)},m(l,i){s(l,e,i)},p:A,d(l){l&&n(e)}}}function tl(c){let e,a,l,i="bitsandbytes is fully supported from ROCm 6.1 onwards (currently in alpha release).",o,r,f,d,u;return e=new Z({props:{title:"AMD GPU",local:"amd-gpu",headingTag:"h4"}}),r=new Mt({props:{warning:!1,$$slots:{default:[Ke]},$$scope:{ctx:c}}}),d=new V({props:{code:"JTIzJTIwQ3JlYXRlJTIwYSUyMGRvY2tlciUyMGNvbnRhaW5lciUyMHdpdGglMjBsYXRlc3QlMjBST0NtJTIwaW1hZ2UlMkMlMjB3aGljaCUyMGluY2x1ZGVzJTIwUk9DbSUyMGxpYnJhcmllcyUwQWRvY2tlciUyMHB1bGwlMjByb2NtJTJGZGV2LXVidW50dS0yMi4wNCUzQTYuMS4yLWNvbXBsZXRlJTBBZG9ja2VyJTIwcnVuJTIwLWl0JTIwLS1kZXZpY2UlM0QlMkZkZXYlMkZrZmQlMjAtLWRldmljZSUzRCUyRmRldiUyRmRyaSUyMC0tZ3JvdXAtYWRkJTIwdmlkZW8lMjByb2NtJTJGZGV2LXVidW50dS0yMi4wNCUzQTYuMS4yLWNvbXBsZXRlJTBBYXB0LWdldCUyMHVwZGF0ZSUyMCUyNiUyNiUyMGFwdC1nZXQlMjBpbnN0YWxsJTIwLXklMjBnaXQlMjAlMjYlMjYlMjBjZCUyMGhvbWUlMEElMEElMjMlMjBJbnN0YWxsJTIwcHl0b3JjaCUyMGNvbXBhdGlibGUlMjB3aXRoJTIwYWJvdmUlMjBST0NtJTIwdmVyc2lvbiUwQXBpcCUyMGluc3RhbGwlMjB0b3JjaCUyMC0taW5kZXgtdXJsJTIwaHR0cHMlM0ElMkYlMkZkb3dubG9hZC5weXRvcmNoLm9yZyUyRndobCUyRnJvY202LjElMkYlMEElMEElMjMlMjBJbnN0YWxsJTIwYml0c2FuZGJ5dGVzJTIwZnJvbSUyMFB5UEklMEElMjMlMjAoVGhpcyUyMGlzJTIwc3VwcG9ydGVkJTIwb24lMjBVYnVudHUlMjAyMi4wNCUyQyUyMFB5dGhvbiUyMDMuMTAlMkMlMjBST0NtJTIwNi4xLjAlMkY2LjEuMSUyRjYuMS4yJTJGNi4yLjAlMjBhbmQlMjBncHUlMjBhcmNoJTIwLSUyMGdmeDkwYSUyQyUyMGdmeDk0MiUyQyUyMGdmeDExMDAlMEElMjMlMjBQbGVhc2UlMjBpbnN0YWxsJTIwZnJvbSUyMHNvdXJjZSUyMGlmJTIweW91ciUyMGNvbmZpZ3VyYXRpb24lMjBkb2Vzbid0JTIwbWF0Y2glMjB3aXRoJTIwdGhlc2UpJTBBcGlwJTIwaW5zdGFsbCUyMGJpdHNhbmRieXRlcyUwQSUwQSUyMyUyMEluc3RhbGwlMjBiaXRzYW5kYnl0ZXMlMjBmcm9tJTIwc291cmNlJTBBJTIzJTIwQ2xvbmUlMjBiaXRzYW5kYnl0ZXMlMjByZXBvJTJDJTIwUk9DbSUyMGJhY2tlbmQlMjBpcyUyMGN1cnJlbnRseSUyMGVuYWJsZWQlMjBvbiUyMG11bHRpLWJhY2tlbmQtcmVmYWN0b3IlMjBicmFuY2glMEFnaXQlMjBjbG9uZSUyMC0tZGVwdGglMjAxJTIwLWIlMjBtdWx0aS1iYWNrZW5kLXJlZmFjdG9yJTIwaHR0cHMlM0ElMkYlMkZnaXRodWIuY29tJTJGYml0c2FuZGJ5dGVzLWZvdW5kYXRpb24lMkZiaXRzYW5kYnl0ZXMuZ2l0JTIwJTI2JTI2JTIwY2QlMjBiaXRzYW5kYnl0ZXMlMkYlMEElMEElMjMlMjBJbnN0YWxsJTIwZGVwZW5kZW5jaWVzJTBBcGlwJTIwaW5zdGFsbCUyMC1yJTIwcmVxdWlyZW1lbnRzLWRldi50eHQlMEElMEElMjMlMjBDb21waWxlJTIwJTI2JTIwaW5zdGFsbCUwQWFwdC1nZXQlMjBpbnN0YWxsJTIwLXklMjBidWlsZC1lc3NlbnRpYWwlMjBjbWFrZSUyMCUyMCUyMyUyMGluc3RhbGwlMjBidWlsZCUyMHRvb2xzJTIwZGVwZW5kZW5jaWVzJTJDJTIwdW5sZXNzJTIwcHJlc2VudCUwQWNtYWtlJTIwLURDT01QVVRFX0JBQ0tFTkQlM0RoaXAlMjAtUyUyMC4lMjAlMjAlMjMlMjBVc2UlMjAtREJOQl9ST0NNX0FSQ0glM0QlMjJnZng5MGElM0JnZng5NDIlMjIlMjB0byUyMHRhcmdldCUyMHNwZWNpZmljJTIwZ3B1JTIwYXJjaCUwQW1ha2UlMEFwaXAlMjBpbnN0YWxsJTIwLWUlMjAuJTIwJTIwJTIwJTIzJTIwJTYwLWUlNjAlMjBmb3IlMjAlMjJlZGl0YWJsZSUyMiUyMGluc3RhbGwlMkMlMjB3aGVuJTIwZGV2ZWxvcGluZyUyMEJOQiUyMChvdGhlcndpc2UlMjBsZWF2ZSUyMHRoYXQlMjBvdXQp",highlighted:`<span class="hljs-comment"># Create a docker container with latest ROCm image, which includes ROCm libraries</span> | |
| docker pull rocm/dev-ubuntu-22.04:6.1.2-complete | |
| docker run -it --device=/dev/kfd --device=/dev/dri --group-add video rocm/dev-ubuntu-22.04:6.1.2-complete | |
| apt-get update && apt-get install -y git && <span class="hljs-built_in">cd</span> home | |
| <span class="hljs-comment"># Install pytorch compatible with above ROCm version</span> | |
| pip install torch --index-url https://download.pytorch.org/whl/rocm6.1/ | |
| <span class="hljs-comment"># Install bitsandbytes from PyPI</span> | |
| <span class="hljs-comment"># (This is supported on Ubuntu 22.04, Python 3.10, ROCm 6.1.0/6.1.1/6.1.2/6.2.0 and gpu arch - gfx90a, gfx942, gfx1100</span> | |
| <span class="hljs-comment"># Please install from source if your configuration doesn't match with these)</span> | |
| pip install bitsandbytes | |
| <span class="hljs-comment"># Install bitsandbytes from source</span> | |
| <span class="hljs-comment"># Clone bitsandbytes repo, ROCm backend is currently enabled on multi-backend-refactor branch</span> | |
| git <span class="hljs-built_in">clone</span> --depth 1 -b multi-backend-refactor https://github.com/bitsandbytes-foundation/bitsandbytes.git && <span class="hljs-built_in">cd</span> bitsandbytes/ | |
| <span class="hljs-comment"># Install dependencies</span> | |
| pip install -r requirements-dev.txt | |
| <span class="hljs-comment"># Compile & install</span> | |
| apt-get install -y build-essential cmake <span class="hljs-comment"># install build tools dependencies, unless present</span> | |
| cmake -DCOMPUTE_BACKEND=hip -S . <span class="hljs-comment"># Use -DBNB_ROCM_ARCH="gfx90a;gfx942" to target specific gpu arch</span> | |
| make | |
| pip install -e . <span class="hljs-comment"># \`-e\` for "editable" install, when developing BNB (otherwise leave that out)</span>`,wrap:!1}}),{c(){v(e.$$.fragment),a=M(),l=U("p"),l.textContent=i,o=M(),v(r.$$.fragment),f=M(),v(d.$$.fragment)},l(p){_(e.$$.fragment,p),a=h(p),l=T(p,"P",{"data-svelte-h":!0}),J(l)!=="svelte-1fw7vjl"&&(l.textContent=i),o=h(p),_(r.$$.fragment,p),f=h(p),_(d.$$.fragment,p)},m(p,y){R(e,p,y),s(p,a,y),s(p,l,y),s(p,o,y),R(r,p,y),s(p,f,y),R(d,p,y),u=!0},p(p,y){const j={};y&2&&(j.$$scope={dirty:y,ctx:p}),r.$set(j)},i(p){u||(C(e.$$.fragment,p),C(r.$$.fragment,p),C(d.$$.fragment,p),u=!0)},o(p){g(e.$$.fragment,p),g(r.$$.fragment,p),g(d.$$.fragment,p),u=!1},d(p){p&&(n(a),n(l),n(o),n(f)),G(e,p),G(r,p),G(d,p)}}}function el(c){let e,a="Intel CPU backend only supports building from source; for now, please follow the instructions below.";return{c(){e=U("p"),e.textContent=a},l(l){e=T(l,"P",{"data-svelte-h":!0}),J(e)!=="svelte-11im0db"&&(e.textContent=a)},m(l,i){s(l,e,i)},p:A,d(l){l&&n(e)}}}function ll(c){let e,a,l,i,o,r="Similar to the CUDA case, you can compile bitsandbytes from source for Linux and Windows systems.",f,d,u='The below commands are for Linux. For installing on Windows, please adapt the below commands according to the same pattern as described <a href="#compile">the section above on compiling from source under the Windows tab</a>.',p,y,j;return e=new Z({props:{title:"Intel CPU",local:"intel-cpu",headingTag:"h4"}}),l=new Mt({props:{warning:!1,$$slots:{default:[el]},$$scope:{ctx:c}}}),y=new V({props:{code:"Z2l0JTIwY2xvbmUlMjAtLWRlcHRoJTIwMSUyMC1iJTIwbXVsdGktYmFja2VuZC1yZWZhY3RvciUyMGh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRlRpbURldHRtZXJzJTJGYml0c2FuZGJ5dGVzLmdpdCUyMCUyNiUyNiUyMGNkJTIwYml0c2FuZGJ5dGVzJTJGJTBBcGlwJTIwaW5zdGFsbCUyMGludGVsX2V4dGVuc2lvbl9mb3JfcHl0b3JjaCUwQXBpcCUyMGluc3RhbGwlMjAtciUyMHJlcXVpcmVtZW50cy1kZXYudHh0JTBBY21ha2UlMjAtRENPTVBVVEVfQkFDS0VORCUzRGNwdSUyMC1TJTIwLiUwQW1ha2UlMEFwaXAlMjBpbnN0YWxsJTIwLWUlMjAuJTIwJTIwJTIwJTIzJTIwJTYwLWUlNjAlMjBmb3IlMjAlMjJlZGl0YWJsZSUyMiUyMGluc3RhbGwlMkMlMjB3aGVuJTIwZGV2ZWxvcGluZyUyMEJOQiUyMChvdGhlcndpc2UlMjBsZWF2ZSUyMHRoYXQlMjBvdXQp",highlighted:`git clone --depth <span class="hljs-number">1</span> -b multi-backend-refactor https:<span class="hljs-regexp">//gi</span>thub.com<span class="hljs-regexp">/TimDettmers/</span>bitsandbytes.git && cd bitsandbytes/ | |
| pip install intel_extension_for_pytorch | |
| pip install -r requirements-dev.txt | |
| cmake -DCOMPUTE_BACKEND=cpu -S . | |
| make | |
| pip install -e . <span class="hljs-comment"># \`-e\` for "editable" install, when developing BNB (otherwise leave that out)</span>`,wrap:!1}}),{c(){v(e.$$.fragment),a=M(),v(l.$$.fragment),i=M(),o=U("p"),o.textContent=r,f=M(),d=U("p"),d.innerHTML=u,p=M(),v(y.$$.fragment)},l($){_(e.$$.fragment,$),a=h($),_(l.$$.fragment,$),i=h($),o=T($,"P",{"data-svelte-h":!0}),J(o)!=="svelte-xkgho"&&(o.textContent=r),f=h($),d=T($,"P",{"data-svelte-h":!0}),J(d)!=="svelte-1k0m04z"&&(d.innerHTML=u),p=h($),_(y.$$.fragment,$)},m($,k){R(e,$,k),s($,a,k),R(l,$,k),s($,i,k),s($,o,k),s($,f,k),s($,d,k),s($,p,k),R(y,$,k),j=!0},p($,k){const x={};k&2&&(x.$$scope={dirty:k,ctx:$}),l.$set(x)},i($){j||(C(e.$$.fragment,$),C(l.$$.fragment,$),C(y.$$.fragment,$),j=!0)},o($){g(e.$$.fragment,$),g(l.$$.fragment,$),g(y.$$.fragment,$),j=!1},d($){$&&(n(a),n(i),n(o),n(f),n(d),n(p)),G(e,$),G(l,$),G(y,$)}}}function nl(c){let e,a,l,i="WIP",o;return e=new Z({props:{title:"Apple Silicon",local:"apple-silicon",headingTag:"h4"}}),{c(){v(e.$$.fragment),a=M(),l=U("p"),l.textContent=i},l(r){_(e.$$.fragment,r),a=h(r),l=T(r,"P",{"data-svelte-h":!0}),J(l)!=="svelte-1kg89us"&&(l.textContent=i)},m(r,f){R(e,r,f),s(r,a,f),s(r,l,f),o=!0},p:A,i(r){o||(C(e.$$.fragment,r),o=!0)},o(r){g(e.$$.fragment,r),o=!1},d(r){r&&(n(a),n(l)),G(e,r)}}}function sl(c){let e,a,l,i,o,r;return e=new $t({props:{id:"backend",option:"AMD ROCm",$$slots:{default:[tl]},$$scope:{ctx:c}}}),l=new $t({props:{id:"backend",option:"Intel CPU + GPU",$$slots:{default:[ll]},$$scope:{ctx:c}}}),o=new $t({props:{id:"backend",option:"Apple Silicon (MPS)",$$slots:{default:[nl]},$$scope:{ctx:c}}}),{c(){v(e.$$.fragment),a=M(),v(l.$$.fragment),i=M(),v(o.$$.fragment)},l(f){_(e.$$.fragment,f),a=h(f),_(l.$$.fragment,f),i=h(f),_(o.$$.fragment,f)},m(f,d){R(e,f,d),s(f,a,d),R(l,f,d),s(f,i,d),R(o,f,d),r=!0},p(f,d){const u={};d&2&&(u.$$scope={dirty:d,ctx:f}),e.$set(u);const p={};d&2&&(p.$$scope={dirty:d,ctx:f}),l.$set(p);const y={};d&2&&(y.$$scope={dirty:d,ctx:f}),o.$set(y)},i(f){r||(C(e.$$.fragment,f),C(l.$$.fragment,f),C(o.$$.fragment,f),r=!0)},o(f){g(e.$$.fragment,f),g(l.$$.fragment,f),g(o.$$.fragment,f),r=!1},d(f){f&&(n(a),n(i)),G(e,f),G(l,f),G(o,f)}}}function il(c){let e,a,l,i,o,r,f,d,u,p='bitsandbytes is only supported on CUDA GPUs for CUDA versions <strong>11.0 - 12.5</strong>. However, there’s a multi-backend effort under way which is currently in alpha release, check <a href="#multi-backend">the respective section below in case you’re interested to help us with early feedback</a>.',y,j,$="The latest version of bitsandbytes builds on:",k,x,N="<thead><tr><th>OS</th> <th>CUDA</th> <th>Compiler</th></tr></thead> <tbody><tr><td>Linux</td> <td>11.7 - 12.3</td> <td>GCC 11.4</td></tr> <tr><td></td> <td>12.4+</td> <td>GCC 13.2</td></tr> <tr><td>Windows</td> <td>11.7 - 12.4</td> <td>MSVC 19.38+ (VS2022 17.8.0+)</td></tr></tbody>",W,w,B,E,F="For Linux systems, make sure your hardware meets the following requirements to use bitsandbytes features.",b,I,ht="<thead><tr><th><strong>Feature</strong></th> <th><strong>Hardware requirement</strong></th></tr></thead> <tbody><tr><td>LLM.int8()</td> <td>NVIDIA Turing (RTX 20 series, T4) or Ampere (RTX 30 series, A4-A100) GPUs</td></tr> <tr><td>8-bit optimizers/quantization</td> <td>NVIDIA Kepler (GTX 780 or newer)</td></tr></tbody>",Ut,L,Tt,z,te="To install from PyPI.",Ct,O,gt,q,Jt,K,ee="For Linux and Windows systems, you can compile bitsandbytes from source. Installing from source allows for more build options with different CMake configurations.",jt,S,vt,tt,_t,et,le="Some bitsandbytes features may need a newer CUDA version than the one currently supported by PyTorch binaries from Conda and pip. In this case, you should follow these instructions to load a precompiled bitsandbytes binary.",Rt,lt,ne="<li>Determine the path of the CUDA version you want to use. Common paths include:</li>",Gt,nt,se="<li><code>/usr/local/cuda</code></li> <li><code>/usr/local/cuda-XX.X</code> where <code>XX.X</code> is the CUDA version number</li>",kt,st,ie="Then locally install the CUDA version you need with this script from bitsandbytes:",xt,it,It,Y,ae="<li>Set the environment variables <code>BNB_CUDA_VERSION</code> and <code>LD_LIBRARY_PATH</code> by manually overriding the CUDA version installed by PyTorch.</li>",Bt,X,Et,at,Wt,ot,oe="For example, to use a local install path:",Zt,rt,Vt,D,re="<li>Now when you launch bitsandbytes with these environment variables, the PyTorch CUDA version is overridden by the new CUDA version (in this example, version 11.7) and a different bitsandbytes library is loaded.</li>",At,pt,Nt,H,Lt,mt,pe="Please follow these steps to install bitsandbytes with device-specific backend support other than CUDA:",St,ft,Yt,ut,me="WIP (will be added in the coming days)",Xt,dt,Dt,P,Ht,ct,Pt,yt,Qt;return o=new Z({props:{title:"Installation",local:"installation",headingTag:"h1"}}),f=new Z({props:{title:"CUDA",local:"cuda",headingTag:"h2"}}),w=new Mt({props:{warning:!1,$$slots:{default:[De]},$$scope:{ctx:c}}}),L=new Mt({props:{warning:!0,$$slots:{default:[He]},$$scope:{ctx:c}}}),O=new V({props:{code:"cGlwJTIwaW5zdGFsbCUyMGJpdHNhbmRieXRlcw==",highlighted:"pip install bitsandbytes",wrap:!1}}),q=new Z({props:{title:"Compile from source",local:"compile",headingTag:"h3"}}),S=new Ue({props:{id:"source",options:["Linux","Windows"],$$slots:{default:[ze]},$$scope:{ctx:c}}}),tt=new Z({props:{title:"PyTorch CUDA versions",local:"pytorch-cuda-versions",headingTag:"h3"}}),it=new V({props:{code:"d2dldCUyMGh0dHBzJTNBJTJGJTJGcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSUyRlRpbURldHRtZXJzJTJGYml0c2FuZGJ5dGVzJTJGbWFpbiUyRmluc3RhbGxfY3VkYS5zaCUwQSUyMyUyMFN5bnRheCUyMGN1ZGFfaW5zdGFsbCUyMENVREFfVkVSU0lPTiUyMElOU1RBTExfUFJFRklYJTIwRVhQT1JUX1RPX0JBU0glMEElMjMlMjAlMjAlMjBDVURBX1ZFUlNJT04lMjBpbiUyMCU3QjExMCUyQyUyMDExMSUyQyUyMDExMiUyQyUyMDExMyUyQyUyMDExNCUyQyUyMDExNSUyQyUyMDExNiUyQyUyMDExNyUyQyUyMDExOCUyQyUyMDEyMCUyQyUyMDEyMSUyQyUyMDEyMiUyQyUyMDEyMyUyQyUyMDEyNCUyQyUyMDEyNSU3RCUwQSUyMyUyMCUyMCUyMEVYUE9SVF9UT19CQVNIJTIwaW4lMjAlN0IwJTJDJTIwMSU3RCUyMHdpdGglMjAwJTNERmFsc2UlMjBhbmQlMjAxJTNEVHJ1ZSUwQSUwQSUyMyUyMEZvciUyMGV4YW1wbGUlMkMlMjB0aGUlMjBmb2xsb3dpbmclMjBpbnN0YWxscyUyMENVREElMjAxMS43JTIwdG8lMjB+JTJGbG9jYWwlMkZjdWRhLTExLjclMjBhbmQlMjBleHBvcnRzJTIwdGhlJTIwcGF0aCUyMHRvJTIweW91ciUyMC5iYXNocmMlMEElMEFiYXNoJTIwaW5zdGFsbF9jdWRhLnNoJTIwMTE3JTIwfiUyRmxvY2FsJTIwMQ==",highlighted:`wget https://raw.githubusercontent.com/TimDettmers/bitsandbytes/main/install_cuda.sh | |
| <span class="hljs-comment"># Syntax cuda_install CUDA_VERSION INSTALL_PREFIX EXPORT_TO_BASH</span> | |
| <span class="hljs-comment"># CUDA_VERSION in {110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125}</span> | |
| <span class="hljs-comment"># EXPORT_TO_BASH in {0, 1} with 0=False and 1=True</span> | |
| <span class="hljs-comment"># For example, the following installs CUDA 11.7 to ~/local/cuda-11.7 and exports the path to your .bashrc</span> | |
| bash install_cuda.sh 117 ~/local 1`,wrap:!1}}),X=new Mt({props:{warning:!1,$$slots:{default:[Oe]},$$scope:{ctx:c}}}),at=new V({props:{code:"ZXhwb3J0JTIwQk5CX0NVREFfVkVSU0lPTiUzRCUzQ1ZFUlNJT04lM0UlMEFleHBvcnQlMjBMRF9MSUJSQVJZX1BBVEglM0QlMjRMRF9MSUJSQVJZX1BBVEglM0ElM0NQQVRIJTNF",highlighted:`<span class="hljs-built_in">export</span> BNB_CUDA_VERSION=<VERSION> | |
| <span class="hljs-built_in">export</span> LD_LIBRARY_PATH=<span class="hljs-variable">$LD_LIBRARY_PATH</span>:<PATH>`,wrap:!1}}),rt=new V({props:{code:"ZXhwb3J0JTIwQk5CX0NVREFfVkVSU0lPTiUzRDExNyUwQWV4cG9ydCUyMExEX0xJQlJBUllfUEFUSCUzRCUyNExEX0xJQlJBUllfUEFUSCUzQSUyRmhvbWUlMkZZT1VSX1VTRVJOQU1FJTJGbG9jYWwlMkZjdWRhLTExLjc=",highlighted:`<span class="hljs-built_in">export</span> BNB_CUDA_VERSION=117 | |
| <span class="hljs-built_in">export</span> LD_LIBRARY_PATH=<span class="hljs-variable">$LD_LIBRARY_PATH</span>:/home/YOUR_USERNAME/local/cuda-11.7`,wrap:!1}}),pt=new Z({props:{title:"Multi-backend",local:"multi-backend",headingTag:"h2"}}),H=new Mt({props:{warning:!1,$$slots:{default:[qe]},$$scope:{ctx:c}}}),ft=new Z({props:{title:"Pip install the pre-built wheel (recommended for most)",local:"pip-install-the-pre-built-wheel-recommended-for-most",headingTag:"h3"}}),dt=new Z({props:{title:"Compilation",local:"compilation",headingTag:"h3"}}),P=new Ue({props:{id:"backend",options:["AMD ROCm","Intel CPU + GPU","Apple Silicon (MPS)"],$$slots:{default:[sl]},$$scope:{ctx:c}}}),ct=new Ze({props:{source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/docs/source/installation.mdx"}}),{c(){e=U("meta"),a=M(),l=U("p"),i=M(),v(o.$$.fragment),r=M(),v(f.$$.fragment),d=M(),u=U("p"),u.innerHTML=p,y=M(),j=U("p"),j.textContent=$,k=M(),x=U("table"),x.innerHTML=N,W=M(),v(w.$$.fragment),B=M(),E=U("p"),E.textContent=F,b=M(),I=U("table"),I.innerHTML=ht,Ut=M(),v(L.$$.fragment),Tt=M(),z=U("p"),z.textContent=te,Ct=M(),v(O.$$.fragment),gt=M(),v(q.$$.fragment),Jt=M(),K=U("p"),K.textContent=ee,jt=M(),v(S.$$.fragment),vt=M(),v(tt.$$.fragment),_t=M(),et=U("p"),et.textContent=le,Rt=M(),lt=U("ol"),lt.innerHTML=ne,Gt=M(),nt=U("ul"),nt.innerHTML=se,kt=M(),st=U("p"),st.textContent=ie,xt=M(),v(it.$$.fragment),It=M(),Y=U("ol"),Y.innerHTML=ae,Bt=M(),v(X.$$.fragment),Et=M(),v(at.$$.fragment),Wt=M(),ot=U("p"),ot.textContent=oe,Zt=M(),v(rt.$$.fragment),Vt=M(),D=U("ol"),D.innerHTML=re,At=M(),v(pt.$$.fragment),Nt=M(),v(H.$$.fragment),Lt=M(),mt=U("p"),mt.textContent=pe,St=M(),v(ft.$$.fragment),Yt=M(),ut=U("p"),ut.textContent=me,Xt=M(),v(dt.$$.fragment),Dt=M(),v(P.$$.fragment),Ht=M(),v(ct.$$.fragment),Pt=M(),yt=U("p"),this.h()},l(t){const m=We("svelte-u9bgzb",document.head);e=T(m,"META",{name:!0,content:!0}),m.forEach(n),a=h(t),l=T(t,"P",{}),wt(l).forEach(n),i=h(t),_(o.$$.fragment,t),r=h(t),_(f.$$.fragment,t),d=h(t),u=T(t,"P",{"data-svelte-h":!0}),J(u)!=="svelte-7byvg1"&&(u.innerHTML=p),y=h(t),j=T(t,"P",{"data-svelte-h":!0}),J(j)!=="svelte-1dpd6j"&&(j.textContent=$),k=h(t),x=T(t,"TABLE",{"data-svelte-h":!0}),J(x)!=="svelte-jwkomo"&&(x.innerHTML=N),W=h(t),_(w.$$.fragment,t),B=h(t),E=T(t,"P",{"data-svelte-h":!0}),J(E)!=="svelte-1hx87c4"&&(E.textContent=F),b=h(t),I=T(t,"TABLE",{"data-svelte-h":!0}),J(I)!=="svelte-fkifbv"&&(I.innerHTML=ht),Ut=h(t),_(L.$$.fragment,t),Tt=h(t),z=T(t,"P",{"data-svelte-h":!0}),J(z)!=="svelte-16utcew"&&(z.textContent=te),Ct=h(t),_(O.$$.fragment,t),gt=h(t),_(q.$$.fragment,t),Jt=h(t),K=T(t,"P",{"data-svelte-h":!0}),J(K)!=="svelte-wtvn8j"&&(K.textContent=ee),jt=h(t),_(S.$$.fragment,t),vt=h(t),_(tt.$$.fragment,t),_t=h(t),et=T(t,"P",{"data-svelte-h":!0}),J(et)!=="svelte-n0pdc4"&&(et.textContent=le),Rt=h(t),lt=T(t,"OL",{"data-svelte-h":!0}),J(lt)!=="svelte-w9mxyz"&&(lt.innerHTML=ne),Gt=h(t),nt=T(t,"UL",{"data-svelte-h":!0}),J(nt)!=="svelte-r36v8e"&&(nt.innerHTML=se),kt=h(t),st=T(t,"P",{"data-svelte-h":!0}),J(st)!=="svelte-1dhvzk8"&&(st.textContent=ie),xt=h(t),_(it.$$.fragment,t),It=h(t),Y=T(t,"OL",{start:!0,"data-svelte-h":!0}),J(Y)!=="svelte-y8zpl2"&&(Y.innerHTML=ae),Bt=h(t),_(X.$$.fragment,t),Et=h(t),_(at.$$.fragment,t),Wt=h(t),ot=T(t,"P",{"data-svelte-h":!0}),J(ot)!=="svelte-wx07f3"&&(ot.textContent=oe),Zt=h(t),_(rt.$$.fragment,t),Vt=h(t),D=T(t,"OL",{start:!0,"data-svelte-h":!0}),J(D)!=="svelte-lfqu8"&&(D.innerHTML=re),At=h(t),_(pt.$$.fragment,t),Nt=h(t),_(H.$$.fragment,t),Lt=h(t),mt=T(t,"P",{"data-svelte-h":!0}),J(mt)!=="svelte-y9jz2l"&&(mt.textContent=pe),St=h(t),_(ft.$$.fragment,t),Yt=h(t),ut=T(t,"P",{"data-svelte-h":!0}),J(ut)!=="svelte-w67dwe"&&(ut.textContent=me),Xt=h(t),_(dt.$$.fragment,t),Dt=h(t),_(P.$$.fragment,t),Ht=h(t),_(ct.$$.fragment,t),Pt=h(t),yt=T(t,"P",{}),wt(yt).forEach(n),this.h()},h(){Q(e,"name","hf:doc:metadata"),Q(e,"content",al),Q(Y,"start","2"),Q(D,"start","3")},m(t,m){zt(document.head,e),s(t,a,m),s(t,l,m),s(t,i,m),R(o,t,m),s(t,r,m),R(f,t,m),s(t,d,m),s(t,u,m),s(t,y,m),s(t,j,m),s(t,k,m),s(t,x,m),s(t,W,m),R(w,t,m),s(t,B,m),s(t,E,m),s(t,b,m),s(t,I,m),s(t,Ut,m),R(L,t,m),s(t,Tt,m),s(t,z,m),s(t,Ct,m),R(O,t,m),s(t,gt,m),R(q,t,m),s(t,Jt,m),s(t,K,m),s(t,jt,m),R(S,t,m),s(t,vt,m),R(tt,t,m),s(t,_t,m),s(t,et,m),s(t,Rt,m),s(t,lt,m),s(t,Gt,m),s(t,nt,m),s(t,kt,m),s(t,st,m),s(t,xt,m),R(it,t,m),s(t,It,m),s(t,Y,m),s(t,Bt,m),R(X,t,m),s(t,Et,m),R(at,t,m),s(t,Wt,m),s(t,ot,m),s(t,Zt,m),R(rt,t,m),s(t,Vt,m),s(t,D,m),s(t,At,m),R(pt,t,m),s(t,Nt,m),R(H,t,m),s(t,Lt,m),s(t,mt,m),s(t,St,m),R(ft,t,m),s(t,Yt,m),s(t,ut,m),s(t,Xt,m),R(dt,t,m),s(t,Dt,m),R(P,t,m),s(t,Ht,m),R(ct,t,m),s(t,Pt,m),s(t,yt,m),Qt=!0},p(t,[m]){const fe={};m&2&&(fe.$$scope={dirty:m,ctx:t}),w.$set(fe);const ue={};m&2&&(ue.$$scope={dirty:m,ctx:t}),L.$set(ue);const de={};m&2&&(de.$$scope={dirty:m,ctx:t}),S.$set(de);const ce={};m&2&&(ce.$$scope={dirty:m,ctx:t}),X.$set(ce);const Me={};m&2&&(Me.$$scope={dirty:m,ctx:t}),H.$set(Me);const he={};m&2&&(he.$$scope={dirty:m,ctx:t}),P.$set(he)},i(t){Qt||(C(o.$$.fragment,t),C(f.$$.fragment,t),C(w.$$.fragment,t),C(L.$$.fragment,t),C(O.$$.fragment,t),C(q.$$.fragment,t),C(S.$$.fragment,t),C(tt.$$.fragment,t),C(it.$$.fragment,t),C(X.$$.fragment,t),C(at.$$.fragment,t),C(rt.$$.fragment,t),C(pt.$$.fragment,t),C(H.$$.fragment,t),C(ft.$$.fragment,t),C(dt.$$.fragment,t),C(P.$$.fragment,t),C(ct.$$.fragment,t),Qt=!0)},o(t){g(o.$$.fragment,t),g(f.$$.fragment,t),g(w.$$.fragment,t),g(L.$$.fragment,t),g(O.$$.fragment,t),g(q.$$.fragment,t),g(S.$$.fragment,t),g(tt.$$.fragment,t),g(it.$$.fragment,t),g(X.$$.fragment,t),g(at.$$.fragment,t),g(rt.$$.fragment,t),g(pt.$$.fragment,t),g(H.$$.fragment,t),g(ft.$$.fragment,t),g(dt.$$.fragment,t),g(P.$$.fragment,t),g(ct.$$.fragment,t),Qt=!1},d(t){t&&(n(a),n(l),n(i),n(r),n(d),n(u),n(y),n(j),n(k),n(x),n(W),n(B),n(E),n(b),n(I),n(Ut),n(Tt),n(z),n(Ct),n(gt),n(Jt),n(K),n(jt),n(vt),n(_t),n(et),n(Rt),n(lt),n(Gt),n(nt),n(kt),n(st),n(xt),n(It),n(Y),n(Bt),n(Et),n(Wt),n(ot),n(Zt),n(Vt),n(D),n(At),n(Nt),n(Lt),n(mt),n(St),n(Yt),n(ut),n(Xt),n(Dt),n(Ht),n(Pt),n(yt)),n(e),G(o,t),G(f,t),G(w,t),G(L,t),G(O,t),G(q,t),G(S,t),G(tt,t),G(it,t),G(X,t),G(at,t),G(rt,t),G(pt,t),G(H,t),G(ft,t),G(dt,t),G(P,t),G(ct,t)}}}const al='{"title":"Installation","local":"installation","sections":[{"title":"CUDA","local":"cuda","sections":[{"title":"Compile from source","local":"compile","sections":[],"depth":3},{"title":"PyTorch CUDA versions","local":"pytorch-cuda-versions","sections":[],"depth":3}],"depth":2},{"title":"Multi-backend","local":"multi-backend","sections":[{"title":"Pip install the pre-built wheel (recommended for most)","local":"pip-install-the-pre-built-wheel-recommended-for-most","sections":[],"depth":3},{"title":"Compilation","local":"compilation","sections":[{"title":"AMD GPU","local":"amd-gpu","sections":[],"depth":4},{"title":"Intel CPU","local":"intel-cpu","sections":[],"depth":4},{"title":"Apple Silicon","local":"apple-silicon","sections":[],"depth":4}],"depth":3}],"depth":2}],"depth":1}';function ol(c){return _e(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ml extends qt{constructor(e){super(),Kt(this,e,ol,il,Ot,{})}}export{Ml as component}; | |
Xet Storage Details
- Size:
- 35.2 kB
- Xet hash:
- cc07854e91171c18c0db2cdc9bdfb553d7a31ebcc1122bd7b68c1fab57cbc200
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.