Kòmanse ak Intel Trace Analyzer ak Pèseptè

Jwenn-Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-pwodwi

Kòmanse ak Intel® Trace Analyzer ak Pèseptè

Sèvi ak dokiman Get Started sa a ak yon tras yo pre-kolekte file pou mache nan yon analiz de baz pèfòmans MPI ak Intel® Trace Analyzer ak Pèseptè.
Intel Trace Analyzer and Collector ede eksplore efikasite itilizasyon koòdone pasaj mesaj (MPI) epi idantifye pwen otsfè kominikasyon, blokaj senkronizasyon, ak balans chaj. Pou plis enfòmasyon sou pwodwi a, gade paj pwodwi Intel Trace Analyzer and Collector.

Telechaje Intel Trace Analyzer ak Pèseptè

  • kòm yon pati nan Intel® oneAPI HPC Toolkit
  • kòm yon zouti otonòm

Prekondisyon

  • Anvan w kouri Intel Trace Analyzer and Collector, asire w ou te enstale dènye Intel® MPI Library ak Intel® oneAPI DPC++/C++ Compiler oswa Intel® Fortran Compiler.
  • Sa a fikse varyab anviwònman ki nesesè pou konpilateur, Intel MPI Library, ak Intel Trace Analyzer and Collector, epi ou pare pou trase aplikasyon w yo.
  • Pou plis enfòmasyon, gade: Intel® oneAPI HPC Toolkit System Requirements.

Konprann Workflow la

  1. Trase aplikasyon w lan
  2. Analize fonksyon MPI ki pi aktif yo
  3. Idantifye entèraksyon pwoblèm
  4. Amelyore pèfòmans aplikasyon w lan lè w ranplase fonksyon ki lakòz pwoblèm

Trase aplikasyon MPI w la

Jenere yon tras file pou kolekte mòso evènman pou analiz konpòtman aplikasyon sa yo.

  1. Fikse anviwònman an pou lanse Intel® Trace Analyzer ak Pèseptè a lè w kouri script setvars ki soti nan direktè enstalasyon oneAPI.
    REMAK
    Pa default, Intel Trace Analyzer and Collector enstale nan /opt/intel/oneapi/itac pou Linux* OS ak nan Pwogram Files (x86)\Intel\oneAPI\itac\latest pou Windows* OS.
    Sou Linux:
    $ sous /opt/intel/oneapi/setvars.sh
    Sou Windows:
    "C:\Pwogram Files (x86)\Intel\oneAPI\setvars.bat"
  2. Kouri aplikasyon MPI ou a epi jenere yon tras ak opsyon -trace la.
    Sou Linux:
    $ mpirun -trace -n 4 ./poisson_sendrecv.single
    Sou Windows:
    Konpile app a epi kolekte tras la.
    Pou Intel oneAPI DPC++/C++ Compiler, kouri:
    > mpiicc -trace poisson_sendrecv.single.c
    Pou Intel Fortran Compiler, kouri:
    > mpiifort -trace poisson_sendrecv.single.f
    Ansyen sa aample jenere yon tras (stf*) pou asample poisson_sendrcv.single aplikasyon MPI
  3. Louvri .stf pwodwi a file ak Intel Trace Analyzer ak Intel Trace Analyzer ak Pèseptè.
    Sou Linux:
    $ traceanalyzer ./ poisson_sendrecv.single.stf
    Sou Windows:
    traceanalyzer poisson_sendrecv.single.stf

REMAK
Pou rezon tès, ou ka telechaje yon tras ki te pre-kolekte file poisson_sendrecv.single.stf pou poisson yo itilize nan dokiman sa a epi ouvri li avèk Intel Trace Analyzer ak Pèseptè.
.stf la file ouvri nan Paj Rezime a view, ki reprezante enfòmasyon jeneral sou pèfòmans aplikasyon w lan:Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-1Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-2REMAK Pou plis enfòmasyon sou Intel Trace Analyzer ak fonksyonalite Pèseptè, gade Aprann Plis.

Analize Fonksyon MPI ki pi aktif yo

