Byrjaðu með Intel Trace Analyzer og Collector

Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-vöru

Byrjaðu með Intel® Trace Analyzer og Collector

Notaðu þetta Byrjaðu skjal og fyrirfram safnað rekja file að ganga í gegnum grunn MPI árangursgreiningu með Intel® Trace Analyzer og Collector.
Intel Trace Analyzer and Collector hjálpar til við að kanna skilvirkni skilaboðasendingaviðmóts (MPI) notkunar og bera kennsl á heita reitir, samstillingarflöskuhálsa og álagsjafnvægi. Fyrir frekari upplýsingar um vöruna, sjá Intel Trace Analyzer and Collector vörusíðu.

Sækja Intel Trace Analyzer and Collector

  • sem hluti af Intel® oneAPI HPC Toolkit
  • sem sjálfstætt tæki

Forkröfur

  • Áður en þú keyrir Intel Trace Analyzer og Collector skaltu ganga úr skugga um að þú hafir sett upp nýjasta Intel® MPI Library og Intel® oneAPI DPC++/C++ þýðanda eða Intel® Fortran þýðanda.
  • Þetta stillir nauðsynlegar umhverfisbreytur fyrir þýðendur, Intel MPI bókasafnið og Intel Trace Analyzer og Collector, og þú ert tilbúinn til að rekja forritin þín.
  • Fyrir frekari upplýsingar, sjá: Intel® oneAPI HPC Toolkit System Requirements.

Skildu verkflæðið

  1. Rekja umsókn þína
  2. Greindu virkustu MPI aðgerðir
  3. Þekkja erfið samskipti
  4. Bættu afköst forritsins með því að skipta um aðgerðina sem veldur vandamálum

Rekja MPI umsókn þína

Búðu til ummerki file til að safna atburðaskrám fyrir eftirfarandi hegðunargreiningu forritsins.

  1. Settu upp umhverfið til að ræsa Intel® Trace Analyzer og Collector með því að keyra setvars handritið frá oneAPI uppsetningarstjóranum
    ATH
    Sjálfgefið er að Intel Trace Analyzer and Collector er sett upp á /opt/intel/oneapi/itac fyrir Linux* OS og til að forrita Files (x86)\Intel\oneAPI\itac\nýjasta fyrir Windows* OS.
    Á Linux:
    $ uppspretta /opt/intel/oneapi/setvars.sh
    Á Windows:
    “C:\Program Files (x86)\Intel\oneAPI\setvars.bat“
  2. Keyrðu MPI forritið þitt og búðu til ummerki með -trace valkostinum.
    Á Linux:
    $ mpirun -trace -n 4 ./poisson_sendrecv.single
    Á Windows:
    Settu saman appið og safnaðu ummerkinu.
    Fyrir Intel oneAPI DPC++/C++ þýðanda skaltu keyra:
    > mpiicc -trace poisson_sendrecv.single.c
    Fyrir Intel Fortran þýðanda skaltu keyra:
    > mpiifort -trace poisson_sendrecv.single.f
    Þetta frvample býr til spor (stf*) fyrir asample poisson_sendrcv.single MPI umsókn
  3. Opnaðu útbúið .stf file með Intel Trace Analyzer með Intel Trace Analyzer og Collector.
    Á Linux:
    $ traceanalyzer ./ poisson_sendrecv.single.stf
    Á Windows:
    traceanalyzer poisson_sendrecv.single.stf

ATH
Í prófunarskyni geturðu hlaðið niður fyrirframsöfnuðu ummerki file poisson_sendrecv.single.stf fyrir eiturefnið sem notað er í þessu skjali og opnaðu það með Intel Trace Analyzer og Collector.
.stf file opnast á yfirlitssíðunni view, sem táknar almennar upplýsingar um frammistöðu forritsins þíns:Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-1Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-2ATH Fyrir frekari upplýsingar um Intel Trace Analyzer og Collector virkni, sjá Frekari upplýsingar.

Greindu virkustu MPI aðgerðir

