Pib nrog Intel Trace Analyzer thiab Collector
Pib nrog Intel® Trace Analyzer thiab Collector
Siv daim ntawv no Tau Pib thiab ib qho kev sau ua ntej file taug kev los ntawm MPI kev ntsuas kev ua tau zoo nrog Intel® Trace Analyzer thiab Collector.
Intel Trace Analyzer thiab Collector pab tshawb nrhiav cov lus hla kev sib txuas (MPI) kev siv tau zoo thiab txheeb xyuas cov kev sib txuas lus hotspots, synchronization bottlenecks, thiab load ntsuas. Yog xav paub ntxiv txog cov khoom, mus saib Intel Trace Analyzer thiab Cov Khoom Muag Khoom nplooj ntawv.
Download Intel Trace Analyzer thiab Sau
- ua ib feem ntawm Intel® oneAPI HPC Toolkit
- raws li ib tug standalone cuab tam
Yam yuavtsum tau kawm uantej
- Ua ntej khiav Intel Trace Analyzer thiab Collector, nco ntsoov tias koj tau teeb tsa qhov tseeb Intel® MPI Library thiab Intel® oneAPI DPC ++/C ++ Compiler lossis Intel® Fortran Compiler.
- Qhov no teeb tsa cov kev hloov pauv ib puag ncig uas xav tau rau cov neeg sau sau, Intel MPI Library, thiab Intel Trace Analyzer thiab Collector, thiab koj npaj txhij taug qab koj daim ntawv thov.
- Yog xav paub ntxiv, saib: Intel® oneAPI HPC Toolkit System Requirements.
Nkag siab txog Kev Ua Haujlwm
- Taug qab Koj Daim Ntawv Thov
- Tshawb xyuas cov haujlwm MPI nquag tshaj plaws
- Txheeb xyuas qhov teeb meem sib cuam tshuam
- Txhim kho koj daim ntawv thov kev ua tau zoo los ntawm kev hloov qhov teeb meem ua rau muaj nuj nqi
Tshawb xyuas koj daim ntawv thov MPI
Tsim ib txoj lw file txhawm rau sau cov ntawv teev xwm txheej rau kev txheeb xyuas tus cwj pwm hauv qab no.
- Teeb tsa ib puag ncig rau kev tshaj tawm Intel® Trace Analyzer thiab Collector los ntawm kev khiav cov ntawv setvars los ntawm tus thawj coj ntawm oneAPI installation
Nco tseg
Los ntawm lub neej ntawd, Intel Trace Analyzer thiab Collector raug teeb tsa rau /opt/intel/oneapi/itac rau Linux * OS thiab rau Program Files (x86)\Intel\oneAPI\itac\latest for Windows* OS.
Hauv Linux:
$ qhov chaw /opt/intel/oneapi/setvars.sh
Hauv Windows:
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat” - Khiav koj daim ntawv thov MPI thiab tsim ib txoj kab nrog qhov kev xaiv -trace.
Hauv Linux:
$ mpirun -trace -n 4 ./poisson_sendrecv.single
Hauv Windows:
Sau cov app thiab sau cov kab.
Rau Intel oneAPI DPC ++ / C ++ Compiler, khiav:
> mpiicc -trace poisson_sendrecv.single.c
Rau Intel Fortran Compiler, khiav:
> mpiifort -trace poisson_sendrecv.single.f
Qhov no example generates a trace (stf*) for asample poisson_sendrcv.single MPI daim ntawv thov - Qhib cov generated .stf file nrog Intel Trace Analyzer nrog Intel Trace Analyzer thiab Collector.
Hauv Linux:
$ traceanalyzer ./ poisson_sendrecv.single.stf
Hauv Windows:
traceanalyzer poisson_sendrecv.single.stf
Nco tseg
Rau kev sim lub hom phiaj, koj tuaj yeem rub tawm cov kab ua ntej sau file poisson_sendrecv.single.stf rau poisson siv hauv daim ntawv no thiab qhib nws nrog Intel Trace Analyzer thiab Collector.
Ib .stf file opens nyob rau hauv lub Summary Page view, uas sawv cev rau cov ntaub ntawv dav dav txog koj daim ntawv thov kev ua haujlwm:Nco tseg Yog xav paub ntxiv txog Intel Trace Analyzer thiab Collector functionality, saib Kawm Ntxiv.
Tshawb xyuas cov haujlwm tseem ceeb tshaj plaws ntawm MPI
Txheeb xyuas MPI tus cwj pwm ntawm daim ntawv thov, nrhiav cov kev tsis sib haum xeeb thiab txheeb xyuas qhov kev txheeb xyuas los nrhiav txoj hauv kev los txhim kho daim ntawv thov kev ua tau zoo.
- Los ntawm nplooj ntawv Summary qhib lub sijhawm teem sijhawm view los ntawm txhaj txuas ntxiv> Kab kos> Sijhawm Sijhawm Sijhawm rau kev soj ntsuam sib sib zog nqus ntawm MPI cov haujlwm saum toj kawg nkaus.
Daim ntawv qhia qhia txog tus kheej cov kev ua ub no nyob rau lub sijhawm.
Daim ntawv thov ua haujlwm yog rov ua dua, qhov twg txhua qhov kev rov ua dua suav nrog kev suav nrog thiab MPI kev sib txuas lus. - Txheeb xyuas ib qho iteration los tsom rau thiab zoom rau hauv nws los ntawm kev rub koj tus nas hla lub sijhawm xav tau:
Txoj kab view qhia cov seem hauv kab uas koj xaiv. Daim phiaj xwm txheej ncua sij hawm qhia cov xwm txheej uas tau ua haujlwm thaum lub sijhawm xaiv iteration.
- Kab rov tav kab sawv cev rau cov txheej txheem nrog cov haujlwm hu ua hauv cov txheej txheem no.
- Cov kab dub qhia cov lus xa ntawm cov txheej txheem. Cov kab no txuas cov txheej txheem xa thiab txais.
- Cov kab xiav sawv cev ua haujlwm sib sau ua ke, xws li tshaj tawm lossis txo cov haujlwm.
- Hloov mus rau Flat Profile tab (A) kom saib ze dua ntawm cov haujlwm ua haujlwm hauv lub sijhawm taw qhia koj (xaiv hauv Cov Sijhawm Sijhawm Sijhawm.
- Ungroup MPI ua haujlwm los txheeb xyuas MPI cov txheej txheem ua haujlwm hauv koj daim ntawv thov.
Ua li no, right-click the All Processes> Group MPI (B) in the Flat Profile thiab xaiv UngroupMPI. Qhov kev ua haujlwm no nthuav tawm MPI tus kheej hu. - Tshawb xyuas cov txheej txheem sib txuas lus nrog lawv cov neeg nyob ze ncaj qha siv MPI_Sendrecv thaum pib ntawm qhov rov ua dua. Rau example:
- a. Hauv sample, MPI_Sendrecv cov ntaub ntawv sib pauv muaj lub cev tsis muaj zog: cov txheej txheem tsis pauv cov ntaub ntawv nrog nws cov neeg nyob ze tom ntej kom txog thaum kev sib pauv nrog yav dhau los ua tiav. Lub Sijhawm Txheej Txheem view qhia txog lub fwj dej no ua ib lub staircase.
- b. MPI_Allreduce thaum kawg ntawm qhov iteration resynchronizes tag nrho cov txheej txheem; Yog vim li cas qhov thaiv no muaj qhov rov qab staircase zoo li.
- Txheeb xyuas serialization, siv Function Profile thiab Message Profile views.
- ib. Qhib cov kab kos tib lub sijhawm:
Hauv Function Profile daim ntawv qhia, qhib lub Load Balancetab. - Mus rau kab ntawv qhia zaub mov kom qhib Message Profile.
- b. Hauv Load Balance tab, nthuav MPI_Sendrecv thiab MPI_Allreduce. Load Balancing qhia tias lub sij hawm siv hauv MPI_Sendrecv nce nrog tus txheej txheem, thaum lub sij hawm rau MPI_Allreduce txo.
- c. Tshawb xyuas Cov Lus Profile Kos rau ntawm lub kaum sab xis sab xis.
Cov xim coding ntawm cov blocks qhia tau hais tias cov lus taug kev los ntawm qib siab dua mus rau qib qis yuav tsum muaj sijhawm ntau dua thaum cov lus taug kev los ntawm qib qis mus rau qib siab dua qhia qhov tsis muaj zog txawm- khib hom qauv:
- ib. Qhib cov kab kos tib lub sijhawm:
Cov txiaj ntsig ntawm kev sib piv kev soj ntsuam qhia tau hais tias tsis muaj kev sib pauv hloov pauv hauv cov ntawv thov, kev sib pauv tsuas yog ua nrog cov txheej txheem nyob sib ze. Cov ntaub ntawv yuav yog qhov tseem ceeb rau Txhim Kho Koj Daim Ntawv Thov Kev Ua Haujlwm los ntawm Kev Hloov Kev Sib Txuas Lus txhawm rau txhim kho cov qauv kev sib txuas lus ntawm daim ntawv thov.
Txheeb xyuas kev sib txuas lus tsis sib xws
Saib koj daim ntawv thov raws li qhov xwm txheej zoo tshaj plaws thiab sib piv cov kab qub qub file nrog rau qhov zoo tshaj plaws kom cais cov teeb meem cuam tshuam.
- Tsim ib lub tswv yim zoo file:
- a. Xaiv Advanced> Idealization los yog nyem rau ntawm
(Idealization) toolbar khawm.
- b. Txheeb xyuas qhov kev ua kom zoo tshaj plaws nyob rau hauv Idealization dialog box (zoo tagnrho kab file lub npe thiab lub sijhawm rau kev hloov dua siab tshiab).
- c. Nyem Pib txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau nws
- a. Xaiv Advanced> Idealization los yog nyem rau ntawm
- Sib piv cov kab qub qub nrog cov kab uas zoo tshaj plaws:
- ib. Xaiv Advanced> Imbalance Diagram lossis nyem rau ntawm
(Imbalance Diagram) toolbar khawm.
- b. Nyob rau hauv lub Imbalance Diagram dialog box, nyem qhov Qhib Lwm File khawm, mus rau qhov zoo tshaj plaws kab, thiab xaiv nws.
- c. Nyob rau hauv lub qhov rais Imbalance Diagram, nias lub pob tag nrho hom thiab xaiv Breakdown hom.
- ib. Xaiv Advanced> Imbalance Diagram lossis nyem rau ntawm
Koj tuaj yeem pom tias MPI_Sendrecv yog lub sijhawm siv sijhawm ntau tshaj plaws. Lub imbalance hnyav yog tso tawm nyob rau hauv
lub teeb xim thiab muaj li ntawm 10% rau MPI_Sendrecv muaj nuj nqi. Nov yog lub sijhawm cov txheej txheem siv tos ib leeg.
Txhim kho koj daim ntawv thov kev ua tau zoo los ntawm kev hloov kev sib txuas lus
- Txhim kho qhov kev ua tau zoo ntawm daim ntawv thov MPI los ntawm kev hloov kev thaiv mus rau kev sib txuas lus tsis thaiv.
Hauv koj cov cai hloov qhov serial MPI_Sendrcv nrog kev sib txuas lus tsis thaiv: MPI_Isend thiab MPI_Irecv. Rau example: Original code snippet:
// ciam teb pauv
void pauv(para* p, grid* gr){
ib i,j;
MPI_Status status_100, status_200, status_300, status_400;
// xa thawj kab
MPI_Send(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);
// xa kab kawg
MPI_Send(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);
Siv Intel Trace Analyzer Sib Piv view los sib piv daim ntawv thov serialized nrog cov hloov kho
// luam kab laug sab rau tmp arrays
if(gr->left != MPI_PROC_NULL){
gr->x_new[i][gr->lcol+1] = right_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
// xa txoj cai
MPI_Send(right_col, gr->lrow+2, MPI_DOUBLE, gr->right, 400, MPI_COMM_WORLD); }
if(gr->left != MPI_PROC_NULL)
{
MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->left, 400, MPI_COMM_WORLD, &status_400); for(i=0; i< gr->lrow+2; i++
{
gr->x_new[i][0] = left_col[i];
}
}
Hloov kho code snippet
MPI_Request req[7];
// xa thawj kab
MPI_Isend(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);
Thaum kho, ib qho iteration ntawm daim ntawv thov hloov kho yuav zoo li cov nram qab no example: - Siv Intel Trace Analyzer Sib Piv view los sib piv daim ntawv thov serialized nrog rau qhov kho dua. Sib piv ob kab nrog kev pab los ntawm Kev Sib Piv View, mus View > Sib piv. Kev sib piv View zoo ib yam li:
Hauv Kev Sib Piv View, koj tuaj yeem pom tias kev siv cov kev sib txuas lus tsis thaiv kev pab tshem tawm serialization thiab txo lub sijhawm ntawm kev sib txuas lus ntawm cov txheej txheem.
Nco tseg Yog xav paub ntxiv txog kev ua tau zoo ntawm node-theem ntawm koj daim ntawv thov, saib cov ntaub ntawv rau cov cuab yeej: Intel® VTune™ Profiler MPI Code Analysis thiab Analyzing Intel® MPI daim ntawv thov siv Intel® Advisor.
Kawm ntxiv
Tshawb nrhiav cov peev txheej hauv qab no kom paub ntau ntxiv txog Intel Trace Analyzer thiab Collector.
Cov ntawv ceeb toom thiab tsis lees paub
- Cov thev naus laus zis thev naus laus zis tej zaum xav tau kev kho vajtse, software lossis kev ua haujlwm.
- Tsis muaj cov khoom lag luam lossis cov khoom lag luam tuaj yeem ruaj ntseg kiag li.
- Koj cov nqi thiab cov txiaj ntsig yuav txawv.
- © Intel Corporation. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Lwm lub npe thiab cov npe yuav raug lees paub tias yog cov cuab yeej ntawm lwm tus.
- Tsis muaj daim ntawv tso cai (qhia los yog hais, los ntawm estoppel los yog lwm yam) rau ib qho kev txawj ntse muaj cai tau tso cai los ntawm daim ntawv no.
- Cov khoom uas tau piav qhia yuav muaj cov qauv tsim los yog qhov yuam kev hu ua errata uas tuaj yeem ua rau cov khoom sib txawv ntawm cov lus tshaj tawm. Tam sim no tus yam ntxwv errata muaj nyob rau ntawm kev thov.
- Intel tsis lees paub txhua qhov kev lees paub thiab kev lees paub, suav nrog yam tsis muaj kev txwv, kev lees paub ntawm kev ua lag luam, kev nyab xeeb rau lub hom phiaj tshwj xeeb, thiab tsis ua txhaum cai, nrog rau txhua qhov kev lees paub tshwm sim los ntawm kev ua tau zoo, kev lag luam, lossis kev siv hauv kev lag luam.
Cov ntaub ntawv / Cov ntaub ntawv
![]() |
intel Pib Pib nrog Intel Trace Analyzer thiab Collector [ua pdf] Cov neeg siv phau ntawv qhia Pib nrog Intel Trace Analyzer thiab Collector, Pib nrog Intel, Trace Analyzer thiab Collector, Collector |