Analize yon konpòtman aplikasyon MPI, jwenn blokaj epi idantifye seriizasyon pou jwenn fason pou amelyore pèfòmans aplikasyon an.

  1. Soti nan Paj Rezime a ouvri Timeline Evènman an view lè w klike sou Kontinye > Tablo > Kalandriye Evènman pou analiz pwofon fonksyon MPI yo.
    Tablo a montre aktivite pwosesis endividyèl yo sou tan.
    Travay aplikasyon an se iteratif, kote chak iterasyon konsiste de yon pati enfòmatik ak kominikasyon MPI.
  2. Idantifye yon sèl iterasyon pou konsantre sou epi rale sou li pa trenen sourit ou sou entèval tan ki nesesè yo:Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-3Tras la view montre seksyon ki nan tras ou chwazi a. Tablo Chronologie Evènman an montre evènman yo ki te aktif pandan iterasyon chwazi a.
    • Ba orizontal reprezante pwosesis yo ak fonksyon yo rele nan pwosesis sa yo.
    • Liy nwa yo endike mesaj yo voye ant pwosesis yo. Liy sa yo konekte pwosesis voye ak resevwa.
    • Liy ble reprezante operasyon kolektif, tankou operasyon difizyon oswa diminye.
  3. Chanje nan Flat Pro lafile onglet (A) pou gen yon gade pi pre nan fonksyon ki egzekite nan moman ou (seleksyone nan Timeline Evènman an.Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-4
  4. Degroupe fonksyon MPI pou analize aktivite pwosesis MPI nan aplikasyon w lan.
    Pou fè sa, klike sou tout pwosesis > Gwoup MPI (B) nan Flat Profile epi chwazi UngroupMPI. Operasyon sa a ekspoze apèl endividyèl yo MPI.
  5. Analize pwosesis yo kominike ak vwazen dirèk yo lè l sèvi avèk MPI_Sendrecv nan kòmansman iterasyon an. Pou egzanpample:Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-5
    • a. Nan s laampLè sa a, echanj done MPI_Sendrecv la gen yon kou boutèy: pwosesis la pa echanj done ak pwochen vwazen li jiskaske echanj la ak youn anvan an fini. Delè evènman yo view montre goud sa a kòm yon eskalye.
    • b. MPI_Allreduce nan fen iterasyon an resenkronize tout pwosesis yo; Se poutèt sa blòk sa a gen aparans nan eskalye ranvèse.
  6. Idantifye serializasyon, lè l sèvi avèk Fonksyon Pro lafile ak Message Profile views.
    • a. Louvri tablo yo an menm tan:
      Nan Fonksyon Pro afile tablo, louvri tab Balans chaj la.
    • Ale nan meni an Tablo yo louvri yon mesaj Profile.
    • b. Nan tab Balans chaj, elaji MPI_Sendrecv ak MPI_Allreduce. Balans chaj la endike ke tan ki pase nan MPI_Sendrecv ogmante ak nimewo pwosesis la, pandan ke tan an pou MPI_Allreduce diminye.
    • c. Egzamine Message Pro lafile Tablo desann nan kwen ki pi ba dwat.
      Kodaj koulè blòk yo endike mesaj k ap vwayaje soti nan yon ran ki pi wo a nan yon ran ki pi ba yo bezwen pwopòsyonèlman plis tan pandan mesaj ki soti nan yon ran ki pi ba a nan yon ran ki pi wo revele yon modèl ki fèb menm-enpè:Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-6

Rezilta yo nan analiz konparatif la montre ke pa gen okenn modèl echanj konplèks nan aplikasyon an, se echanj la te pote soti sèlman ak pwosesis vwazen. Enfòmasyon yo pral esansyèl pou Amelyore Pèfòmans Aplikasyon Ou a nan Chanje Etap Kominikasyon an pou optimize modèl kominikasyon aplikasyon an.

Idantifye kominikasyon dezekilib

Gade aplikasyon w lan nan sikonstans ideyal yo epi konpare tras orijinal la file ak youn nan ideyalize yo izole entèraksyon pwoblèm.

  1. Kreye yon idealize file:
    • a. Chwazi Avanse > Idealizasyon oswa klike sou laKòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-7 (Ideyalizasyon) bouton ba zouti.
    • b. Tcheke paramèt idealizasyon yo nan bwat dyalòg Idealizasyon (tras ideal file non ak ranje tan pou konvèsyon).
    • c. Klike sou Kòmanse ideyalize tras ou a.
  2. Konpare tras orijinal la ak tras idealize a:
    • a. Chwazi Avanse > Dyagram dezekilib oswa klike sou la Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-8(Dezekilib Dyagram) bouton ba zouti.
    • b. Nan bwat dyalòg Dyagram dezekilib la, klike sou Louvri yon lòt File bouton, navige nan tras idealize a, epi chwazi li.
    • c. Nan fennèt Dyagram dezekilib la, klike sou bouton Mòd Total epi chwazi Mòd Pann.

Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-9

Ou ka wè ke MPI_Sendrecv se fonksyon ki pi pran tan. Pwa dezekilib la parèt nan
koulè limyè ak konprann apeprè 10% pou fonksyon MPI_Sendrecv la. Sa a se tan pwosesis yo pase ap tann youn pou lòt.

Amelyore pèfòmans aplikasyon w lan lè w chanje kominikasyon

  1. Amelyore pèfòmans aplikasyon MPI a lè w chanje kominikasyon an ki pa bloke.
    Nan kòd ou a ranplase seri MPI_Sendrcv ak kominikasyon ki pa bloke: MPI_Isend ak MPI_Irecv. Pou egzanpample: Frag orijinal kòd:
    // echanj fwontyè
    echanj anile(para* p, grid* gr){
    int i,j;
    MPI_Status status_100, status_200, status_300, status_400;
    // voye desann premye ranje
    MPI_Send(gr->x_new[1], gr->lcol+2, MPI_DOUBLE, gr->desann, 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);
    // voye moute dènye ranje
    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);
    Sèvi ak Intel Trace Analyzer Comparaison view pou konpare aplikasyon seri a ak revize a
    // kopye kolòn gòch nan etalaj tmp
    si(gr->gòch!= MPI_PROC_NULL){
    gr->x_new[mwen][gr->lcol+1] = right_col[mwen]; right_col[mwen] = gr->x_new[mwen][gr->lcol];
    // voye dwat
    MPI_Send(dwat_col, gr->lrow+2, MPI_DOUBLE, gr->dwat, 400, MPI_COMM_WORLD); }
    if(gr->gòch!= MPI_PROC_NULL)
    {
    MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->left, 400, MPI_COMM_WORLD,&status_400); pou(mwen=0; mwen<gr->lrow+2; mwen++
    {
    gr->x_new[mwen][0] = left_col[mwen];
    }
    }
    Mizajou fragman kòd
    MPI_Demann [7];
    // voye desann premye ranje
    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);
    Yon fwa yo korije, yon sèl iterasyon nan aplikasyon revize a pral sanble ak egzanp sa aample:Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-10
  2. Sèvi ak Intel Trace Analyzer Comparaison view pou konpare aplikasyon seri a ak youn revize a. Konpare de tras avèk èd nan Konparezon an View, ale nan View > Konpare. Konparezon an View sanble ak:Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-11Nan Konparezon an View, ou ka wè ke lè l sèvi avèk kominikasyon ki pa bloke ede yo retire serializasyon ak diminye tan an nan kominikasyon nan pwosesis.
    REMAK Pou plis enfòmasyon sou pèfòmans aplikasyon w lan nan nivo ne, gade dokiman pou zouti respektif yo: Intel® VTune™ Profiler Analiz Kòd MPI ak analiz aplikasyon Intel® MPI lè l sèvi avèk Intel® Advisor.