Greindu hegðun MPI forrits, finndu flöskuhálsa og auðkenndu raðgreiningu til að finna leiðir til að bæta árangur forritsins.

  1. Frá yfirlitssíðunni opnaðu viðburðartímalínuna view með því að smella á Halda áfram > Myndrit > Tímalína viðburða fyrir djúpa greiningu á helstu MPI aðgerðum.
    Myndin sýnir einstaka vinnsluaðgerðir yfir tíma.
    Umsóknarvinna er ítrekuð, þar sem hver endurtekning samanstendur af reiknihluta og MPI samskiptum.
  2. Þekkja eina endurtekningu til að einblína á og þysja að henni með því að draga músina yfir tilskilið tímabil:Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-3Sporin view sýnir hlutann innan ummerkisins sem þú valdir. Tímalínuritið fyrir atburði sýnir atburðina sem voru virkir meðan á valinni endurtekningu stóð.
    • Láréttar stikur tákna ferlana með þeim aðgerðum sem kallaðar eru í þessum ferlum.
    • Svartar línur gefa til kynna skilaboð sem send eru á milli ferla. Þessar línur tengja saman sendingar- og móttökuferli.
    • Bláar línur tákna sameiginlegan rekstur, svo sem útsendingar eða skerðingar.
  3. Skiptu yfir í Flat Profile flipa (A) til að skoða betur aðgerðir sem framkvæma á þeim tímapunkti sem þú (valin í atburðartímalínunni.Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-4
  4. Taktu upp MPI aðgerðir til að greina MPI ferli virkni í forritinu þínu.
    Til að gera þetta skaltu hægrismella á All Processes > Group MPI ( B) í Flat Profile og veldu UngroupMPI. Þessi aðgerð afhjúpar einstök MPI símtöl.
  5. Greindu ferlana í samskiptum við beina nágranna sína með því að nota MPI_Sendrecv í upphafi endurtekningar. Til dæmisample:Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-5
    • a. Í sample, MPI_Sendrecv gagnaskiptin eru með flöskuháls: ferlið skiptir ekki gögnum við næsta nágranna fyrr en skiptum við þann fyrri er lokið. Tímalínur viðburðarins view sýnir þennan flöskuháls sem stigi.
    • b. MPI_Allreduce í lok endurtekningar endursamstillir öll ferli; þess vegna er þessi blokk með öfugum stigaútliti.
  6. Þekkja raðgreiningu með því að nota Function Profile og Message Profile views.
    • a. Opnaðu töflurnar á sama tíma:
      Í Function Profile mynd, opnaðu hleðslujöfnuð flipann.
    • Farðu í Charts valmyndina til að opna Message Profile.
    • b. Í hleðslujöfnuði flipanum, stækkaðu MPI_Sendrecv og MPI_Allreduce. Álagsjöfnunin gefur til kynna að tíminn sem varið er í MPI_Sendrecv eykst með ferlisnúmerinu en tíminn fyrir MPI_Allreduce minnkar.
    • c. Skoðaðu Message Profile Mynd niður í neðra hægra hornið.
      Litakóðun kubbanna gefur til kynna að skilaboð sem fara frá hærri stöðu í lægri stöðu þurfa hlutfallslega lengri tíma á meðan skilaboðin sem fara frá lægri stöðu í hærri röð sýna veikt slétt og skrýtið mynstur:Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-6

Niðurstöður samanburðargreiningarinnar sýna að það eru engin flókin skiptimynstur í umsókninni, skiptin fara aðeins fram með nálægum ferlum. Upplýsingarnar verða nauðsynlegar til að bæta árangur forritsins með því að breyta samskiptaskrefinu til að hámarka samskiptalíkan forritsins.

Þekkja ójafnvægi fjarskipta

Horfðu á umsókn þína við kjöraðstæður og berðu saman upprunalegu ummerki file með hugsjóninni til að einangra erfið samskipti.

  1. Búðu til hugsjón file:
    • a. Veldu Advanced > Idealization eða smelltu áByrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-7 (hugsjón) hnappur á tækjastiku.
    • b. Athugaðu hugsjónabreytur í hugsjónaglugganum (tilvalin rekja file nafn og tímabil fyrir umbreytingu).
    • c. Smelltu á Start til að fullkomna ummerki þitt.
  2. Berðu saman upprunalegu ummerkin við hugsjónuðu ummerki:
    • a. Veldu Ítarlegt > Ójafnvægismynd eða smelltu á Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-8(Ójafnvægismynd) tækjastikuhnappur.
    • b. Í Ójafnvægismynd valmyndinni, smelltu á Opna annað File hnappinn, flettu að hugsjónuðu rekstrinum og veldu hana.
    • c. Í glugganum Ójafnvægismynd, smelltu á hnappinn Heildarstilling og veldu sundurliðunarstilling.

Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-9

Þú getur séð að MPI_Sendrecv er tímafrekasta aðgerðin. Ójafnvægisþyngdin birtist í
ljós litur og samanstendur af um 10% fyrir MPI_Sendrecv aðgerðina. Þetta er tíminn sem ferlarnir eyða í að bíða hvert eftir öðru.

Bættu árangur forritsins með því að breyta samskiptum

  1. Bættu afköst MPI forritsins með því að breyta blokkun í samskipti sem ekki eru læst.
    Í kóðanum þínum skaltu skipta út raðnúmerinu MPI_Sendrcv fyrir samskipti sem ekki eru læst: MPI_Isend og MPI_Irecv. Til dæmisample: Upprunalegur kóðabútur:
    // landamæraskipti
    ógild skipti(para* p, grid* gr){
    int i,j;
    MPI_Status status_100, status_200, status_300, status_400;
    // sendu niður fyrstu röð
    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,
    &staða_100);
    // sendu upp síðustu röð
    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);
    Notaðu Intel Trace Analyzer Comparison view til að bera saman raðbundna umsóknina við endurskoðaða
    // afritaðu vinstri dálk yfir í tmp fylki
    if(gr->vinstri != MPI_PROC_NULL){
    gr->x_new[i][gr->lcol+1] = hægri_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
    // senda rétt
    MPI_Send(right_col, gr->lrow+2, MPI_DOUBLE, gr->right, 400, MPI_COMM_WORLD); }
    if(gr->vinstri != MPI_PROC_NULL)
    {
    MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->left, 400, MPI_COMM_WORLD,&status_400); fyrir(i=0; i< gr->lrow+2; i++
    {
    gr->x_new[i][0] = vinstri_col[i];
    }
    }
    Uppfærður kóðabútur
    MPI_Request req[7];
    // sendu niður fyrstu röð
    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);
    Þegar það hefur verið leiðrétt mun ein endurtekning endurskoðaðrar umsóknar líta út eins og eftirfarandi dæmiample:Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-10
  2. Notaðu Intel Trace Analyzer Comparison view til að bera saman raðsetta umsóknina við endurskoðaða. Berðu saman tvö ummerki með hjálp Samanburðarins View, fara til View > Bera saman. Samanburðurinn View lítur svipað út og:Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-11Í samanburðinum View, þú getur séð að notkun óblokkandi samskipta hjálpar til við að fjarlægja serialization og stytta samskiptatíma ferla.
    ATH Fyrir frekari upplýsingar um frammistöðu á hnútastigi forritsins þíns, sjá skjöl fyrir viðkomandi verkfæri: Intel® VTune™ Profiler MPI kóða greining og greining Intel® MPI forrita með því að nota Intel® Advisor.

