import{S as J,i as O,s as R,e as f,k as x,w as q,t as P,M as j,c as u,d as n,m as b,a as g,x as C,h as y,b as _,G as i,g as E,y as I,q as L,o as B,B as H,v as z}from"../chunks/vendor-hf-doc-builder.js";import{T as D}from"../chunks/Tip-hf-doc-builder.js";import{I as F}from"../chunks/IconCopyLink-hf-doc-builder.js";function K(U){let e,d,a,r,h,o,$,p;return{c(){e=f("p"),d=P("Note: Most of the strategies introduced in the "),a=f("a"),r=P("single GPU section"),h=P(" (such as mixed precision training or gradient accumulation) and "),o=f("a"),$=P("mutli-GPU section"),p=P(" are generic and apply to training models in general so make sure to have a look at it before diving into this section."),this.h()},l(m){e=u(m,"P",{});var s=g(e);d=y(s,"Note: Most of the strategies introduced in the "),a=u(s,"A",{href:!0});var c=g(a);r=y(c,"single GPU section"),c.forEach(n),h=y(s," (such as mixed precision training or gradient accumulation) and "),o=u(s,"A",{href:!0});var v=g(o);$=y(v,"mutli-GPU section"),v.forEach(n),p=y(s," are generic and apply to training models in general so make sure to have a look at it before diving into this section."),s.forEach(n),this.h()},h(){_(a,"href","perf_train_gpu_one"),_(o,"href","perf_train_gpu_many")},m(m,s){E(m,e,s),i(e,d),i(e,a),i(a,r),i(e,h),i(e,o),i(o,$),i(e,p)},d(m){m&&n(e)}}}function Q(U){let e,d,a,r,h,o,$,p,m,s,c,v,T,A,k;return o=new F({}),c=new D({props:{$$slots:{default:[K]},$$scope:{ctx:U}}}),{c(){e=f("meta"),d=x(),a=f("h1"),r=f("a"),h=f("span"),q(o.$$.fragment),$=x(),p=f("span"),m=P("Training on TPUs"),s=x(),q(c.$$.fragment),v=x(),T=f("p"),A=P("This document will be completed soon with information on how to train on TPUs."),this.h()},l(t){const l=j('[data-svelte="svelte-1phssyn"]',document.head);e=u(l,"META",{name:!0,content:!0}),l.forEach(n),d=b(t),a=u(t,"H1",{class:!0});var w=g(a);r=u(w,"A",{id:!0,class:!0,href:!0});var S=g(r);h=u(S,"SPAN",{});var G=g(h);C(o.$$.fragment,G),G.forEach(n),S.forEach(n),$=b(w),p=u(w,"SPAN",{});var M=g(p);m=y(M,"Training on TPUs"),M.forEach(n),w.forEach(n),s=b(t),C(c.$$.fragment,t),v=b(t),T=u(t,"P",{});var N=g(T);A=y(N,"This document will be completed soon with information on how to train on TPUs."),N.forEach(n),this.h()},h(){_(e,"name","hf:doc:metadata"),_(e,"content",JSON.stringify(V)),_(r,"id","training-on-tpus"),_(r,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),_(r,"href","#training-on-tpus"),_(a,"class","relative group")},m(t,l){i(document.head,e),E(t,d,l),E(t,a,l),i(a,r),i(r,h),I(o,h,null),i(a,$),i(a,p),i(p,m),E(t,s,l),I(c,t,l),E(t,v,l),E(t,T,l),i(T,A),k=!0},p(t,[l]){const w={};l&2&&(w.$$scope={dirty:l,ctx:t}),c.$set(w)},i(t){k||(L(o.$$.fragment,t),L(c.$$.fragment,t),k=!0)},o(t){B(o.$$.fragment,t),B(c.$$.fragment,t),k=!1},d(t){n(e),t&&n(d),t&&n(a),H(o),t&&n(s),H(c,t),t&&n(v),t&&n(T)}}}const V={local:"training-on-tpus",title:"Training on TPUs"};function W(U){return z(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class tt extends J{constructor(e){super();O(this,e,W,Q,R,{})}}export{tt as default,V as metadata};
