Bi Intel Trace Analyzer û Collector re dest pê bikin
Bi Intel® Trace Analyzer û Collector dest pê bikin
Vê belgeya Destpêkê û şopek pêş-komkirî bikar bînin file ku hûn di nav analîzek bingehîn a performansa MPI-ê de bi Intel® Trace Analyzer û Collector re bimeşin.
Intel Trace Analyzer and Collector dibe alîkar ku karbidestiya karanîna navbeynkariya derbaskirina peyamê (MPI) bikolin û xalên pêwendiyê, tengahiyên hevdemkirinê, û hevsengiya barkirinê nas bikin. Ji bo bêtir agahdarî di derbarê hilberê de, li rûpela hilberê Intel Trace Analyzer û Collector binêre.
Intel Trace Analyzer and Collector dakêşin
- wekî beşek ji Intel® OneAPI HPC Toolkit
- wekî amûrek serbixwe
Pêşdibistanên
- Berî ku Intel Trace Analyzer and Collector bimeşînin, pê ewle bin ku we Pirtûkxaneya Intel® MPI ya herî dawî û Intel® oneAPI DPC++/C++ Berhevkar an Berhevkarê Intel® Fortran saz kiriye.
- Ev guhêrbarên jîngehê yên pêwîst ji bo berhevkeran, Pirtûkxaneya Intel MPI, û Intel Trace Analyzer û Collector saz dike, û hûn amade ne ku serîlêdanên xwe bişopînin.
- Ji bo bêtir agahdarî, binêre: Pêdiviyên Pergala Amûrên HPC yên Intel® OneAPI.
Fêmkirina Workflow
- Serlêdana Xwe Bişopînin
- Fonksiyonên MPI-ê yên herî çalak analîz bikin
- Têkiliyên bi pirsgirêk nas bikin
- Bi guheztina fonksiyona sedema pirsgirêkê performansa serîlêdana xwe baştir bikin
Serlêdana MPI-ya xwe bişopînin
Şopek çêbike file ji bo berhevkirina têketinên bûyeran ji bo analîza tevgera serîlêdana jêrîn.
- Jîngehek ji bo destpêkirina Intel® Trace Analyzer û Collector saz bikin bi xebitandina skrîpta setvars ji derhênerê sazkirinê yê oneAPI
NOT
Bi xwerû, Intel Trace Analyzer and Collector li /opt/intel/oneapi/itac ji bo Linux* OS û Bernameyê tê saz kirin. Files (x86)\Intel\oneAPI\itac\ya herî dawî ji bo Windows* OS.
Li ser Linux:
$ source /opt/intel/oneapi/setvars.sh
Li ser Windows:
"C: \ Bername Files (x86)\Intel\oneAPI\setvars.bat" - Serlêdana MPI-ya xwe bimeşînin û bi vebijarka -trace ve şopek biafirînin.
Li ser Linux:
$ mpirun -trace -n 4 ./poisson_sendrecv.single
Li ser Windows:
Serlêdanê berhev bikin û şopê berhev bikin.
Ji bo Intel oneAPI DPC++/C++ Compiler, bimeşînin:
> mpiicc -trace poisson_sendrecv.single.c
Ji bo Berhevkarê Intel Fortran, bixebitin:
> mpiifort -trace poisson_sendrecv.single.f
Ev example şopek (stf*) ji bo wekî çêdikeample poisson_sendrcv.serlêdana MPI ya yekane - .stf-ya hatî çêkirin vekin file bi Intel Trace Analyzer bi Intel Trace Analyzer û Collector.
Li ser Linux:
$ traceanalyzer ./ poisson_sendrecv.single.stf
Li ser Windows:
traceanalyzer poisson_sendrecv.single.stf
NOT
Ji bo armancên ceribandinê, hûn dikarin şopek pêş-komkirî dakêşin file poisson_sendrecv.single.stf ji bo jehra ku di vê belgeyê de hatî bikar anîn û wê bi Intel Trace Analyzer û Collector vekin.
The .stf file di Rûpelê Kurte de vedibe view, ku agahdariya gelemperî li ser performansa serîlêdana we nîşan dide:NOT Ji bo bêtir agahdarî li ser fonksiyonên Intel Trace Analyzer û Collector, li Zêdetir Fêr bibin bibînin.
Fonksiyonên MPI-ê yên Herî Çalak analîz bikin
Tevgerek serîlêdana MPI-ê analîz bikin, tengasiyan bibînin û serialîzasyonê nas bikin da ku rêyên çêtirkirina performansa serîlêdanê bibînin.
- Ji Rûpelê Kurteyî, Demjimêra Bûyerê vekin view bi tikandina Berdewam > Nexşeyên > Demjimêra Bûyerê ji bo analîza kûr a fonksiyonên MPI-ya jorîn bikirtînin.
Nexşe bi demê re çalakiyên pêvajoyê yên kesane nîşan dide.
Karê serîlêdanê dubare ye, ku her dubarekirin ji beşek hesabker û ragihandina MPI-ê pêk tê. - Bi kaşkirina mişka xwe li ser navbera wextê ya pêwîst dubarekirinek yekane nas bikin ku hûn lê hûr bibin û zoom bikin:
Şopa view beşa di nav şopa ku we hilbijart de nîşan dide. Nexşeya Demjimêra Bûyerê bûyerên ku di dema dubarekirina hilbijartî de çalak bûne nîşan dide.
- Barên asoyî pêvajoyên bi fonksiyonên ku di van pêvajoyan de têne gotin temsîl dikin.
- Xetên reş peyamên ku di navbera pêvajoyan de têne şandin destnîşan dikin. Van xetên pêvajoyên şandin û wergirtinê girêdidin.
- Xetên şîn operasyonên kolektîf temsîl dikin, wekî weşan an kêmkirina operasyonan.
- Veguherin Flat Profile tabela (A) ji bo ku hûn ji nêz ve li fonksiyonên ku di dema we de têne îcrakirin (di Xeta Bûyerê de hatî hilbijartin) ji nêz ve binihêrin.
- Fonksiyonên MPI-ê kom bikin da ku çalakiya pêvajoya MPI-ê di serîlêdana we de analîz bikin.
Ji bo kirina vê yekê, li Flat Pro li ser Hemî Pêvajoyên > Koma MPI (B) rast-klîk bikinfile û UngroupMPI hilbijêrin. Ev operasyon bangên MPI-ê yên kesane eşkere dike. - Pêvajoyên ku di destpêka dubarekirinê de bi karanîna MPI_Sendrecv re bi cîranên xwe yên rasterast re danûstendinê analîz bikin. Ji bo example:
- yek. Di sampLe, danûstendina daneya MPI_Sendrecv xwedan tengahiyek e: pêvajo daneyan bi cîranê xwe yê din re naguhezîne heya ku pevguhertina bi ya berê re temam nebe. The Event Timelines view vê qulikê wek derenceyekê nîşan dide.
- b. MPI_Allreduce di dawiya dubarekirinê de hemî pêvajoyan ji nû ve hevdeng dike; ji ber vê yekê ev blok xwedan xuyangê derenceyan berevajî ye.
- Serialîzasyonê nas bikin, bi karanîna Fonksiyon Profile û Message Profile views.
- yek. Di heman demê de nexşeyan vekin:
Di Fonksiyon Profile tabloya, Load Balancetab vekin. - Herin menuya Charts-ê ji bo vekirina Message Profile.
- b. Di tabloya Load Balance de, MPI_Sendrecv û MPI_Allreduce berfireh bikin. Balansa Barkirinê destnîşan dike ku dema di MPI_Sendrecv de derbas dibe bi hejmara pêvajoyê re zêde dibe, dema ku dema MPI_Allreduce kêm dibe.
- c. Message Pro lêkolîn bikinfile Nexşeya jêrîn li quncika rastê ya jêrîn.
Kodkirina rengan a blokan destnîşan dike ku peyamên ku ji rêzek bilindtir berbi rêzek jêrîn diçin, bi rêjeyek bêtir dem hewce ne dema ku peyamên ku ji rêzek jêrîn berbi rêzek bilind ve diçin şêwazek zeîf-cudan diyar dikin:
- yek. Di heman demê de nexşeyan vekin:
Encamên analîza berawirdî destnîşan dike ku di serîlêdanê de qalibên danûstendina tevlihev tune, danûstendin tenê bi pêvajoyên cîran re tê kirin. Agahdarî dê ji bo Başkirina Performansa Serlêdana Xwe Bi Guhertina Pêngava Ragihandinê re girîng be da ku modela ragihandinê ya serîlêdanê xweşbîn bike.
Têkiliyên Disbalanced Identify
Serlêdana xwe di bin şert û mercên îdeal de temaşe bikin û şopa orîjînal bidin hev file bi ya îdealîzekirî re danûstendinên bi pirsgirêk veqetîne.
- Îdealîzekirinek çêbikin file:
- yek. Pêşveçûn > Îdealîzasyon hilbijêrin an pêl bikirtînin
(Îdealîzekirin) bişkoka toolbar.
- b. Parametreyên îdealîzasyonê di qutiya diyalogê ya Îdealîzasyonê de (şopa îdeal file nav û dema guherandinê).
- c. Destpêk bikirtînin da ku şopa xwe îdeal bikin.
- yek. Pêşveçûn > Îdealîzasyon hilbijêrin an pêl bikirtînin
- Şopa orîjînal bi şopa îdealîzekirî re bidin ber hev:
- yek. Pêşveçûn > Diagrama Nehevsengiyê hilbijêrin an pêl bikirtînin
(Diagrama Bêhevsengiyê) bişkoka toolbar.
- b. Di qutiya diyalogê ya Diyagrama Bêhevsengiyê de, bikirtînin Vekirina Yê din File bişkojka, biçe şopa îdealîzekirî, û wê hilbijêrin.
- c. Di pencereya Diagrama Bêhevsengiyê de, bişkoja Modeya Tevahiya bikirtînin û Moda Veqetandinê hilbijêrin.
- yek. Pêşveçûn > Diagrama Nehevsengiyê hilbijêrin an pêl bikirtînin
Hûn dikarin bibînin ku MPI_Sendrecv fonksiyona herî demdirêj e. Giraniya bêhevsengiyê tê xuyang kirin
rengê sivik û ji bo fonksiyona MPI_Sendrecv ji% 10 pêk tê. Ev demek e ku pêvajoyên li benda hevdu derbas dikin.
Bi Guhertina Têkiliyan Performansa Serlêdana Xwe Pêşve Bikin
- Bi guheztina astengkirinê ber bi ragihandinên ne-astengkirî ve performansa serîlêdana MPI çêtir bikin.
Di koda we de rêzika MPI_Sendrcv bi pêwendiya ne-astengker veguherîne: MPI_Isend û MPI_Irecv. Ji bo example: Parçeya koda eslî:
// pevguhertina sînoran
pevguhertina valahiyê(para* p, grid* gr){
int i,j;
MPI_Status status_100, status_200, status_300, status_400;
// rêza yekem bişîne
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-> jor, 100, MPI_COMM_WORLD,
&status_100);
// rêza paşîn bişîne
MPI_Send(gr->x_new[gr->lrow], gr->lcol+2, MPI_DOUBLE, gr-> jor, 200, MPI_COMM_WORLD);
MPI_Recv(gr->x_new[0], gr->lcol+2, MPI_DOUBLE, gr-> jêr, 200, MPI_COMM_WORLD, &status_200);
Berhevdana Intel Trace Analyzer bikar bînin view ji bo ku serîlêdana serialkirî bi ya nûvekirî re bidin hev
// stûna çepê li rêzikên tmp kopî bikin
if(gr->çep != MPI_PROC_NULL){
gr->x_new[i][gr->lcol+1] = rast_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
// rast bişîne
MPI_Send(rast_col, gr->lrow+2, MPI_DOUBLE, gr-> rast, 400, MPI_COMM_WORLD); }
if(gr->çep != MPI_PROC_NULL)
{
MPI_Recv(çep_col, gr->lrow+2, MPI_DOUBLE, gr->çep, 400, MPI_COMM_WORLD,&status_400); ji bo(i=0; i< gr->lrow+2; i++
{
gr->x_new[i][0] = çep_col[i];
}
}
Parçeya kodê nûve kirin
MPI_Request req[7];
// rêza yekem bişîne
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-> jor, 100, MPI_COMM_WORLD, &req[1]);
…..
MPI_Waitall(7, req, MPI_STATUSES_IGNORE);
Piştî ku were rast kirin, dubarekirina yekane ya serîlêdana revîzekirî dê mîna mînaka jêrîn xuya bikeample: - Berhevdana Intel Trace Analyzer bikar bînin view ji bo ku serîlêdana serialkirî bi ya nûvekirî re bidin ber hev. Bi alîkariya Berawirdê du şopan bidin ber hev View, diçin View > Berawird bike. The Comparison View dişibe:
Di Berawirdkirinê de View, hûn dikarin bibînin ku karanîna pêwendiya ne-astengker ji rakirina serialîzasyonê û kêmkirina dema ragihandina pêvajoyan dibe alîkar.
NOT Ji bo bêtir agahdarî li ser performansa asta node ya serîlêdana xwe, li belgekirinê ji bo amûrên têkildar binêrin: Intel® VTune™ Profiler Analîzkirina Koda MPI û Analîzkirina serîlêdanên Intel® MPI bi karanîna Intel® Şêwirmendê.
Bêtir hîn bibin
Ji bo bêtir agahdarî di derbarê Intel Trace Analyzer û Collector de çavkaniyên jêrîn bigerin.
Notices û Disclaimers
- Dibe ku teknolojiyên Intel-ê pêdivî bi çalakkirina hardware, nermalavê an karûbarê çalak bike.
- Tu hilber an pêkhateyek nikare bi tevahî ewledar be.
- Mesref û encamên we dibe ku cûda bibin.
- © Intel Corporation. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Dibe ku nav û marqeyên din wekî milkê yên din werin îdîakirin.
- Ji vê belgeyê re ti destûrnameyek (bi eşkere an têgihîştî, bi estoppel an wekî din) ji ti mafên xwedaniya rewşenbîrî re nayê dayîn.
- Berhemên ku hatine destnîşan kirin dibe ku kêmasiyên sêwiranê an xeletiyên ku wekî xelet têne zanîn hene ku dibe sedema ku hilber ji taybetmendiyên hatine weşandin dûr bixe. Li ser daxwazê xeletiyên diyarkirî yên heyî hene.
- Intel hemî garantiyên eşkere û nepenî red dike, di nav de bêsînor, garantiyên berbiçav ên kirrûbirrê, guncanbûna ji bo armancek taybetî, û ne binpêkirin, û her weha her garantiyek ku ji qursa performansê, qursa danûstendinê, an karanîna bazirganiyê derdikeve.
Belge / Çavkanî
![]() |
intel Bi Intel Trace Analyzer û Kolekterê Dest pê Bikin [pdf] Rehbera bikaranînê Bi Intel Trace Analyzer û Kolekterê Dest pê Bikin, Bi Intel, Trace Analyzer û Berhevkar û Berhevkar, Bicih bikin |