Buckets:
| import{s as X,n as j,o as D}from"../chunks/scheduler.f3b1e791.js";import{S as I,i as K,e as h,s as i,c as L,h as V,a as f,d as n,b as s,f as R,g as M,j as C,k as W,l as B,m as a,n as E,t as U,o as S,p as z}from"../chunks/index.023a9934.js";import{C as J}from"../chunks/CopyLLMTxtMenu.ad54ccfb.js";import{H as N,E as Q}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.5a9046c0.js";function Y(A){let l,y,g,k,r,v,o,$,u,F="Our goal with the <code>kernels</code> package is manifold:",w,d,O=`<li>Establish a standard way of structuring and building kernels. The | |
| <code>builder</code> component takes kernel source in a pre-defined layout, with | |
| a declarative build configuration, and produces compiled kernels for | |
| a wide matrix of compute backends (e.g., CUDA, ROCM, and XPU), operating | |
| systems, and architectures. The builder also enforces the reproducibility of | |
| the build environment and build steps.</li> <li>Provide a standard way of distributing and loading kernels. Kernels | |
| are distributed through the Hugging Face Hub and can be loaded through | |
| the kernels Python package. <code>kernels</code> fetches the right kernel build for | |
| the system that it runs, avoiding long local, sometimes hours-long, | |
| builds. It also supports loading of multiple versions of the same | |
| kernel, effectively eliminating “dependency hell”.</li> <li>Provide kernel builds across all supported PyTorch versions, | |
| accelerators, and capabilities. This is particularly important | |
| because local kernel builds can become unusable once the base | |
| machine learning framework (e.g., PyTorch) is updated to a recent version.</li>`,_,c,q=`Additionally, there are several advantages to hosting the pre-built | |
| kernels on the Hugging Face Hub platform:`,x,m,G=`<li>Trends — kinds of models using a kernel more than others, | |
| <a href="https://huggingface.co/spaces" rel="nofollow">applications</a> using a particular kernel, etc.</li> <li>Users immediately know if their hardware supports a kernel | |
| without having to run any installation locally.</li> <li>General features of the Hub platform: | |
| <ul><li>Seamless versioning</li> <li>Fast download and upload powered by <a href="https://huggingface.co/docs/hub/xet/index" rel="nofollow">XET</a></li> <li>Visibility into the download stats</li></ul></li>`,T,p,P,b,H;return r=new J({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),o=new N({props:{title:"Why kernels?",local:"why-kernels",headingTag:"h1"}}),p=new Q({props:{source:"https://github.com/huggingface/kernels/blob/main/docs/source/why_kernels.md"}}),{c(){l=h("meta"),y=i(),g=h("p"),k=i(),L(r.$$.fragment),v=i(),L(o.$$.fragment),$=i(),u=h("p"),u.innerHTML=F,w=i(),d=h("ul"),d.innerHTML=O,_=i(),c=h("p"),c.textContent=q,x=i(),m=h("ul"),m.innerHTML=G,T=i(),L(p.$$.fragment),P=i(),b=h("p"),this.h()},l(e){const t=V("svelte-u9bgzb",document.head);l=f(t,"META",{name:!0,content:!0}),t.forEach(n),y=s(e),g=f(e,"P",{}),R(g).forEach(n),k=s(e),M(r.$$.fragment,e),v=s(e),M(o.$$.fragment,e),$=s(e),u=f(e,"P",{"data-svelte-h":!0}),C(u)!=="svelte-lrlyn5"&&(u.innerHTML=F),w=s(e),d=f(e,"UL",{"data-svelte-h":!0}),C(d)!=="svelte-b2eusu"&&(d.innerHTML=O),_=s(e),c=f(e,"P",{"data-svelte-h":!0}),C(c)!=="svelte-1nzyvvq"&&(c.textContent=q),x=s(e),m=f(e,"UL",{"data-svelte-h":!0}),C(m)!=="svelte-1p0x3wc"&&(m.innerHTML=G),T=s(e),M(p.$$.fragment,e),P=s(e),b=f(e,"P",{}),R(b).forEach(n),this.h()},h(){W(l,"name","hf:doc:metadata"),W(l,"content",Z)},m(e,t){B(document.head,l),a(e,y,t),a(e,g,t),a(e,k,t),E(r,e,t),a(e,v,t),E(o,e,t),a(e,$,t),a(e,u,t),a(e,w,t),a(e,d,t),a(e,_,t),a(e,c,t),a(e,x,t),a(e,m,t),a(e,T,t),E(p,e,t),a(e,P,t),a(e,b,t),H=!0},p:j,i(e){H||(U(r.$$.fragment,e),U(o.$$.fragment,e),U(p.$$.fragment,e),H=!0)},o(e){S(r.$$.fragment,e),S(o.$$.fragment,e),S(p.$$.fragment,e),H=!1},d(e){e&&(n(y),n(g),n(k),n(v),n($),n(u),n(w),n(d),n(_),n(c),n(x),n(m),n(T),n(P),n(b)),n(l),z(r,e),z(o,e),z(p,e)}}}const Z='{"title":"Why kernels?","local":"why-kernels","sections":[],"depth":1}';function ee(A){return D(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ie extends I{constructor(l){super(),K(this,l,ee,Y,X,{})}}export{ie as component}; | |
Xet Storage Details
- Size:
- 4.17 kB
- Xet hash:
- 0599ea3dcd96de584eba50e984f9e5470be3ea810620f13e910bfadb4030b45c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.