Buckets:
| import{s as ue,n as he,o as ge}from"../chunks/scheduler.f3b1e791.js";import{S as ce,i as de,e as a,s as l,c as x,h as $e,a as i,d as n,b as s,f as pe,g as y,j as f,k as me,l as be,m as r,n as H,t as P,o as C,p as z}from"../chunks/index.023a9934.js";import{C as ke}from"../chunks/CopyLLMTxtMenu.c780467c.js";import{H as j,E as _e}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.fb377ec3.js";function we(ee){let o,R,A,S,p,q,m,F,u,te="This page shows how different projects use <code>kernels</code>.",I,h,O,g,ne=`<a href="https://github.com/karpathy/autoresearch" rel="nofollow">karpathy/autoresearch</a> <a href="https://github.com/karpathy/autoresearch/blob/c2450add72cc80317be1fe8111974b892da10944/train.py#L23" rel="nofollow">uses</a> <code>kernels</code> to | |
| integrate Flash-Attention 3 through the <a href="/docs/kernels/pr_607/en/api/kernels#kernels.get_kernel">get_kernel()</a> method.`,U,c,B,d,re=`<a href="https://github.com/inclusionAI/AReaL" rel="nofollow">inclusionAI/AReaL</a> uses <code>kernels</code> in an opt-in manner to integrate | |
| optimized attention mechanisms.`,G,$,V,b,le=`<a href="https://github.com/huggingface/transformers/" rel="nofollow">huggingface/transformers</a> primarily | |
| depends on <code>kernels</code> for all optimizations related to optimized kernels, including | |
| optimized attention implementations, MoE blocks, and quantization. Besides | |
| <a href="/docs/kernels/pr_607/en/api/kernels#kernels.get_kernel">get_kernel()</a>, it also uses <a href="./layers">kernel layers</a> to optimize the forward passes | |
| of common layers involved in the modeling blocks. Some references are available | |
| <a href="https://github.com/search?q=repo%3Ahuggingface%2Ftransformers%20get_kernel(&type=code" rel="nofollow">here</a> | |
| and <a href="https://github.com/search?q=repo%3Ahuggingface%2Ftransformers+use_kernel_forward_from_hub&type=code" rel="nofollow">here</a>.`,Y,k,se="Refer to the following posts to know more:",D,_,ae='<li><a href="https://huggingface.co/blog/faster-transformers" rel="nofollow">Tricks from OpenAI gpt-oss YOU 🫵 can use with transformers</a></li> <li><a href="https://huggingface.co/blog/moe-transformers" rel="nofollow">Mixture of Experts (MoEs) in Transformers</a></li>',J,w,K,v,ie=`Similar to <code>transformers</code>, <a href="https://github.com/huggingface/diffusers/" rel="nofollow">huggingface/diffusers</a> uses | |
| <code>kernels</code> for integrating optimized kernels to <a href="https://github.com/huggingface/diffusers/blob/e5aa719241f9b74d6700be3320a777799bfab70a/src/diffusers/models/attention_dispatch.py" rel="nofollow">compute attention</a>.`,N,T,oe=`Besides leveraging pre-built compute kernels, different projects | |
| rely on <code>kernels</code> to also package, build, and distribute their | |
| kernels on the Hugging Face Hub platform. This is made possible by the | |
| <a href="./builder/writing-kernels">“builder” component of <code>kernels</code></a>. | |
| Visit <a href="https://huggingface.co/kernels" rel="nofollow">huggingface.co/kernels</a> to browse | |
| the pre-built compute kernels available on the Hub.`,Q,L,fe=`Feel free to open a PR enlisting your project to show how <code>kernels</code> | |
| is leveraged there.`,W,M,X,E,Z;return p=new ke({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),m=new j({props:{title:"Integrating kernels",local:"integrating-kernels",headingTag:"h1"}}),h=new j({props:{title:"autoresearch",local:"autoresearch",headingTag:"h2"}}),c=new j({props:{title:"AReaL",local:"areal",headingTag:"h2"}}),$=new j({props:{title:"transformers",local:"transformers",headingTag:"h2"}}),w=new j({props:{title:"diffusers",local:"diffusers",headingTag:"h2"}}),M=new _e({props:{source:"https://github.com/huggingface/kernels/blob/main/docs/source/integrating-kernels.md"}}),{c(){o=a("meta"),R=l(),A=a("p"),S=l(),x(p.$$.fragment),q=l(),x(m.$$.fragment),F=l(),u=a("p"),u.innerHTML=te,I=l(),x(h.$$.fragment),O=l(),g=a("p"),g.innerHTML=ne,U=l(),x(c.$$.fragment),B=l(),d=a("p"),d.innerHTML=re,G=l(),x($.$$.fragment),V=l(),b=a("p"),b.innerHTML=le,Y=l(),k=a("p"),k.textContent=se,D=l(),_=a("ul"),_.innerHTML=ae,J=l(),x(w.$$.fragment),K=l(),v=a("p"),v.innerHTML=ie,N=l(),T=a("p"),T.innerHTML=oe,Q=l(),L=a("p"),L.innerHTML=fe,W=l(),x(M.$$.fragment),X=l(),E=a("p"),this.h()},l(e){const t=$e("svelte-u9bgzb",document.head);o=i(t,"META",{name:!0,content:!0}),t.forEach(n),R=s(e),A=i(e,"P",{}),pe(A).forEach(n),S=s(e),y(p.$$.fragment,e),q=s(e),y(m.$$.fragment,e),F=s(e),u=i(e,"P",{"data-svelte-h":!0}),f(u)!=="svelte-vnl8ty"&&(u.innerHTML=te),I=s(e),y(h.$$.fragment,e),O=s(e),g=i(e,"P",{"data-svelte-h":!0}),f(g)!=="svelte-zs06ze"&&(g.innerHTML=ne),U=s(e),y(c.$$.fragment,e),B=s(e),d=i(e,"P",{"data-svelte-h":!0}),f(d)!=="svelte-14i6hd3"&&(d.innerHTML=re),G=s(e),y($.$$.fragment,e),V=s(e),b=i(e,"P",{"data-svelte-h":!0}),f(b)!=="svelte-v95bb"&&(b.innerHTML=le),Y=s(e),k=i(e,"P",{"data-svelte-h":!0}),f(k)!=="svelte-58vqvj"&&(k.textContent=se),D=s(e),_=i(e,"UL",{"data-svelte-h":!0}),f(_)!=="svelte-ixjige"&&(_.innerHTML=ae),J=s(e),y(w.$$.fragment,e),K=s(e),v=i(e,"P",{"data-svelte-h":!0}),f(v)!=="svelte-4wljk1"&&(v.innerHTML=ie),N=s(e),T=i(e,"P",{"data-svelte-h":!0}),f(T)!=="svelte-164sdup"&&(T.innerHTML=oe),Q=s(e),L=i(e,"P",{"data-svelte-h":!0}),f(L)!=="svelte-1ragv6p"&&(L.innerHTML=fe),W=s(e),y(M.$$.fragment,e),X=s(e),E=i(e,"P",{}),pe(E).forEach(n),this.h()},h(){me(o,"name","hf:doc:metadata"),me(o,"content",ve)},m(e,t){be(document.head,o),r(e,R,t),r(e,A,t),r(e,S,t),H(p,e,t),r(e,q,t),H(m,e,t),r(e,F,t),r(e,u,t),r(e,I,t),H(h,e,t),r(e,O,t),r(e,g,t),r(e,U,t),H(c,e,t),r(e,B,t),r(e,d,t),r(e,G,t),H($,e,t),r(e,V,t),r(e,b,t),r(e,Y,t),r(e,k,t),r(e,D,t),r(e,_,t),r(e,J,t),H(w,e,t),r(e,K,t),r(e,v,t),r(e,N,t),r(e,T,t),r(e,Q,t),r(e,L,t),r(e,W,t),H(M,e,t),r(e,X,t),r(e,E,t),Z=!0},p:he,i(e){Z||(P(p.$$.fragment,e),P(m.$$.fragment,e),P(h.$$.fragment,e),P(c.$$.fragment,e),P($.$$.fragment,e),P(w.$$.fragment,e),P(M.$$.fragment,e),Z=!0)},o(e){C(p.$$.fragment,e),C(m.$$.fragment,e),C(h.$$.fragment,e),C(c.$$.fragment,e),C($.$$.fragment,e),C(w.$$.fragment,e),C(M.$$.fragment,e),Z=!1},d(e){e&&(n(R),n(A),n(S),n(q),n(F),n(u),n(I),n(O),n(g),n(U),n(B),n(d),n(G),n(V),n(b),n(Y),n(k),n(D),n(_),n(J),n(K),n(v),n(N),n(T),n(Q),n(L),n(W),n(X),n(E)),n(o),z(p,e),z(m,e),z(h,e),z(c,e),z($,e),z(w,e),z(M,e)}}}const ve='{"title":"Integrating kernels","local":"integrating-kernels","sections":[{"title":"autoresearch","local":"autoresearch","sections":[],"depth":2},{"title":"AReaL","local":"areal","sections":[],"depth":2},{"title":"transformers","local":"transformers","sections":[],"depth":2},{"title":"diffusers","local":"diffusers","sections":[],"depth":2}],"depth":1}';function Te(ee){return ge(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class He extends ce{constructor(o){super(),de(this,o,Te,we,ue,{})}}export{He as component}; | |
Xet Storage Details
- Size:
- 6.86 kB
- Xet hash:
- 7b3fb5fba4b63329fb4c9c4483085c024234db8f33a8b3dbc302de9a78e01875
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.