import{s as ce,o as de,n as se}from"../chunks/scheduler.9bc65507.js";import{S as fe,i as Me,g as a,s as i,r as d,A as me,h as p,f as l,c as o,j as re,u as f,x as s,k as ae,y as he,a as n,v as M,d as m,t as h,w as _}from"../chunks/index.707bf1b6.js";import{T as pe}from"../chunks/Tip.c2ecdbf4.js";import{C as tt}from"../chunks/CodeBlock.54a9f38d.js";import{H as et}from"../chunks/Heading.342b1fa6.js";function _e(K){let r,C=`oneccl_bindings_for_pytorch 1.12.0 prebuilt wheel does not work with PyTorch 1.12.1 (it is for PyTorch 1.12.0)
PyTorch 1.12.1 should work with oneccl_bindings_for_pytorch 1.12.100`;return{c(){r=a("p"),r.textContent=C},l(c){r=p(c,"P",{"data-svelte-h":!0}),s(r)!=="svelte-is6c7w"&&(r.textContent=C)},m(c,T){n(c,r,T)},p:se,d(c){c&&l(r)}}}function Ce(K){let r,C="<code>oneccl_bindings_for_pytorch</code>の1.12.0プリビルトホイールはPyTorch 1.12.1と互換性がありません（これはPyTorch 1.12.0用です）。PyTorch 1.12.1を使用する場合は、<code>oneccl_bindings_for_pytorch</code>バージョン1.12.100を使用する必要があります。";return{c(){r=a("p"),r.innerHTML=C},l(c){r=p(c,"P",{"data-svelte-h":!0}),s(r)!=="svelte-qkrsq0"&&(r.innerHTML=C)},m(c,T){n(c,r,T)},p:se,d(c){c&&l(r)}}}function Te(K){let r,C,c,T,U,nt,w,Zt="1つのCPUでのトレーニングが遅すぎる場合、複数のCPUを使用できます。このガイドは、PyTorchベースのDDPを使用した分散CPUトレーニングに焦点を当てています。",it,$,ot,b,Ht='<a href="https://github.com/oneapi-src/oneCCL" rel="nofollow">Intel® oneCCL</a>（集合通信ライブラリ）は、allreduce、allgather、alltoallなどの収集通信を実装した効率的な分散ディープラーニングトレーニング用のライブラリです。oneCCLの詳細については、<a href="https://spec.oneapi.com/versions/latest/elements/oneCCL/source/index.html" rel="nofollow">oneCCLドキュメント</a>と<a href="https://spec.oneapi.com/versions/latest/elements/oneCCL/source/index.html" rel="nofollow">oneCCL仕様</a>を参照してください。',rt,g,Gt="モジュール<code>oneccl_bindings_for_pytorch</code>（バージョン1.12以前は<code>torch_ccl</code>）は、PyTorch C10D ProcessGroup APIを実装し、外部のProcessGroupとして動的にロードでき、現在はLinuxプラットフォームでのみ動作します。",at,x,Vt='<a href="https://github.com/intel/torch-ccl" rel="nofollow">torch-ccl</a>の詳細情報を確認してください。',pt,J,st,v,At="Wheelファイルは、以下のPythonバージョン用に利用可能です:",ct,j,Qt='<thead><tr><th align="center">Extension Version</th> <th align="center">Python 3.6</th> <th align="center">Python 3.7</th> <th align="center">Python 3.8</th> <th align="center">Python 3.9</th> <th align="center">Python 3.10</th></tr></thead> <tbody><tr><td align="center">1.13.0</td> <td align="center"></td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td></tr> <tr><td align="center">1.12.100</td> <td align="center"></td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td></tr> <tr><td align="center">1.12.0</td> <td align="center"></td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td></tr> <tr><td align="center">1.11.0</td> <td align="center"></td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td></tr> <tr><td align="center">1.10.0</td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td> <td align="center">√</td> <td align="center"></td></tr></tbody>',dt,I,ft,P,Wt=`where <code>{pytorch_version}</code> should be your PyTorch version, for instance 1.13.0.
Check more approaches for <a href="https://github.com/intel/torch-ccl" rel="nofollow">oneccl_bind_pt installation</a>.
Versions of oneCCL and PyTorch must match.`,Mt,u,mt,L,kt='<code>{pytorch_version}</code> は、あなたのPyTorchのバージョン（例：1.13.0）に置き換える必要があります。重要なのは、oneCCLとPyTorchのバージョンが一致していることです。<a href="https://github.com/intel/torch-ccl" rel="nofollow">oneccl_bind_ptのインストール</a>に関するさらなるアプローチを確認できます。',ht,y,_t,X,Ct,R,St="この基準ベースのMPI実装を使用して、Intel®アーキテクチャ上で柔軟で効率的、スケーラブルなクラスタメッセージングを提供します。このコンポーネントは、Intel® oneAPI HPC Toolkitの一部です。",Tt,E,Yt="oneccl_bindings_for_pytorchはMPIツールセットと一緒にインストールされます。使用する前に環境をソース化する必要があります。",ut,B,Ft="for Intel® oneCCL >= 1.12.0",yt,N,Ut,Z,zt="for Intel® oneCCL whose version < 1.12.0",wt,H,$t,G,bt,V,Dt='IPEXは、Float32およびBFloat16の両方でCPUトレーニングのパフォーマンス最適化を提供します。詳細は<a href="./perf_train_cpu">こちらのシングルCPUセクション</a>をご参照ください。',gt,A,Ot="以下の「トレーナーでの使用」は、Intel® MPIライブラリでmpirunを使用する例を示しています。",xt,Q,Jt,W,qt="トレーナーでのマルチCPU分散トレーニングを有効にするために、ユーザーはコマンド引数に <strong><code>--ddp_backend ccl</code></strong> を追加する必要があります。",vt,k,Kt='例を見てみましょう。<a href="https://github.com/huggingface/transformers/tree/main/examples/pytorch/question-answering" rel="nofollow">質問応答の例</a>',jt,S,te="以下のコマンドは、1つのXeonノードで2つのプロセスを使用してトレーニングを有効にします。1つのプロセスが1つのソケットで実行されます。OMP_NUM_THREADS/CCL_WORKER_COUNT変数は、最適なパフォーマンスを調整するために調整できます。",It,Y,Pt,F,ee="以下のコマンドは、2つのXeonプロセッサ（node0とnode1、node0をメインプロセスとして使用）で合計4つのプロセスを使用してトレーニングを有効にします。ppn（ノードごとのプロセス数）は2に設定され、1つのソケットごとに1つのプロセスが実行されます。最適なパフォーマンスを得るために、OMP_NUM_THREADS/CCL_WORKER_COUNT変数を調整できます。",Lt,z,le="node0では、各ノードのIPアドレスを含む構成ファイルを作成し、その構成ファイルのパスを引数として渡す必要があります。",Xt,D,Rt,O,ne="ノード0で次のコマンドを実行すると、ノード0とノード1で<strong>4DDP</strong>がBF16自動混合精度で有効になります。",Et,q,Bt,lt,Nt;return U=new et({props:{title:"Efficient Training on Multiple CPUs",local:"efficient-training-on-multiple-cpus",headingTag:"h1"}}),$=new et({props:{title:"Intel® oneCCL Bindings for PyTorch",local:"intel-oneccl-bindings-for-pytorch",headingTag:"h2"}}),J=new et({props:{title:"Intel® oneCCL Bindings for PyTorch installation:",local:"intel-oneccl-bindings-for-pytorch-installation",headingTag:"h3"}}),I=new tt({props:{code:"cGlwJTIwaW5zdGFsbCUyMG9uZWNjbF9iaW5kX3B0JTNEJTNEJTdCcHl0b3JjaF92ZXJzaW9uJTdEJTIwLWYlMjBodHRwcyUzQSUyRiUyRmRldmVsb3Blci5pbnRlbC5jb20lMkZpcGV4LXdobC1zdGFibGUtY3B1",highlighted:"pip install oneccl_bind_pt=={pytorch_version} -f https://developer.intel.com/ipex-whl-stable-cpu",wrap:!1}}),u=new pe({props:{warning:!0,$$slots:{default:[_e]},$$scope:{ctx:K}}}),y=new pe({props:{warning:!0,$$slots:{default:[Ce]},$$scope:{ctx:K}}}),X=new et({props:{title:"Intel® MPI library",local:"intel-mpi-library",headingTag:"h2"}}),N=new tt({props:{code:"b25lY2NsX2JpbmRpbmdzX2Zvcl9weXRvcmNoX3BhdGglM0QlMjQocHl0aG9uJTIwLWMlMjAlMjJmcm9tJTIwb25lY2NsX2JpbmRpbmdzX2Zvcl9weXRvcmNoJTIwaW1wb3J0JTIwY3dkJTNCJTIwcHJpbnQoY3dkKSUyMiklMEFzb3VyY2UlMjAlMjRvbmVjY2xfYmluZGluZ3NfZm9yX3B5dG9yY2hfcGF0aCUyRmVudiUyRnNldHZhcnMuc2g=",highlighted:`oneccl_bindings_for_pytorch_path=$(python -c <span class="hljs-string">&quot;from oneccl_bindings_for_pytorch import cwd; print(cwd)&quot;</span>)
<span class="hljs-built_in">source</span> <span class="hljs-variable">$oneccl_bindings_for_pytorch_path</span>/env/setvars.sh`,wrap:!1}}),H=new tt({props:{code:"dG9yY2hfY2NsX3BhdGglM0QlMjQocHl0aG9uJTIwLWMlMjAlMjJpbXBvcnQlMjB0b3JjaCUzQiUyMGltcG9ydCUyMHRvcmNoX2NjbCUzQiUyMGltcG9ydCUyMG9zJTNCJTIwJTIwcHJpbnQob3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZSh0b3JjaF9jY2wuX19maWxlX18pKSklMjIpJTBBc291cmNlJTIwJTI0dG9yY2hfY2NsX3BhdGglMkZlbnYlMkZzZXR2YXJzLnNo",highlighted:`torch_ccl_path=$(python -c <span class="hljs-string">&quot;import torch; import torch_ccl; import os;  print(os.path.abspath(os.path.dirname(torch_ccl.__file__)))&quot;</span>)
<span class="hljs-built_in">source</span> <span class="hljs-variable">$torch_ccl_path</span>/env/setvars.sh`,wrap:!1}}),G=new et({props:{title:"IPEX installation:",local:"ipex-installation",headingTag:"h4"}}),Q=new et({props:{title:"Usage in Trainer",local:"usage-in-trainer",headingTag:"h2"}}),Y=new tt({props:{code:"JTIwZXhwb3J0JTIwQ0NMX1dPUktFUl9DT1VOVCUzRDElMEElMjBleHBvcnQlMjBNQVNURVJfQUREUiUzRDEyNy4wLjAuMSUwQSUyMG1waXJ1biUyMC1uJTIwMiUyMC1nZW52JTIwT01QX05VTV9USFJFQURTJTNEMjMlMjAlNUMlMEElMjBweXRob24zJTIwcnVuX3FhLnB5JTIwJTVDJTBBJTIwLS1tb2RlbF9uYW1lX29yX3BhdGglMjBnb29nbGUtYmVydCUyRmJlcnQtbGFyZ2UtdW5jYXNlZCUyMCU1QyUwQSUyMC0tZGF0YXNldF9uYW1lJTIwc3F1YWQlMjAlNUMlMEElMjAtLWRvX3RyYWluJTIwJTVDJTBBJTIwLS1kb19ldmFsJTIwJTVDJTBBJTIwLS1wZXJfZGV2aWNlX3RyYWluX2JhdGNoX3NpemUlMjAxMiUyMCUyMCU1QyUwQSUyMC0tbGVhcm5pbmdfcmF0ZSUyMDNlLTUlMjAlMjAlNUMlMEElMjAtLW51bV90cmFpbl9lcG9jaHMlMjAyJTIwJTIwJTVDJTBBJTIwLS1tYXhfc2VxX2xlbmd0aCUyMDM4NCUyMCU1QyUwQSUyMC0tZG9jX3N0cmlkZSUyMDEyOCUyMCUyMCU1QyUwQSUyMC0tb3V0cHV0X2RpciUyMCUyRnRtcCUyRmRlYnVnX3NxdWFkJTJGJTIwJTVDJTBBJTIwLS1ub19jdWRhJTIwJTVDJTBBJTIwLS1kZHBfYmFja2VuZCUyMGNjbCUyMCU1QyUwQSUyMC0tdXNlX2lwZXg=",highlighted:` export CCL_WORKER_COUNT=1
 export MASTER_ADDR=127.0.0.1
 mpirun -n 2 -genv OMP_NUM_THREADS=23 \\
 python3 run_qa.py \\
 --model_name_or_path google-bert/bert-large-uncased \\
 --dataset_name squad \\
 --do_train \\
 --do_eval \\
 --per_device_train_batch_size 12  \\
 --learning_rate 3e-5  \\
 --num_train_epochs 2  \\
 --max_seq_length 384 \\
 --doc_stride 128  \\
 --output_dir /tmp/debug_squad/ \\
 --no_cuda \\
 --ddp_backend ccl \\
 --use_ipex`,wrap:!1}}),D=new tt({props:{code:"JTIwY2F0JTIwaG9zdGZpbGUlMEElMjB4eHgueHh4Lnh4eC54eHglMjAlMjNub2RlMCUyMGlwJTBBJTIweHh4Lnh4eC54eHgueHh4JTIwJTIzbm9kZTElMjBpcA==",highlighted:` cat hostfile
 xxx.xxx.xxx.xxx #node0 ip
 xxx.xxx.xxx.xxx #node1 ip`,wrap:!1}}),q=new tt({props:{code:"JTIwZXhwb3J0JTIwQ0NMX1dPUktFUl9DT1VOVCUzRDElMEElMjBleHBvcnQlMjBNQVNURVJfQUREUiUzRHh4eC54eHgueHh4Lnh4eCUyMCUyM25vZGUwJTIwaXAlMEElMjBtcGlydW4lMjAtZiUyMGhvc3RmaWxlJTIwLW4lMjA0JTIwLXBwbiUyMDIlMjAlNUMlMEElMjAtZ2VudiUyME9NUF9OVU1fVEhSRUFEUyUzRDIzJTIwJTVDJTBBJTIwcHl0aG9uMyUyMHJ1bl9xYS5weSUyMCU1QyUwQSUyMC0tbW9kZWxfbmFtZV9vcl9wYXRoJTIwZ29vZ2xlLWJlcnQlMkZiZXJ0LWxhcmdlLXVuY2FzZWQlMjAlNUMlMEElMjAtLWRhdGFzZXRfbmFtZSUyMHNxdWFkJTIwJTVDJTBBJTIwLS1kb190cmFpbiUyMCU1QyUwQSUyMC0tZG9fZXZhbCUyMCU1QyUwQSUyMC0tcGVyX2RldmljZV90cmFpbl9iYXRjaF9zaXplJTIwMTIlMjAlMjAlNUMlMEElMjAtLWxlYXJuaW5nX3JhdGUlMjAzZS01JTIwJTIwJTVDJTBBJTIwLS1udW1fdHJhaW5fZXBvY2hzJTIwMiUyMCUyMCU1QyUwQSUyMC0tbWF4X3NlcV9sZW5ndGglMjAzODQlMjAlNUMlMEElMjAtLWRvY19zdHJpZGUlMjAxMjglMjAlMjAlNUMlMEElMjAtLW91dHB1dF9kaXIlMjAlMkZ0bXAlMkZkZWJ1Z19zcXVhZCUyRiUyMCU1QyUwQSUyMC0tbm9fY3VkYSUyMCU1QyUwQSUyMC0tZGRwX2JhY2tlbmQlMjBjY2wlMjAlNUMlMEElMjAtLXVzZV9pcGV4JTIwJTVDJTBBJTIwLS1iZjE2",highlighted:` export CCL_WORKER_COUNT=1
 export MASTER_ADDR=xxx.xxx.xxx.xxx #node0 ip
 mpirun -f hostfile -n 4 -ppn 2 \\
 -genv OMP_NUM_THREADS=23 \\
 python3 run_qa.py \\
 --model_name_or_path google-bert/bert-large-uncased \\
 --dataset_name squad \\
 --do_train \\
 --do_eval \\
 --per_device_train_batch_size 12  \\
 --learning_rate 3e-5  \\
 --num_train_epochs 2  \\
 --max_seq_length 384 \\
 --doc_stride 128  \\
 --output_dir /tmp/debug_squad/ \\
 --no_cuda \\
 --ddp_backend ccl \\
 --use_ipex \\
 --bf16`,wrap:!1}}),{c(){r=a("meta"),C=i(),c=a("p"),T=i(),d(U.$$.fragment),nt=i(),w=a("p"),w.textContent=Zt,it=i(),d($.$$.fragment),ot=i(),b=a("p"),b.innerHTML=Ht,rt=i(),g=a("p"),g.innerHTML=Gt,at=i(),x=a("p"),x.innerHTML=Vt,pt=i(),d(J.$$.fragment),st=i(),v=a("p"),v.textContent=At,ct=i(),j=a("table"),j.innerHTML=Qt,dt=i(),d(I.$$.fragment),ft=i(),P=a("p"),P.innerHTML=Wt,Mt=i(),d(u.$$.fragment),mt=i(),L=a("p"),L.innerHTML=kt,ht=i(),d(y.$$.fragment),_t=i(),d(X.$$.fragment),Ct=i(),R=a("p"),R.textContent=St,Tt=i(),E=a("p"),E.textContent=Yt,ut=i(),B=a("p"),B.textContent=Ft,yt=i(),d(N.$$.fragment),Ut=i(),Z=a("p"),Z.textContent=zt,wt=i(),d(H.$$.fragment),$t=i(),d(G.$$.fragment),bt=i(),V=a("p"),V.innerHTML=Dt,gt=i(),A=a("p"),A.textContent=Ot,xt=i(),d(Q.$$.fragment),Jt=i(),W=a("p"),W.innerHTML=qt,vt=i(),k=a("p"),k.innerHTML=Kt,jt=i(),S=a("p"),S.textContent=te,It=i(),d(Y.$$.fragment),Pt=i(),F=a("p"),F.textContent=ee,Lt=i(),z=a("p"),z.textContent=le,Xt=i(),d(D.$$.fragment),Rt=i(),O=a("p"),O.innerHTML=ne,Et=i(),d(q.$$.fragment),Bt=i(),lt=a("p"),this.h()},l(t){const e=me("svelte-u9bgzb",document.head);r=p(e,"META",{name:!0,content:!0}),e.forEach(l),C=o(t),c=p(t,"P",{}),re(c).forEach(l),T=o(t),f(U.$$.fragment,t),nt=o(t),w=p(t,"P",{"data-svelte-h":!0}),s(w)!=="svelte-x4ob9g"&&(w.textContent=Zt),it=o(t),f($.$$.fragment,t),ot=o(t),b=p(t,"P",{"data-svelte-h":!0}),s(b)!=="svelte-iaalck"&&(b.innerHTML=Ht),rt=o(t),g=p(t,"P",{"data-svelte-h":!0}),s(g)!=="svelte-12luyx0"&&(g.innerHTML=Gt),at=o(t),x=p(t,"P",{"data-svelte-h":!0}),s(x)!=="svelte-imt8h1"&&(x.innerHTML=Vt),pt=o(t),f(J.$$.fragment,t),st=o(t),v=p(t,"P",{"data-svelte-h":!0}),s(v)!=="svelte-1tdwdd8"&&(v.textContent=At),ct=o(t),j=p(t,"TABLE",{"data-svelte-h":!0}),s(j)!=="svelte-1yk106u"&&(j.innerHTML=Qt),dt=o(t),f(I.$$.fragment,t),ft=o(t),P=p(t,"P",{"data-svelte-h":!0}),s(P)!=="svelte-gwf101"&&(P.innerHTML=Wt),Mt=o(t),f(u.$$.fragment,t),mt=o(t),L=p(t,"P",{"data-svelte-h":!0}),s(L)!=="svelte-1o5c06n"&&(L.innerHTML=kt),ht=o(t),f(y.$$.fragment,t),_t=o(t),f(X.$$.fragment,t),Ct=o(t),R=p(t,"P",{"data-svelte-h":!0}),s(R)!=="svelte-1ozjsp6"&&(R.textContent=St),Tt=o(t),E=p(t,"P",{"data-svelte-h":!0}),s(E)!=="svelte-riba3m"&&(E.textContent=Yt),ut=o(t),B=p(t,"P",{"data-svelte-h":!0}),s(B)!=="svelte-324hiy"&&(B.textContent=Ft),yt=o(t),f(N.$$.fragment,t),Ut=o(t),Z=p(t,"P",{"data-svelte-h":!0}),s(Z)!=="svelte-1x3l803"&&(Z.textContent=zt),wt=o(t),f(H.$$.fragment,t),$t=o(t),f(G.$$.fragment,t),bt=o(t),V=p(t,"P",{"data-svelte-h":!0}),s(V)!=="svelte-g3w6te"&&(V.innerHTML=Dt),gt=o(t),A=p(t,"P",{"data-svelte-h":!0}),s(A)!=="svelte-p0koup"&&(A.textContent=Ot),xt=o(t),f(Q.$$.fragment,t),Jt=o(t),W=p(t,"P",{"data-svelte-h":!0}),s(W)!=="svelte-9wlwki"&&(W.innerHTML=qt),vt=o(t),k=p(t,"P",{"data-svelte-h":!0}),s(k)!=="svelte-zu2hn2"&&(k.innerHTML=Kt),jt=o(t),S=p(t,"P",{"data-svelte-h":!0}),s(S)!=="svelte-bujigo"&&(S.textContent=te),It=o(t),f(Y.$$.fragment,t),Pt=o(t),F=p(t,"P",{"data-svelte-h":!0}),s(F)!=="svelte-4pe4cr"&&(F.textContent=ee),Lt=o(t),z=p(t,"P",{"data-svelte-h":!0}),s(z)!=="svelte-1jhnnso"&&(z.textContent=le),Xt=o(t),f(D.$$.fragment,t),Rt=o(t),O=p(t,"P",{"data-svelte-h":!0}),s(O)!=="svelte-smvu0d"&&(O.innerHTML=ne),Et=o(t),f(q.$$.fragment,t),Bt=o(t),lt=p(t,"P",{}),re(lt).forEach(l),this.h()},h(){ae(r,"name","hf:doc:metadata"),ae(r,"content",ue)},m(t,e){he(document.head,r),n(t,C,e),n(t,c,e),n(t,T,e),M(U,t,e),n(t,nt,e),n(t,w,e),n(t,it,e),M($,t,e),n(t,ot,e),n(t,b,e),n(t,rt,e),n(t,g,e),n(t,at,e),n(t,x,e),n(t,pt,e),M(J,t,e),n(t,st,e),n(t,v,e),n(t,ct,e),n(t,j,e),n(t,dt,e),M(I,t,e),n(t,ft,e),n(t,P,e),n(t,Mt,e),M(u,t,e),n(t,mt,e),n(t,L,e),n(t,ht,e),M(y,t,e),n(t,_t,e),M(X,t,e),n(t,Ct,e),n(t,R,e),n(t,Tt,e),n(t,E,e),n(t,ut,e),n(t,B,e),n(t,yt,e),M(N,t,e),n(t,Ut,e),n(t,Z,e),n(t,wt,e),M(H,t,e),n(t,$t,e),M(G,t,e),n(t,bt,e),n(t,V,e),n(t,gt,e),n(t,A,e),n(t,xt,e),M(Q,t,e),n(t,Jt,e),n(t,W,e),n(t,vt,e),n(t,k,e),n(t,jt,e),n(t,S,e),n(t,It,e),M(Y,t,e),n(t,Pt,e),n(t,F,e),n(t,Lt,e),n(t,z,e),n(t,Xt,e),M(D,t,e),n(t,Rt,e),n(t,O,e),n(t,Et,e),M(q,t,e),n(t,Bt,e),n(t,lt,e),Nt=!0},p(t,[e]){const ie={};e&2&&(ie.$$scope={dirty:e,ctx:t}),u.$set(ie);const oe={};e&2&&(oe.$$scope={dirty:e,ctx:t}),y.$set(oe)},i(t){Nt||(m(U.$$.fragment,t),m($.$$.fragment,t),m(J.$$.fragment,t),m(I.$$.fragment,t),m(u.$$.fragment,t),m(y.$$.fragment,t),m(X.$$.fragment,t),m(N.$$.fragment,t),m(H.$$.fragment,t),m(G.$$.fragment,t),m(Q.$$.fragment,t),m(Y.$$.fragment,t),m(D.$$.fragment,t),m(q.$$.fragment,t),Nt=!0)},o(t){h(U.$$.fragment,t),h($.$$.fragment,t),h(J.$$.fragment,t),h(I.$$.fragment,t),h(u.$$.fragment,t),h(y.$$.fragment,t),h(X.$$.fragment,t),h(N.$$.fragment,t),h(H.$$.fragment,t),h(G.$$.fragment,t),h(Q.$$.fragment,t),h(Y.$$.fragment,t),h(D.$$.fragment,t),h(q.$$.fragment,t),Nt=!1},d(t){t&&(l(C),l(c),l(T),l(nt),l(w),l(it),l(ot),l(b),l(rt),l(g),l(at),l(x),l(pt),l(st),l(v),l(ct),l(j),l(dt),l(ft),l(P),l(Mt),l(mt),l(L),l(ht),l(_t),l(Ct),l(R),l(Tt),l(E),l(ut),l(B),l(yt),l(Ut),l(Z),l(wt),l($t),l(bt),l(V),l(gt),l(A),l(xt),l(Jt),l(W),l(vt),l(k),l(jt),l(S),l(It),l(Pt),l(F),l(Lt),l(z),l(Xt),l(Rt),l(O),l(Et),l(Bt),l(lt)),l(r),_(U,t),_($,t),_(J,t),_(I,t),_(u,t),_(y,t),_(X,t),_(N,t),_(H,t),_(G,t),_(Q,t),_(Y,t),_(D,t),_(q,t)}}}const ue='{"title":"Efficient Training on Multiple CPUs","local":"efficient-training-on-multiple-cpus","sections":[{"title":"Intel® oneCCL Bindings for PyTorch","local":"intel-oneccl-bindings-for-pytorch","sections":[{"title":"Intel® oneCCL Bindings for PyTorch installation:","local":"intel-oneccl-bindings-for-pytorch-installation","sections":[],"depth":3}],"depth":2},{"title":"Intel® MPI library","local":"intel-mpi-library","sections":[{"title":"IPEX installation:","local":"ipex-installation","sections":[],"depth":4}],"depth":2},{"title":"Usage in Trainer","local":"usage-in-trainer","sections":[],"depth":2}],"depth":1}';function ye(K){return de(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class xe extends fe{constructor(r){super(),Me(this,r,ye,Te,ce,{})}}export{xe as component};
