Qalisa nge-Intel Trace Analyzer kunye noMqokeleli
Qalisa nge-Intel® Trace Analyzer kunye noMqokeleli
Sebenzisa olu Qalisa uxwebhu kunye nomkhondo oqokelelwe kwangaphambili file ukuhamba ngohlalutyo olusisiseko lweMPI kunye ne-Intel® Trace Analyzer kunye noMqokeleli.
I-Intel Trace Analyzer kunye noMqokeleli unceda ukuphonononga usetyenziso lwe-interface yokudlula umyalezo (MPI) kunye nokuchonga iindawo zonxibelelwano, iibhotile zokuvumelanisa, kunye nokulinganisa umthwalo. Ngolwazi oluthe kratya malunga nemveliso, bona i-Intel Trace Analyzer kunye nephepha lemveliso yoMqokeleli.
Khuphela i-Intel Trace Analyzer kunye noMqokeleli
- njengenxalenye ye-Intel® oneAPI HPC Toolkit
- njengesixhobo esizimeleyo
Izinto ezifunekayo kuqala
- Ngaphambi kokuba usebenzise i-Intel Trace Analyzer kunye noMqokeleli, qiniseka ukuba ufake i-Intel® MPI Library yamva nje kunye ne-Intel® oneAPI DPC++/C++ Compiler okanye i-Intel® Fortran Compiler.
- Oku kucwangcisa iimeko ezifunekayo eziguquguqukayo kubaqulunqi, iThala leencwadi le-Intel MPI, kunye ne-Intel Trace Analyzer kunye noMqokeleli, kwaye ulungele ukulandelela izicelo zakho.
- Ngolwazi oluthe vetshe, bona: Intel® oneAPI HPC Toolkit System Requirements.
Qonda Ukuqhutywa komsebenzi
- Landela isicelo sakho
- Hlalutya eyona misebenzi isebenzayo yeMPI
- Chonga unxibelelwano oluyingxaki
- Phucula usetyenziso lwesicelo sakho ngokutshintsha umsebenzi obangela ingxaki
Landela usetyenziso lwakho lweMPI
Yenza umkhondo file ukuqokelela iilog zesiganeko ngolu hlalutyo lulandelayo lokuziphatha.
- Cwangcisa imeko-bume yokwazisa i-Intel® Trace Analyzer kunye noMqokeleli ngokuqhuba iskripthi sesetvars ukusuka kumlawuli wofakelo we-oneAPI.
PHAWULA
Ngokungagqibekanga, i-Intel Trace Analyzer kunye noMqokeleli ifakwe kwi/opt/intel/oneapi/itac yeLinux* OS nakwiNkqubo Files (x86)\Intel\oneAPI\itac\yamva nje yeWindows* OS.
Kwi Linux:
$ umthombo /opt/intel/oneapi/setvars.sh
KwiWindows:
“C:\ Inkqubo Files (x86)\Intel\oneAPI\setvars.bat” - Qhuba isicelo sakho seMPI kwaye uvelise umkhondo ngokhetho lwe-trace.
Kwi Linux:
$ mpirun -trace -n 4 ./poisson_sendrecv.single
KwiWindows:
Qokelela i-app kwaye uqokelele umkhondo.
Kwi-Intel oneAPI DPC++/C++ Compiler, sebenzisa:
> mpiicc -trace poisson_sendrecv.single.c
Kwi-Intel Fortran Compiler, sebenzisa:
> mpiifort -trace poisson_sendrecv.single.f
Le example yenza umkhondo (stf*) njengeample poisson_sendrcv.single MPI isicelo - Vula eyenziwe .stf file kunye ne-Intel Trace Analyzer ene-Intel Trace Analyzer kunye noMqokeleli.
Kwi Linux:
$ traceanalyzer ./ poisson_sendrecv.single.stf
KwiWindows:
traceanalyzer poisson_sendrecv.single.stf
PHAWULA
Ngeenjongo zokuvavanya, unokukhuphela umkhondo oqokelelwe kwangaphambili file poisson_sendrecv.single.stf ye-poisson esetyenziswe kolu xwebhu kwaye uyivule nge-Intel Trace Analyzer kunye noMqokeleli.
I-.stf file ivula kwiPhepha lesiShwankathelo view, emele ulwazi jikelele malunga nokusebenza kwesicelo sakho:PHAWULA Ngolwazi oluthe kratya malunga ne-Intel Trace Analyzer kunye nokusebenza koMqokeleli, bona Funda ngakumbi.
Hlalutya eyona Misebenzi yeMPI esebenzayo
Hlalutya indlela yokuziphatha kwesicelo seMPI, fumana imiqobo kwaye uchonge ukulandelelana ukufumana iindlela zokuphucula ukusebenza kwesicelo.
- Ukusuka kwiPhepha lesiShwankathelo vula iSigigaba seXesha view ngokunqakraza Qhubeka > Iitshathi > Umgca wexesha loMsitho wohlalutyo olunzulu lwemisebenzi ephezulu ye-MPI.
Itshathi ibonisa imisebenzi yenkqubo nganye ngexesha.
Umsebenzi wesicelo uphindaphinda, apho ukuphindaphinda ngalunye kubandakanya inxalenye yokubala kunye nonxibelelwano lweMPI. - Chonga uphinda-phindo olunye oza kugxila kulo kwaye usondeze kuyo ngokutsala imawusi yakho ngexesha elifunekayo:
Umkhondo view ibonisa icandelo ngaphakathi komkhondo owukhethileyo. Itshathi yoMda wexesha loMnyadala ibonisa iziganeko ebezisebenza ngexesha lokuphinda okukhethiweyo.
- Imivalo ethe tye imele iinkqubo ezinemisebenzi ebizwa kwezi nkqubo.
- Imigca emnyama ibonisa imiyalezo ethunyelwe phakathi kweenkqubo. Le migca idibanisa iinkqubo zokuthumela nokufumana.
- Imigca eluhlaza okwesibhakabhaka imele imisebenzi edibeneyo, njengokusasaza okanye ukunciphisa imisebenzi.
- Tshintshela kwiFlethi yeProfile isithuba (A) ukujonga ngokusondeleyo kwimisebenzi eyenziwa kwindawo yakho ( ekhethiweyo kwiSihlo sexesha.
- Imisebenzi ye-MPI engamaqela yokuhlalutya umsebenzi wenkqubo ye-MPI kwisicelo sakho.
Ukwenza oku, cofa ekunene kuzo Zonke Iinkqubo> Iqela leMPI ( B) kwiFlat Profile kwaye ukhethe UngroupMPI. Lo msebenzi uveza iminxeba yeMPI nganye. - Hlalutya iinkqubo zokunxibelelana nabamelwane babo ngokuthe ngqo usebenzisa iMPI_Sendrecv ekuqaleni kokuphindaphinda. Umzekeloample:
- a. Kwisample, i-MPI_Sendrecv yotshintshiselwano lwedatha ine-bottleneck: inkqubo ayitshintshi idatha kunye nommelwane wayo olandelayo de utshintshiselwano kunye nolo lwangaphambili lugqityiwe. Amaxesha oMnyhadala view ibonisa lo mqobo njengezitepsi.
- b. I-MPI_Allreduce ekupheleni kophindaphindo iphinda ilungelelanise zonke iinkqubo; yiyo loo nto le block inenkangeleko yereverse staircase.
- Chonga uthotho, usebenzisa iFunction Profile kunye noMyalezo weProfile views.
- a. Vula iitshathi ngaxeshanye:
KuMsebenzi weProfile itshathi, vula i-Load Balancetab. - Yiya kwimenyu yeetshathi ukuvula uMyalezo weProfile.
- b. Kwisithuba sokuLawulwa kweBalance, yandisa iMPI_Sendrecv kunye neMPI_Allreduce. I-Load Balancing ibonisa ukuba ixesha elichithwe kwi-MPI_Sendrecv liyanyuka ngenani lenkqubo, ngelixa ixesha le-MPI_Allreduce liyancipha.
- c. Jonga uMyalezo weProfile Tshati ezantsi kwikona esezantsi ekunene.
Ukufakwa kwekhowudi yombala kwiibhloko kubonisa ukuba imiyalezo esuka kwirenki ephezulu ukuya kwelona nqanaba lisezantsi idinga ixesha elithe kratya ngelixa imiyalezo esuka kwindawo esezantsi ukuya kwindawo ephezulu iveza uhlobo olubuthathaka nolungaqhelekanga lwepateni:
- a. Vula iitshathi ngaxeshanye:
Iziphumo zohlalutyo oluthelekisayo zibonisa ukuba akukho zipatheni zokutshintshiselana eziyinkimbinkimbi kwisicelo, ukutshintshiselana kuqhutyelwa kuphela ngeenkqubo zommelwane. Ulwazi luya kuba yimfuneko ekuPhuculeni ukuSebenza kweSicelo sakho ngokuTshintsha inyathelo loNxibelelwano lokuphucula imodeli yonxibelelwano yesicelo.
Chonga uNxibelelwano olungalungelelananga
Jonga isicelo sakho phantsi kweemeko ezifanelekileyo kwaye uthelekise umkhondo wokuqala file ngeyona ilungiselelweyo ukwahlula unxibelelwano oluyingxaki.
- Yenza i-dealized file:
- a. Khetha kuNqabileyo > Ukwenziwa ngokufanelekileyo okanye ucofe i
(Idealization) iqhosha lebar yesixhobo.
- b. Jonga iiparameters ezinqwenelekayo kwi-Idealization yebhokisi yencoko yababini (umkhondo ofanelekileyo file igama kunye nexesha lokuguqulwa).
- c. Cofa u-Qala ukuze wenze umkhondo wakho ube ngowona mlinganiselo.
- a. Khetha kuNqabileyo > Ukwenziwa ngokufanelekileyo okanye ucofe i
- Thelekisa umkhondo wokuqala kunye nomkhondo ofanelekileyo:
- a. Khetha kuNqabileyo> Idayagram yokungalingani okanye ucofe i
(I-Imbalance Diagram) iqhosha lebar yesixhobo.
- b. Kwibhokisi yediagram yeDiyagram yokungalingani, cofa i Vula Enye File iqhosha, jonga kumkhondo ofanelekileyo, kwaye uyikhethe.
- c. Kwifestile yeDiyagram yokungalingani, cofa iNdlela iyonke iqhosha kwaye ukhethe iNdlela yokuCalula.
- a. Khetha kuNqabileyo> Idayagram yokungalingani okanye ucofe i
Uyabona ukuba iMPI_Sendrecv ngowona msebenzi uthatha ixesha. Ubunzima bokungalingani buboniswa kwi
umbala okhanyayo kwaye uquka malunga ne-10% yeMPI_Sendrecv umsebenzi. Eli lixesha elichithwa ziinkqubo zilindana.
Phucula iNdlela yokuSebenza kwakho ngokuTshintsha uNxibelelwano
- Ukuphucula ukusebenza kwesicelo seMPI ngokutshintsha ukubhloka kunxibelelwano olungathinteliyo.
Kwikhowudi yakho buyisela uthotho lweMPI_Sendrcv ngonxibelelwano olungathinteliyo: MPI_Isend kunye neMPI_Irecv. Umzekeloample: Ikhowudi yoqobo yesnippet:
// Utshintshiselwano lomda
Utshintshiselwano olungenanto (ipara* p, igridi* gr){
mna,j;
MPI_Status status_100, status_200, status_300, status_400;
// thumela phantsi umqolo wokuqala
MPI_Thumela(gr->x_new[1], gr->lcol+2, MPI_DOUBLE, gr->down, 100, MPI_COMM_WORLD); MPI_Recv(gr->x_new[gr->lrow+1], gr->lcol+2, MPI_DOUBLE, gr->up, 100, MPI_COMM_WORLD,
&status_100);
// thumela umqolo wokugqibela
MPI_Thumela(gr->x_new[gr->lrow], gr->lcol+2, MPI_DOUBLE, gr->up, 200, MPI_COMM_WORLD);
MPI_Recv(gr->x_new[0], gr->lcol+2, MPI_DOUBLE, gr->down, 200, MPI_COMM_WORLD, &status_200);
Sebenzisa uthelekiso lwe-Intel Trace Analyzer view ukuthelekisa usetyenziso olulandelelanayo noluhlaziyiweyo
// khuphela ikholamu ekhohlo kuluhlu lwe-tmp
ukuba(gr->ekhohlo != MPI_PROC_NULL){
gr->x_new[i][gr->lcol+1] = right_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
// thumela ekunene
MPI_Thumela(right_col, gr->lrow+2, MPI_DOUBLE, gr->right, 400, MPI_COMM_WORLD); }
ukuba(gr->ekhohlo != MPI_PROC_NULL)
{
MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->left, 400, MPI_COMM_WORLD,&status_400); ye(i=0; i< gr->lrow+2; i++
{
gr->x_new[i][0] = left_col[i];
}
}
Ikhowudi encinci ehlaziyiweyo
MPI_Cela isicelo[7];
// thumela phantsi umqolo wokuqala
MPI_Thumela(gr->x_new[1], gr->lcol+2, MPI_DOUBLE, gr->down, 100, MPI_COMM_WORLD, &req[0]);
MPI_Irecv(gr->x_new[gr->lrow+1], gr->lcol+2, MPI_DOUBLE, gr->up, 100, MPI_COMM_WORLD, &req[1]);
…..
MPI_Waitall(7, req, MPI_STATUSES_IGNORE);
Xa sele ilungisiwe, uphinda-phindo olunye lwesicelo esihlaziyiweyo luza kujongeka ngolu hlobo lulandelayoample: - Sebenzisa uthelekiso lwe-Intel Trace Analyzer view ukuthelekisa usetyenziso olulandelelweyo kunye noluhlaziyiweyo. Thelekisa imikhondo emibini ngoncedo lothelekiso View, ndiya e View > Thelekisa. Uthelekiso View ibonakala ifana ne:
KuMthelekiso View, unokubona ukuba ukusebenzisa unxibelelwano olungathinteli kunceda ukususa ulandelelwano kunye nokunciphisa ixesha lokunxibelelana kweenkqubo.
PHAWULA Ngolwazi oluthe kratya malunga nokusebenza kwe-node-level yesicelo sakho, bona amaxwebhu ezixhobo ezifanelekileyo: Intel® VTune™ Profiler Uhlalutyo lweKhowudi yeMPI kunye nokuHlalutya izicelo ze-Intel® MPI usebenzisa i-Intel® Advisor.
Funda nzulu
Jonga ezi zixhobo zilandelayo ngolwazi oluthe kratya malunga ne-Intel Trace Analyzer kunye noMqokeleli.
Izaziso kunye neZikhuphelo
- Iitekhnoloji ze-Intel zinokufuna i-Hardware, isoftware okanye isebenze.
- Akukho mveliso okanye inxalenye inokukhuseleka ngokupheleleyo.
- Iindleko zakho kunye neziphumo zinokwahluka.
- © Intel Corporation. I-Intel, ilogo ye-Intel, kunye nezinye iimpawu ze-Intel ziimpawu zorhwebo ze-Intel Corporation okanye iinkampani eziphantsi kwayo. Amanye amagama kunye neempawu zingabangwa njengempahla yabanye.
- Akukho layisenisi (ecaciswayo okanye ekhankanyiweyo, nge-estoppel okanye ngenye indlela) kuwo nawaphi na amalungelo epropathi enomgangatho ophezulu wokuqonda inikwe kolu xwebhu.
- Iimveliso ezichaziweyo zinokuqulatha iziphene zoyilo okanye iimpazamo ezaziwa ngokuba yierrata ezinokubangela ukuba imveliso ijike kwiinkcukacha ezipapashiweyo. Iimpazamo ezikhoyo ngoku ziyafumaneka xa ziceliwe.
- I-Intel iyazikhupha zonke iziqinisekiso ezicacileyo nezichaziweyo, kubandakanywa ngaphandle komlinganiselo, iziqinisekiso ezichaziweyo zokurhweba, ukufaneleka kwenjongo ethile, kunye nokungonakali, kunye nayo nayiphi na iwaranti evela kwikhosi yokusebenza, ikhosi yokuthengisa, okanye ukusetyenziswa kwezorhwebo.
Amaxwebhu / Izibonelelo
![]() |
intel Qalisa nge-Intel Trace Analyzer kunye noMqokeleli [pdf] Isikhokelo somsebenzisi Qalisa nge-Intel Trace Analyzer kunye noMqokeleli, Qalisa nge-Intel, i-Trace Analyzer kunye noMqokeleli, uMqokeleli. |