Bẹrẹ pẹlu Intel Trace Analyzer ati Alakojo
Bẹrẹ pẹlu Intel® Trace Analyzer and Collector
Lo iwe Bibẹrẹ yii ati itọpa ti a ti ṣajọ tẹlẹ file lati rin nipasẹ itupalẹ iṣẹ ṣiṣe MPI ipilẹ kan pẹlu Intel® Trace Analyzer and Collector.
Intel Trace Analyzer ati Collector ṣe iranlọwọ lati ṣawari imunadoko ni wiwo ti nkọja ifiranṣẹ (MPI) ati ṣe idanimọ awọn aaye ibaraẹnisọrọ, awọn igo imuṣiṣẹpọ, ati iwọntunwọnsi fifuye. Fun alaye diẹ sii nipa ọja naa, wo Intel Trace Analyzer ati Oju-iwe ọja Alakojọpọ.
Ṣe igbasilẹ Itupalẹ Itọpa Intel ati Alakojọpọ
- gẹgẹ bi ara Intel® oneAPI HPC Toolkit
- bi awọn kan standalone ọpa
Awọn ibeere pataki
- Ṣaaju ki o to ṣiṣẹ Intel Trace Analyzer ati Alakojọpọ, rii daju pe o ti fi sii titun Intel® MPI Library ati Intel® oneAPI DPC++/C++ Compiler tabi Intel® Fortran Compiler.
- Eyi ṣeto awọn oniyipada ayika ti o nilo fun awọn alakojọ, ile-ikawe Intel MPI, ati Atupalẹ Intel Trace ati Alakojọpọ, ati pe o ti ṣetan lati wa kakiri awọn ohun elo rẹ.
- Fun alaye diẹ ẹ sii, wo: Intel® oneAPI HPC Toolkit System Awọn ibeere.
Loye Sisẹ-iṣẹ naa
- Tọpasẹ Ohun elo Rẹ
- Ṣe itupalẹ awọn iṣẹ MPI ti nṣiṣẹ julọ
- Ṣe idanimọ awọn ibaraẹnisọrọ iṣoro
- Ṣe ilọsiwaju iṣẹ ohun elo rẹ nipa rirọpo iṣẹ ti nfa iṣoro
Wa ohun elo MPI rẹ
Ṣe ina kan wa kakiri file lati gba awọn akọọlẹ iṣẹlẹ fun itupalẹ ihuwasi ohun elo atẹle.
- Ṣeto agbegbe fun ifilọlẹ Intel® Trace Analyzer ati Alakojọpọ nipa ṣiṣe iwe afọwọkọ setvars lati ọdọ oludari fifi sori ẹrọ oneAPI
AKIYESI
Nipa aiyipada, Intel Trace Analyzer ati Alakojọpọ ti fi sii si /opt/intel/oneapi/itac fun Linux* OS ati si Eto Files (x86)\Intel\oneAPI\itac tuntun fun Windows* OS.
Lori Linux:
$ orisun /opt/intel/oneapi/setvars.sh
Lori Windows:
"C:\Eto Files (x86)\Intel\oneAPIsetvars.bat" - Ṣiṣe ohun elo MPI rẹ ki o ṣe ipilẹṣẹ itọpa pẹlu aṣayan -trace.
Lori Linux:
$ mpirun -trace -n 4 ./poisson_sendrecv.single
Lori Windows:
Ṣe akopọ app naa ki o gba itọpa naa.
Fun Intel oneAPI DPC++/C++ Compiler, ṣiṣe:
> mpicc -trace poisson_sendrecv.single.c
Fun Intel Fortran Compiler, ṣiṣe:
> mpifort -trace poisson_sendrecv.single.f
Eyi example gbogbo wa kakiri (stf*) fun biample poisson_sendrcv.single MPI ohun elo - Ṣii ipilẹṣẹ .stf file pẹlu Intel Trace Analyzer pẹlu Intel Trace Oluyanju ati Alakojo.
Lori Linux:
$ traceanalyzer ./ poisson_sendecv.single.stf
Lori Windows:
traceanalyzer poisson_sendecv.single.stf
AKIYESI
Fun awọn idi idanwo, o le ṣe igbasilẹ itọpa ti a ti ṣajọ tẹlẹ file poisson_sendecv.single.stf fun poisson ti a lo ninu iwe yii ki o si ṣi i pẹlu Intel Trace Analyzer ati Collector.
Awọn .stf file ṣi ni Lakotan Page view, eyiti o duro fun alaye gbogbogbo nipa iṣẹ ṣiṣe ohun elo rẹ:AKIYESI Fun alaye diẹ sii nipa Intel Trace Analyzer ati iṣẹ-odè, wo Kọ ẹkọ Diẹ sii.
Ṣe itupalẹ Awọn iṣẹ MPI ti nṣiṣẹ julọ
Ṣe itupalẹ ihuwasi ohun elo MPI kan, wa awọn igo ati ṣe idanimọ serialization lati wa awọn ọna lati mu ilọsiwaju ohun elo naa dara.
- Lati Oju-iwe Lakotan ṣii Ago Iṣẹlẹ view nipa tite Tẹsiwaju> Awọn aworan atọka> Aago Iṣẹlẹ fun itupalẹ jinlẹ ti awọn iṣẹ MPI oke.
Awọn aworan atọka han olukuluku ilana akitiyan lori akoko.
Iṣẹ ohun elo jẹ aṣetunṣe, nibiti aṣetunṣe kọọkan ni apakan iṣiro kan ati awọn ibaraẹnisọrọ MPI. - Ṣe idanimọ aṣetunṣe ẹyọkan lati dojukọ ati sun-un sinu rẹ nipa fifaa asin rẹ lori aarin akoko ti o nilo:
Itọpa naa view fihan apakan laarin itọpa ti o yan. Aworan Ago Iṣẹlẹ fihan awọn iṣẹlẹ ti o ṣiṣẹ lakoko aṣetunṣe ti a yan.
- Awọn ifipa petele ṣe aṣoju awọn ilana pẹlu awọn iṣẹ ti a pe ninu awọn ilana wọnyi.
- Black ila tọkasi awọn ifiranṣẹ rán laarin awọn ilana. Awọn ila wọnyi so awọn ilana fifiranṣẹ ati gbigba wọle.
- Awọn laini buluu ṣe aṣoju awọn iṣẹ apapọ, gẹgẹbi igbohunsafefe tabi dinku awọn iṣẹ.
- Yipada si Flat Profile taabu (A) lati wo awọn iṣẹ ṣiṣe ni akoko ti o yan ni Ago Iṣẹlẹ.
- Kojọpọ awọn iṣẹ MPI lati ṣe itupalẹ iṣẹ ṣiṣe MPI ninu ohun elo rẹ.
Lati ṣe eyi, tẹ-ọtun lori Gbogbo Awọn ilana> Ẹgbẹ MPI (B) ni Flat Profile ko si yan UngroupMPI. Išišẹ yii ṣafihan awọn ipe MPI kọọkan. - Ṣe itupalẹ awọn ilana ibaraẹnisọrọ pẹlu awọn aladugbo taara wọn nipa lilo MPI_Sendrecv ni ibẹrẹ aṣetunṣe. Fun example:
- a. Ninu awọn sample, MPI_Sendrecv data paṣipaarọ ni o ni a bottleneck: awọn ilana ko ni ṣe paṣipaarọ data pẹlu awọn oniwe-tókàn aládùúgbò titi ti paṣipaarọ pẹlu awọn ti tẹlẹ ọkan ti pari. Awọn Ago Iṣẹlẹ view ṣe afihan ọrun igo yii bi pẹtẹẹsì.
- b. MPI_Allreduce ni opin aṣetunṣe atunṣe gbogbo awọn ilana; ti o ni idi yi Àkọsílẹ ni o ni yiyipada staircase irisi.
- Ṣe idanimọ serialization, lilo iṣẹ Profile ati Ifiranṣẹ Profile views.
- a. Ṣii awọn shatti ni akoko kanna:
Ninu iṣẹ Profile chart, ṣii Load Balancetab. - Lọ si akojọ awọn shatti lati ṣii Ifiranṣẹ Profile.
- b. Ninu taabu Load Iwontunws.funfun, faagun MPI_Sendrecv ati MPI_Allreduce. Iwontunwonsi Fifuye tọkasi pe akoko ti o lo ni MPI_Sendrecv pọ si pẹlu nọmba ilana, lakoko ti akoko fun MPI_Allreduce dinku.
- c. Ṣayẹwo Ifiranṣẹ Profile Ṣe apẹrẹ si isalẹ si igun ọtun isalẹ.
Ifaminsi awọ ti awọn bulọọki tọkasi pe awọn ifiranṣẹ ti o rin irin-ajo lati ipo giga si ipo kekere nilo akoko diẹ sii ni iwọn nigba ti awọn ifiranṣẹ ti nrin lati ipo kekere si ipo giga ti o ṣafihan iru apẹẹrẹ alailera paapaa-odd:
- a. Ṣii awọn shatti ni akoko kanna:
Awọn abajade ti itupalẹ afiwe fihan pe ko si awọn ilana paṣipaarọ eka ninu ohun elo, paṣipaarọ naa ni a ṣe pẹlu awọn ilana agbegbe nikan. Alaye naa yoo jẹ pataki fun Imudara Iṣe Ohun elo Rẹ nipasẹ Yiyipada igbese Awọn ibaraẹnisọrọ lati mu awoṣe ibaraẹnisọrọ ti ohun elo naa dara si.
Ṣe idanimọ Awọn ibaraẹnisọrọ Ailabawọn
Wo ohun elo rẹ labẹ awọn ipo pipe ki o ṣe afiwe itọpa atilẹba file pẹlu ọkan ti o yẹ lati ya sọtọ awọn ibaraẹnisọrọ iṣoro.
- Ṣẹda bojumu file:
- a. Yan To ti ni ilọsiwaju > Idealization tabi tẹ awọn
(Idealization) bọtini irinṣẹ.
- b. Ṣayẹwo awọn paramita imudara ninu apoti ibaraẹnisọrọ Idealization (itọpa to dara file orukọ ati ibiti akoko fun iyipada).
- c. Tẹ Bẹrẹ lati ṣe apẹrẹ itọpa rẹ.
- a. Yan To ti ni ilọsiwaju > Idealization tabi tẹ awọn
- Ṣe afiwe itọpa atilẹba pẹlu itọpa ti o bojumu:
- a. Yan To ti ni ilọsiwaju > Aworan aiṣedeede tabi tẹ awọn
(Imbalance Diagram) bọtini irinṣẹ.
- b. Ninu apoti ifọrọwerọ Imbalance, tẹ Ṣii Miiran File Bọtini, lilö kiri si itọpa ti o yẹ ki o yan.
- c. Ni window Imbalance Diagram, tẹ bọtini Ipo Apapọ ki o yan Ipo didenukole.
- a. Yan To ti ni ilọsiwaju > Aworan aiṣedeede tabi tẹ awọn
O le rii pe MPI_Sendrecv jẹ iṣẹ ti n gba akoko pupọ julọ. Iwọn aiṣedeede ti han ni
awọ ina ati pe o ni nipa 10% fun iṣẹ MPI_Sendrecv. Eyi ni akoko ti awọn ilana n duro de ara wọn.
Ṣe ilọsiwaju Iṣe Ohun elo rẹ nipasẹ Yiyipada Awọn ibaraẹnisọrọ
- Ṣe ilọsiwaju iṣẹ ohun elo MPI nipa yiyipada idinamọ si awọn ibaraẹnisọrọ ti kii ṣe idinamọ.
Ninu koodu rẹ rọpo MPI_Sendrcv ni tẹlentẹle pẹlu ibaraẹnisọrọ ti kii ṣe idilọwọ: MPI_Isend ati MPI_Irecv. Fun example: Atilẹba koodu snippet:
// pasipaaro aala
paṣipaarọ ofo (para * p, akoj * gr){
int i,j;
Ipo MPI_Ipo_100, status_200, status_300, status_400;
// firanṣẹ ila akọkọ
MPI_Send (gr-> x_new [1], gr-> ccol +2, MPI_DOUBLE, gr-> isalẹ, 100, MPI_COMM_WORLD); MPI_Recv(gr->x_new[gr->lrow+1], gr->col+2, MPI_DOUBLE, gr->soke, 100, MPI_COMM_WORLD,
& ipo_100);
// firanṣẹ soke kana kẹhin
MPI_Send (gr-> x_new [gr-> lrow], gr-> ccol +2, MPI_DOUBLE, gr-> soke, 200, MPI_COMM_WORLD);
MPI_Recv (gr-> x_new [0], gr-> col + 2, MPI_DOUBLE, gr-> isalẹ, 200, MPI_COMM_WORLD, & ipo_200);
Lo Intel Trace Analyzer Comparison view lati ṣe afiwe ohun elo serialized pẹlu tunwo
// da apa osi si tmp orun
ti(gr->osi!= MPI_PROC_NULL){
gr->x_new[i][gr->col+1] = right_col[i]; right_col [i] = gr-> x_new [i] [gr-> col];
// firanṣẹ ọtun
MPI_Send (right_col, gr-> lrow +2, MPI_DOUBLE, gr-> ọtun, 400, MPI_COMM_WORLD); }
ti (gr-> osi!= MPI_PROC_NULL)
{
MPI_Recv (left_col, gr-> lrow +2, MPI_DOUBLE, gr-> osi, 400, MPI_COMM_WORLD, & status_400); fun (i=0; i< gr->lrow+2; i++
{
gr-> x_new[i] [0] = osi_col[i];
}
}
snippet koodu imudojuiwọn
MPI_Ibeere ibeere [7];
// firanṣẹ ila akọkọ
MPI_Isend (gr-> x_new [1], gr-> col + 2, MPI_DOUBLE, gr-> isalẹ, 100, MPI_COMM_WORLD, & req [0]);
MPI_Irecv (gr-> x_new [gr-> lrow + 1], gr-> ccol + 2, MPI_DOUBLE, gr-> soke, 100, MPI_COMM_WORLD, & req [1]);
…..
MPI_Waitall (7, req, MPI_STATUSES_IGNORE);
Ni kete ti atunse, aṣetunṣe ẹyọkan ti ohun elo ti a tunwo yoo dabi ẹni ti o tẹleample: - Lo Intel Trace Analyzer Comparison view lati ṣe afiwe ohun elo serialized pẹlu eyi ti a tunwo. Ṣe afiwe awọn itọpa meji pẹlu iranlọwọ ti Ifiwera View, lilọ si View > Afiwera. Ifiwera naa View jọra si:
Ninu Ifiwera View, o le rii pe lilo awọn ibaraẹnisọrọ ti kii ṣe idinamọ iranlọwọ lati yọ serialization ati dinku akoko ibaraẹnisọrọ ti awọn ilana.
AKIYESI Fun alaye diẹ sii nipa iṣẹ ipele ipade ti ohun elo rẹ, wo iwe fun awọn irinṣẹ oniwun: Intel® VTune™ Profiler MPI Code Analysis ati Atupalẹ Intel® MPI ohun elo lilo Intel® Onimọnran.
Kọ ẹkọ diẹ si
Ṣawari awọn orisun atẹle fun alaye diẹ sii nipa Intel Trace Analyzer and Collector.
Akiyesi ati Disclaimers
- Awọn imọ-ẹrọ Intel le nilo ohun elo ti n ṣiṣẹ, sọfitiwia tabi imuṣiṣẹ iṣẹ.
- Ko si ọja tabi paati ti o le ni aabo patapata.
- Awọn idiyele rẹ ati awọn abajade le yatọ.
- © Intel Corporation. Intel, aami Intel, ati awọn aami Intel miiran jẹ aami-išowo ti Intel Corporation tabi awọn oniranlọwọ rẹ. Awọn orukọ miiran ati awọn ami iyasọtọ le jẹ ẹtọ bi ohun-ini ti awọn miiran.
- Ko si iwe-aṣẹ (ṣafihan tabi mimọ, nipasẹ estoppel tabi bibẹẹkọ) si eyikeyi awọn ẹtọ ohun-ini imọ ni a fun ni nipasẹ iwe yii.
- Awọn ọja ti a ṣapejuwe le ni awọn abawọn apẹrẹ tabi awọn aṣiṣe ti a mọ si errata eyiti o le fa ki ọja naa yapa lati awọn alaye ti a tẹjade. Errata ti o wa lọwọlọwọ wa lori ibeere.
- Intel sọ gbogbo awọn iṣeduro ti o han ati mimọ, pẹlu laisi aropin, awọn iṣeduro iṣeduro ti iṣowo, amọdaju fun idi kan, ati aisi irufin, bakanna pẹlu atilẹyin ọja eyikeyi ti o dide lati iṣẹ ṣiṣe, ilana ṣiṣe, tabi lilo ninu iṣowo.
Awọn iwe aṣẹ / Awọn orisun
![]() |
intel Bẹrẹ pẹlu Intel Trace Analyzer and Collector [pdf] Itọsọna olumulo Bẹrẹ pẹlu Oluyanju Itọpa Intel ati Alakojọpọ, Bibẹrẹ pẹlu Intel, Oluyanju Wa kakiri ati Alakojọpọ, Akojọpọ |