Buckets:

HuggingFaceDocBuilder's picture
download
raw
4.1 kB
import{s as F,n as G,o as X}from"../chunks/scheduler.f3b1e791.js";import{S as J,i as Q,e as a,s as l,c as N,h as V,a as r,d as i,b as s,f as R,g as E,j as x,k as z,l as W,m as n,n as S,t as U,o as j,p as q}from"../chunks/index.023a9934.js";import{C as Y}from"../chunks/CopyLLMTxtMenu.c780467c.js";import{H as Z,E as ee}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.fb377ec3.js";function te(A){let o,$,v,k,d,_,u,w,c,B="The Kernel Builder is a Nix flake that combines two components:",C,m,D='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/kernels/kernel_design_overview.jpg" alt="Kernel Builder architecture"/>',T,p,I=`<li><code>kernel-builder/</code>: a Rust-based CLI
that parses and validates <code>build.toml</code>, scaffolds new kernel projects, and drives the
build. It does not compile kernels itself: every build subcommand executes
<code>nix build</code>/<code>nix run</code>/<code>nix develop</code> against the kernel project’s <code>flake.nix</code>.</li> <li><code>nix-builder</code>: the Nix builder drives the build itself. It generates a build matrix using the supported build configurations
(see <code>nix-builder/versions.nix</code>) and the kernel’s <code>build.toml</code>. The build matrix is the cartesian product of
the backend (one or more of CPU/CUDA/Metal/ROCm/XPU), backend versions, and framework versions.
Nix builder uses <code>kernel-builder</code> to generate the CMake files that drive the build. To do so,
<code>kernel-builder</code> itself is packaged in <code>nix-builder/pkgs</code>.</li>`,M,f,K="A kernel author uses the Nix builder through the <code>lib.genKernelFlakeOutputs</code> that is exposed through the top-level <code>flake.nix</code>. This generates the Nix flake outputs for building and developing kernels, such as <code>bundle</code> for bundle builds and <code>devShells</code> for development shells.",L,h,O=`For a deeper look at the design of the Nix builder, see
<a href="./design-nix-builder">Nix Builder design</a>.`,P,b,H,g,y;return d=new Y({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),u=new Z({props:{title:"Design overview",local:"design-overview",headingTag:"h1"}}),b=new ee({props:{source:"https://github.com/huggingface/kernels/blob/main/docs/source/builder/design-overview.md"}}),{c(){o=a("meta"),$=l(),v=a("p"),k=l(),N(d.$$.fragment),_=l(),N(u.$$.fragment),w=l(),c=a("p"),c.textContent=B,C=l(),m=a("p"),m.innerHTML=D,T=l(),p=a("ul"),p.innerHTML=I,M=l(),f=a("p"),f.innerHTML=K,L=l(),h=a("p"),h.innerHTML=O,P=l(),N(b.$$.fragment),H=l(),g=a("p"),this.h()},l(e){const t=V("svelte-u9bgzb",document.head);o=r(t,"META",{name:!0,content:!0}),t.forEach(i),$=s(e),v=r(e,"P",{}),R(v).forEach(i),k=s(e),E(d.$$.fragment,e),_=s(e),E(u.$$.fragment,e),w=s(e),c=r(e,"P",{"data-svelte-h":!0}),x(c)!=="svelte-1w9yse9"&&(c.textContent=B),C=s(e),m=r(e,"P",{"data-svelte-h":!0}),x(m)!=="svelte-1dqbs7"&&(m.innerHTML=D),T=s(e),p=r(e,"UL",{"data-svelte-h":!0}),x(p)!=="svelte-1fh1iln"&&(p.innerHTML=I),M=s(e),f=r(e,"P",{"data-svelte-h":!0}),x(f)!=="svelte-w9m9o3"&&(f.innerHTML=K),L=s(e),h=r(e,"P",{"data-svelte-h":!0}),x(h)!=="svelte-aeqsvr"&&(h.innerHTML=O),P=s(e),E(b.$$.fragment,e),H=s(e),g=r(e,"P",{}),R(g).forEach(i),this.h()},h(){z(o,"name","hf:doc:metadata"),z(o,"content",ie)},m(e,t){W(document.head,o),n(e,$,t),n(e,v,t),n(e,k,t),S(d,e,t),n(e,_,t),S(u,e,t),n(e,w,t),n(e,c,t),n(e,C,t),n(e,m,t),n(e,T,t),n(e,p,t),n(e,M,t),n(e,f,t),n(e,L,t),n(e,h,t),n(e,P,t),S(b,e,t),n(e,H,t),n(e,g,t),y=!0},p:G,i(e){y||(U(d.$$.fragment,e),U(u.$$.fragment,e),U(b.$$.fragment,e),y=!0)},o(e){j(d.$$.fragment,e),j(u.$$.fragment,e),j(b.$$.fragment,e),y=!1},d(e){e&&(i($),i(v),i(k),i(_),i(w),i(c),i(C),i(m),i(T),i(p),i(M),i(f),i(L),i(h),i(P),i(H),i(g)),i(o),q(d,e),q(u,e),q(b,e)}}}const ie='{"title":"Design overview","local":"design-overview","sections":[],"depth":1}';function ne(A){return X(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class re extends J{constructor(o){super(),Q(this,o,ne,te,F,{})}}export{re as component};

Xet Storage Details

Size:
4.1 kB
·
Xet hash:
afa096bb87c6b55b933377266b59b6290c0e616b92ce2c99eaa41dd4ed980914

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