Lærðu meira

Skoðaðu eftirfarandi úrræði til að fá frekari upplýsingar um Intel Trace Analyzer og Collector.Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-12Byrjaðu-með-Intel-Trace-Analyzer-and-Collector-mynd-13

Tilkynningar og fyrirvarar

  • Intel tækni kann að þurfa að virkja vélbúnað, hugbúnað eða þjónustu.
  • Engin vara eða íhlutur getur verið algerlega öruggur.
  • Kostnaður þinn og niðurstöður geta verið mismunandi.
  • © Intel Corporation. Intel, Intel lógóið og önnur Intel merki eru vörumerki Intel Corporation eða dótturfélaga þess. Önnur nöfn og vörumerki má gera tilkall til sem eign annarra.
  • Ekkert leyfi (beint eða óbeint, með estoppel eða á annan hátt) til neinna hugverkaréttinda er veitt með þessu skjali.
  • Vörurnar sem lýst er geta innihaldið hönnunargalla eða villur sem kallast errata sem geta valdið því að varan víki frá birtum forskriftum. Núverandi einkennandi errata eru fáanlegar ef óskað er.
  • Intel afsalar sér öllum óbeinum og óbeinum ábyrgðum, þar með talið, án takmarkana, óbeinum ábyrgðum um söluhæfni, hæfni í ákveðnum tilgangi og að ekki sé brotið, sem og hvers kyns ábyrgð sem stafar af frammistöðu, viðskiptum eða notkun í viðskiptum.

Skjöl / auðlindir

intel Byrjaðu með Intel Trace Analyzer og Collector [pdfNotendahandbók
Byrjaðu með Intel Trace Analyzer og Collector, Byrjaðu með Intel, Trace Analyzer og Collector, Collector

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *