Buckets:

HuggingFaceDocBuilder's picture
download
raw
12.1 kB
import{s as we,n as je,o as ge}from"../chunks/scheduler.f3b1e791.js";import{S as ve,i as _e,e as r,s,c as o,h as $e,a as i,d as n,b as a,f as Je,g as p,j as m,k as Te,l as Be,m as t,n as c,t as d,o as h,p as u}from"../chunks/index.023a9934.js";import{C as Ze}from"../chunks/CopyLLMTxtMenu.c780467c.js";import{C as ie}from"../chunks/CodeBlock.fc650646.js";import{H as oe,E as Ie}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.fb377ec3.js";function Ue(pe){let k,X,W,H,f,F,M,L,y,R,b,me='Here is how you would use the <a href="https://huggingface.co/kernels-community/activation" rel="nofollow">activation</a> kernels from the Hugging Face Hub:',Y,J,z,T,ce=`This fetches version <code>1</code> of the kernel <code>kernels-community/activation</code>.
Kernels are versioned using a major version number. Using <code>version=1</code> will
get the latest kernel build from the <code>v1</code> branch.`,N,w,de=`Kernels within a version branch must never break the API or remove builds
for older PyTorch versions. This ensures that your code will continue to work.`,Q,j,he="Hub kernels must be loaded with either a <code>version</code> or an explicit <code>revision</code>.",S,g,q,v,ue=`You can check if a particular version of a kernel supports the environment
that the program is running on:`,K,_,A,$,ke=`When no compatible kernel is found, <a href="/docs/kernels/pr_607/en/api/kernels#kernels.has_kernel">has_kernel()</a> does not say <em>why</em>.
<a href="/docs/kernels/pr_607/en/api/kernels#kernels.get_kernel_variants">get_kernel_variants()</a> returns the full resolution trace instead: one
decision per build variant in the repository, with compatible variants listed
first. Each decision is a <code>VariantAccepted</code> or a <code>VariantRejected</code>, and rejected
variants carry a human-readable <code>reason</code>:`,P,B,D,Z,O,I,fe=`<a href="/docs/kernels/pr_607/en/api/kernels#kernels.get_loaded_kernels">get_loaded_kernels()</a> returns a snapshot of every kernel that has been loaded
into the current process. Each entry is a <a href="/docs/kernels/pr_607/en/api/kernels#kernels.LoadedKernel">LoadedKernel</a> namedtuple with the
imported <code>module</code>, the <code>package_name</code>, and <code>repo_infos</code> (repo id, resolved
revision, and the backend argument that was passed).`,ee,U,le,C,Me=`<code>repo_infos</code> is populated only for kernels loaded with <a href="/docs/kernels/pr_607/en/api/kernels#kernels.get_kernel">get_kernel()</a>. Kernels
loaded from a local path (<a href="/docs/kernels/pr_607/en/api/kernels#kernels.get_local_kernel">get_local_kernel()</a>) or via a lockfile
(<a href="/docs/kernels/pr_607/en/api/kernels#kernels.get_locked_kernel">get_locked_kernel()</a>, <a href="/docs/kernels/pr_607/en/api/kernels#kernels.load_kernel">load_kernel()</a>) have <code>repo_infos=None</code>.`,ne,x,ye='Browse through different kernels compatible with <code>kernels</code> from <a href="https://huggingface.co/kernels" rel="nofollow">here</a>.',te,E,be='A kernel can provide layers in addition to kernel functions. Refer to <a href="./layers">Layers</a> to know more.',se,V,ae,G,re;return f=new Ze({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),M=new oe({props:{title:"Quickstart",local:"quickstart",headingTag:"h1"}}),y=new oe({props:{title:"Loading Kernels",local:"loading-kernels",headingTag:"h2"}}),J=new ie({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwa2VybmVscyUyMGltcG9ydCUyMGdldF9rZXJuZWwlMEElMEElMjMlMjBEb3dubG9hZCUyMG9wdGltaXplZCUyMGtlcm5lbHMlMjBmcm9tJTIwdGhlJTIwSHVnZ2luZyUyMEZhY2UlMjBodWIlMEFhY3RpdmF0aW9uJTIwJTNEJTIwZ2V0X2tlcm5lbCglMjJrZXJuZWxzLWNvbW11bml0eSUyRmFjdGl2YXRpb24lMjIlMkMlMjB2ZXJzaW9uJTNEMSklMEElMEElMjMlMjBDcmVhdGUlMjBhJTIwcmFuZG9tJTIwdGVuc29yJTBBeCUyMCUzRCUyMHRvcmNoLnJhbmRuKCgxMCUyQyUyMDEwKSUyQyUyMGR0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUyMGRldmljZSUzRCUyMmN1ZGElMjIpJTBBJTBBJTIzJTIwUnVuJTIwdGhlJTIwa2VybmVsJTBBeSUyMCUzRCUyMHRvcmNoLmVtcHR5X2xpa2UoeCklMEFhY3RpdmF0aW9uLmdlbHVfZmFzdCh5JTJDJTIweCklMEElMEFwcmludCh5KQ==",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> kernels <span class="hljs-keyword">import</span> get_kernel
<span class="hljs-comment"># Download optimized kernels from the Hugging Face hub</span>
activation = get_kernel(<span class="hljs-string">&quot;kernels-community/activation&quot;</span>, version=<span class="hljs-number">1</span>)
<span class="hljs-comment"># Create a random tensor</span>
x = torch.randn((<span class="hljs-number">10</span>, <span class="hljs-number">10</span>), dtype=torch.float16, device=<span class="hljs-string">&quot;cuda&quot;</span>)
<span class="hljs-comment"># Run the kernel</span>
y = torch.empty_like(x)
activation.gelu_fast(y, x)
<span class="hljs-built_in">print</span>(y)`,lang:"python",wrap:!1}}),g=new oe({props:{title:"Checking Kernel Availability",local:"checking-kernel-availability",headingTag:"h2"}}),_=new ie({props:{code:"ZnJvbSUyMGtlcm5lbHMlMjBpbXBvcnQlMjBoYXNfa2VybmVsJTBBJTBBJTIzJTIwQ2hlY2slMjBpZiUyMGtlcm5lbCUyMGlzJTIwYXZhaWxhYmxlJTIwZm9yJTIwY3VycmVudCUyMGVudmlyb25tZW50JTBBaXNfYXZhaWxhYmxlJTIwJTNEJTIwaGFzX2tlcm5lbCglMjJrZXJuZWxzLWNvbW11bml0eSUyRmFjdGl2YXRpb24lMjIlMkMlMjB2ZXJzaW9uJTNEMSklMEFwcmludChmJTIyS2VybmVsJTIwYXZhaWxhYmxlJTNBJTIwJTdCaXNfYXZhaWxhYmxlJTdEJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> kernels <span class="hljs-keyword">import</span> has_kernel
<span class="hljs-comment"># Check if kernel is available for current environment</span>
is_available = has_kernel(<span class="hljs-string">&quot;kernels-community/activation&quot;</span>, version=<span class="hljs-number">1</span>)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Kernel available: <span class="hljs-subst">{is_available}</span>&quot;</span>)`,lang:"python",wrap:!1}}),B=new ie({props:{code:"ZnJvbSUyMGtlcm5lbHMlMjBpbXBvcnQlMjBnZXRfa2VybmVsX3ZhcmlhbnRzJTJDJTIwVmFyaWFudEFjY2VwdGVkJTBBJTBBZm9yJTIwZGVjaXNpb24lMjBpbiUyMGdldF9rZXJuZWxfdmFyaWFudHMoJTIya2VybmVscy1jb21tdW5pdHklMkZhY3RpdmF0aW9uJTIyJTJDJTIwdmVyc2lvbiUzRDEpJTNBJTBBJTIwJTIwJTIwJTIwbmFtZSUyMCUzRCUyMGRlY2lzaW9uLnZhcmlhbnQudmFyaWFudF9zdHIlMEElMjAlMjAlMjAlMjBpZiUyMGlzaW5zdGFuY2UoZGVjaXNpb24lMkMlMjBWYXJpYW50QWNjZXB0ZWQpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcHJpbnQoZiUyMiU3Qm5hbWUlN0QlM0ElMjBjb21wYXRpYmxlJTIyKSUwQSUyMCUyMCUyMCUyMGVsc2UlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcmludChmJTIyJTdCbmFtZSU3RCUzQSUyMHJlamVjdGVkJTIwKCU3QmRlY2lzaW9uLnJlYXNvbiU3RCklMjIp",highlighted:`<span class="hljs-keyword">from</span> kernels <span class="hljs-keyword">import</span> get_kernel_variants, VariantAccepted
<span class="hljs-keyword">for</span> decision <span class="hljs-keyword">in</span> get_kernel_variants(<span class="hljs-string">&quot;kernels-community/activation&quot;</span>, version=<span class="hljs-number">1</span>):
name = decision.variant.variant_str
<span class="hljs-keyword">if</span> <span class="hljs-built_in">isinstance</span>(decision, VariantAccepted):
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;<span class="hljs-subst">{name}</span>: compatible&quot;</span>)
<span class="hljs-keyword">else</span>:
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;<span class="hljs-subst">{name}</span>: rejected (<span class="hljs-subst">{decision.reason}</span>)&quot;</span>)`,lang:"python",wrap:!1}}),Z=new oe({props:{title:"Inspecting Loaded Kernels",local:"inspecting-loaded-kernels",headingTag:"h2"}}),U=new ie({props:{code:"ZnJvbSUyMGtlcm5lbHMlMjBpbXBvcnQlMjBnZXRfa2VybmVsJTJDJTIwZ2V0X2xvYWRlZF9rZXJuZWxzJTBBJTBBZ2V0X2tlcm5lbCglMjJrZXJuZWxzLWNvbW11bml0eSUyRmFjdGl2YXRpb24lMjIlMkMlMjB2ZXJzaW9uJTNEMSklMEElMEFmb3IlMjBsb2FkZWQlMjBpbiUyMGdldF9sb2FkZWRfa2VybmVscygpJTNBJTBBJTIwJTIwJTIwJTIwcHJpbnQobG9hZGVkLnBhY2thZ2VfbmFtZSUyQyUyMGxvYWRlZC5yZXBvX2luZm9zKQ==",highlighted:`<span class="hljs-keyword">from</span> kernels <span class="hljs-keyword">import</span> get_kernel, get_loaded_kernels
get_kernel(<span class="hljs-string">&quot;kernels-community/activation&quot;</span>, version=<span class="hljs-number">1</span>)
<span class="hljs-keyword">for</span> loaded <span class="hljs-keyword">in</span> get_loaded_kernels():
<span class="hljs-built_in">print</span>(loaded.package_name, loaded.repo_infos)`,lang:"python",wrap:!1}}),V=new Ie({props:{source:"https://github.com/huggingface/kernels/blob/main/docs/source/basic-usage.md"}}),{c(){k=r("meta"),X=s(),W=r("p"),H=s(),o(f.$$.fragment),F=s(),o(M.$$.fragment),L=s(),o(y.$$.fragment),R=s(),b=r("p"),b.innerHTML=me,Y=s(),o(J.$$.fragment),z=s(),T=r("p"),T.innerHTML=ce,N=s(),w=r("p"),w.textContent=de,Q=s(),j=r("p"),j.innerHTML=he,S=s(),o(g.$$.fragment),q=s(),v=r("p"),v.textContent=ue,K=s(),o(_.$$.fragment),A=s(),$=r("p"),$.innerHTML=ke,P=s(),o(B.$$.fragment),D=s(),o(Z.$$.fragment),O=s(),I=r("p"),I.innerHTML=fe,ee=s(),o(U.$$.fragment),le=s(),C=r("p"),C.innerHTML=Me,ne=s(),x=r("p"),x.innerHTML=ye,te=s(),E=r("p"),E.innerHTML=be,se=s(),o(V.$$.fragment),ae=s(),G=r("p"),this.h()},l(e){const l=$e("svelte-u9bgzb",document.head);k=i(l,"META",{name:!0,content:!0}),l.forEach(n),X=a(e),W=i(e,"P",{}),Je(W).forEach(n),H=a(e),p(f.$$.fragment,e),F=a(e),p(M.$$.fragment,e),L=a(e),p(y.$$.fragment,e),R=a(e),b=i(e,"P",{"data-svelte-h":!0}),m(b)!=="svelte-2utbko"&&(b.innerHTML=me),Y=a(e),p(J.$$.fragment,e),z=a(e),T=i(e,"P",{"data-svelte-h":!0}),m(T)!=="svelte-1xtp1ii"&&(T.innerHTML=ce),N=a(e),w=i(e,"P",{"data-svelte-h":!0}),m(w)!=="svelte-sotpzr"&&(w.textContent=de),Q=a(e),j=i(e,"P",{"data-svelte-h":!0}),m(j)!=="svelte-ac6a7l"&&(j.innerHTML=he),S=a(e),p(g.$$.fragment,e),q=a(e),v=i(e,"P",{"data-svelte-h":!0}),m(v)!=="svelte-vgk28x"&&(v.textContent=ue),K=a(e),p(_.$$.fragment,e),A=a(e),$=i(e,"P",{"data-svelte-h":!0}),m($)!=="svelte-4ek1gu"&&($.innerHTML=ke),P=a(e),p(B.$$.fragment,e),D=a(e),p(Z.$$.fragment,e),O=a(e),I=i(e,"P",{"data-svelte-h":!0}),m(I)!=="svelte-1dax06"&&(I.innerHTML=fe),ee=a(e),p(U.$$.fragment,e),le=a(e),C=i(e,"P",{"data-svelte-h":!0}),m(C)!=="svelte-1u979oc"&&(C.innerHTML=Me),ne=a(e),x=i(e,"P",{"data-svelte-h":!0}),m(x)!=="svelte-jwtqmg"&&(x.innerHTML=ye),te=a(e),E=i(e,"P",{"data-svelte-h":!0}),m(E)!=="svelte-1uhalfl"&&(E.innerHTML=be),se=a(e),p(V.$$.fragment,e),ae=a(e),G=i(e,"P",{}),Je(G).forEach(n),this.h()},h(){Te(k,"name","hf:doc:metadata"),Te(k,"content",Ce)},m(e,l){Be(document.head,k),t(e,X,l),t(e,W,l),t(e,H,l),c(f,e,l),t(e,F,l),c(M,e,l),t(e,L,l),c(y,e,l),t(e,R,l),t(e,b,l),t(e,Y,l),c(J,e,l),t(e,z,l),t(e,T,l),t(e,N,l),t(e,w,l),t(e,Q,l),t(e,j,l),t(e,S,l),c(g,e,l),t(e,q,l),t(e,v,l),t(e,K,l),c(_,e,l),t(e,A,l),t(e,$,l),t(e,P,l),c(B,e,l),t(e,D,l),c(Z,e,l),t(e,O,l),t(e,I,l),t(e,ee,l),c(U,e,l),t(e,le,l),t(e,C,l),t(e,ne,l),t(e,x,l),t(e,te,l),t(e,E,l),t(e,se,l),c(V,e,l),t(e,ae,l),t(e,G,l),re=!0},p:je,i(e){re||(d(f.$$.fragment,e),d(M.$$.fragment,e),d(y.$$.fragment,e),d(J.$$.fragment,e),d(g.$$.fragment,e),d(_.$$.fragment,e),d(B.$$.fragment,e),d(Z.$$.fragment,e),d(U.$$.fragment,e),d(V.$$.fragment,e),re=!0)},o(e){h(f.$$.fragment,e),h(M.$$.fragment,e),h(y.$$.fragment,e),h(J.$$.fragment,e),h(g.$$.fragment,e),h(_.$$.fragment,e),h(B.$$.fragment,e),h(Z.$$.fragment,e),h(U.$$.fragment,e),h(V.$$.fragment,e),re=!1},d(e){e&&(n(X),n(W),n(H),n(F),n(L),n(R),n(b),n(Y),n(z),n(T),n(N),n(w),n(Q),n(j),n(S),n(q),n(v),n(K),n(A),n($),n(P),n(D),n(O),n(I),n(ee),n(le),n(C),n(ne),n(x),n(te),n(E),n(se),n(ae),n(G)),n(k),u(f,e),u(M,e),u(y,e),u(J,e),u(g,e),u(_,e),u(B,e),u(Z,e),u(U,e),u(V,e)}}}const Ce='{"title":"Quickstart","local":"quickstart","sections":[{"title":"Loading Kernels","local":"loading-kernels","sections":[],"depth":2},{"title":"Checking Kernel Availability","local":"checking-kernel-availability","sections":[],"depth":2},{"title":"Inspecting Loaded Kernels","local":"inspecting-loaded-kernels","sections":[],"depth":2}],"depth":1}';function xe(pe){return ge(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class He extends ve{constructor(k){super(),_e(this,k,xe,Ue,we,{})}}export{He as component};

Xet Storage Details

Size:
12.1 kB
·
Xet hash:
a2fb857d871996de9081fc9d2d986105e1d80379b8e73f81692ca98701e51e6d

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.