Aprann Plis

Eksplore resous sa yo pou plis enfòmasyon sou Intel Trace Analyzer and Collector.Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-12Kòmanse-ak-Intel-Trace-Analyzer-ak-Kolektè-fig-13

Avi ak Limit responsabilite nou

  • Intel teknoloji ka mande pou pèmèt pyès ki nan konpitè, lojisyèl oswa sèvis deklanchman.
  • Pa gen okenn pwodwi oswa eleman ki ka absoliman an sekirite.
  • Depans ou yo ak rezilta yo ka varye.
  • © Intel Corporation. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Lòt non ak mak yo ka reklame kòm pwopriyete lòt moun.
  • Pa gen okenn lisans (eksprime oswa implicite, pa estoppel oswa otreman) nan okenn dwa pwopriyete entelektyèl yo akòde pa dokiman sa a.
  • Pwodwi yo dekri yo ka genyen defo konsepsyon oswa erè ke yo rekonèt kòm errata ki ka lakòz pwodwi a devye ak espesifikasyon pibliye. Aktyèl karakterize errata yo disponib sou demann.
  • Intel rejte tout garanti eksprime ak implicite, ki gen ladan san limitasyon, garanti implicite nan komèsan, kondisyon fizik pou yon objektif patikilye, ak ki pa vyolasyon, osi byen ke nenpòt garanti ki soti nan kou nan pèfòmans, kou nan komès, oswa itilizasyon nan komès.

Dokiman / Resous

intel Kòmanse avèk Intel Trace Analyzer ak Pèseptè [pdfGid Itilizatè
Kòmanse ak Intel Trace Analyzer ak Pèseptè, Kòmanse ak Intel, Trace Analyzer ak Pèseptè, Pèseptè

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *