Ibda bl-Intel Trace Analyzer u Collector

Ibda-bil-prodott-Intel-Trace-Analizzatur-u-kollettur

Ibda bl-Intel® Trace Analyzer and Collector

Uża dan id-dokument Ibda u traċċa miġbura minn qabel file biex timxi permezz ta 'analiżi bażika tal-prestazzjoni MPI ma' Intel® Trace Analyzer u Collector.
Intel Trace Analyzer and Collector jgħin jesplora l-effiċjenza fl-użu tal-interface tal-passaġġ tal-messaġġi (MPI) u jidentifika hotspots tal-komunikazzjoni, konġestjonijiet tas-sinkronizzazzjoni, u l-ibbilanċjar tat-tagħbija. Għal aktar informazzjoni dwar il-prodott, ara l-paġna tal-prodott Intel Trace Analyzer and Collector.

Niżżel Intel Trace Analyzer u Kollettur

  • bħala parti mill-Intel® oneAPI HPC Toolkit
  • bħala għodda waħedha

Prerekwiżiti

  • Qabel ma tħaddem Intel Trace Analyzer and Collector, kun żgur li installajt l-aħħar Intel® MPI Library u Intel® oneAPI DPC++/C++ Compiler jew Intel® Fortran Compiler.
  • Dan jistabbilixxi l-varjabbli ambjentali meħtieġa għall-kompilaturi, l-Intel MPI Library, u l-Intel Trace Analyzer and Collector, u inti lest biex traċċa l-applikazzjonijiet tiegħek.
  • Għal aktar informazzjoni, ara: Intel® oneAPI HPC Toolkit System Requirements.

Ifhem il-fluss tax-xogħol

  1. Intraċċa l-Applikazzjoni Tiegħek
  2. Analizza l-aktar funzjonijiet MPI attivi
  3. Identifika interazzjonijiet problematiċi
  4. Ittejjeb il-prestazzjoni tal-applikazzjoni tiegħek billi tissostitwixxi l-funzjoni li tikkawża l-problema

Intraċċa l-Applikazzjoni MPI Tiegħek

Iġġenera traċċa file biex tiġbor reġistri tal-avvenimenti għall-analiżi tal-imġieba tal-applikazzjoni li ġejja.

  1. Stabbilixxi l-ambjent għat-tnedija tal-Intel® Trace Analyzer and Collector billi tħaddem l-iskrittura setvars mid-direttur tal-installazzjoni oneAPI
    NOTA
    B'mod awtomatiku, Intel Trace Analyzer and Collector huwa installat għal /opt/intel/oneapi/itac għal Linux* OS u għall-Programm Files (x86)\Intel\oneAPI\itac\latest għall-Windows* OS.
    Fuq Linux:
    $ sors /opt/intel/oneapi/setvars.sh
    Fuq Windows:
    “C:\Programm Files (x86)\Intel\oneAPI\setvars.bat”
  2. Mexxi l-applikazzjoni MPI tiegħek u ġġenera traċċa bl-għażla -trace.
    Fuq Linux:
    $ mpirun -trace -n 4 ./poisson_sendrecv.single
    Fuq Windows:
    Iġbor l-app u iġbor it-traċċa.
    Għal Intel oneAPI DPC++/C++ Compiler, mexxi:
    > mpiicc -trace poisson_sendrecv.single.c
    Għall-Intel Fortran Compiler, mexxi:
    > mpiifort -trace poisson_sendrecv.single.f
    Dan example jiġġenera traċċa (stf*) għal asample poisson_sendrcv.single MPI applikazzjoni
  3. Iftaħ il-.stf iġġenerat file ma 'Intel Trace Analyzer ma' Intel Trace Analyzer u Kollettur.
    Fuq Linux:
    $ traceanalyzer ./ poisson_sendrecv.single.stf
    Fuq Windows:
    traceanalyzer poisson_sendrecv.single.stf

NOTA
Għal skopijiet ta' ttestjar, tista' tniżżel traċċa miġbura minn qabel file poisson_sendrecv.single.stf għall-poisson użat f'dan id-dokument u iftaħ b'Intel Trace Analyzer u Collector.
Il-.stf file tiftaħ fil-Paġna Sommarju view, li tirrappreżenta informazzjoni ġenerali dwar il-prestazzjoni tal-applikazzjoni tiegħek:Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-1Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-2NOTA Għal aktar informazzjoni dwar Intel Trace Analyzer u l-funzjonalità tal-Kollezzjoni, ara Tgħallem Aktar.

Analizza l-Funzjonijiet MPI l-aktar Attivi

Analizza l-imġieba ta 'applikazzjoni MPI, sib ostakoli u identifika s-serjelizzazzjoni biex issib il-modi kif ittejjeb il-prestazzjoni tal-applikazzjoni.

  1. Mill-Paġna Sommarju tiftaħ il-Kronoloġija tal-Avvenimenti view billi tikklikkja Kompli > Ċarts > Kronoloġija tal-avvenimenti għal analiżi profonda tal-funzjonijiet MPI ewlenin.
    It-tabella turi attivitajiet tal-proċess individwali matul iż-żmien.
    Ix-xogħol ta 'applikazzjoni huwa iterattiv, fejn kull iterazzjoni tikkonsisti minn parti komputazzjonali u komunikazzjonijiet MPI.
  2. Identifika iterazzjoni waħda biex tiffoka fuqha u żżom fiha billi tkaxkar il-maws fuq l-intervall ta' ħin meħtieġ:Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-3It-traċċa view turi s-sezzjoni fi ħdan it-traċċa li għażilt. Il-grafika tal-Kronoloġija tal-Avvenimenti turi l-avvenimenti li kienu attivi matul l-iterazzjoni magħżula.
    • Il-vireg orizzontali jirrappreżentaw il-proċessi bil-funzjonijiet imsejħa f'dawn il-proċessi.
    • Linji suwed jindikaw messaġġi mibgħuta bejn il-proċessi. Dawn il-linji jgħaqqdu proċessi li jibagħtu u jirċievu.
    • Linji blu jirrappreżentaw operazzjonijiet kollettivi, bħal operazzjonijiet ta 'xandir jew tnaqqis.
  3. Aqleb għall-Flat Profile tab (A) biex tagħti ħarsa aktar mill-qrib lejn il-funzjonijiet li qed jeżegwixxu fil-punt tal-ħin li int (għażlet fil-Kronoloġija tal-Avvenimenti.Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-4
  4. Separa l-funzjonijiet MPI biex tanalizza l-attività tal-proċess MPI fl-applikazzjoni tiegħek.
    Biex tagħmel dan, ikklikkja bil-lemin fuq il-Proċessi Kollha > Grupp MPI ( B) fil-Flat Profile u agħżel UngroupMPI. Din l-operazzjoni tesponi s-sejħiet MPI individwali.
  5. Analizza l-proċessi li jikkomunikaw mal-ġirien diretti tagħhom billi tuża MPI_Sendrecv fil-bidu tal-iterazzjoni. Per example:Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-5
    • a. Fis-sample, l-iskambju tad-data MPI_Sendrecv għandu ostakolu: il-proċess ma jiskambjax data mal-ġar li jmiss tiegħu sakemm l-iskambju ma 'dak ta' qabel ikun komplut. Il-Ħinijiet tal-Avvenimenti view juri dan il-konġestjoni bħala taraġ.
    • b. L-MPI_Allreduce fl-aħħar tal-iterazzjoni jerġa 'jissinkronizza l-proċessi kollha; huwa għalhekk li din il-blokka għandha l-apparenza tat-taraġ b'lura.
  6. Identifika serialization, bl-użu tal-Funzjoni Profile u Message Profile views.
    • a. Iftaħ iċ-ċarts fl-istess ħin:
      Fil-Funzjoni Profile chart, iftaħ it-tab tal-Bilanċ tat-Tagħbija.
    • Mur fil-menu Charts biex tiftaħ Message Profile.
    • b. Fit-tab tal-Bilanċ tat-Tagħbija, jespandi MPI_Sendrecv u MPI_Allreduce. L-Ibbilanċjar tat-Tagħbija jindika li l-ħin mgħoddi f'MPI_Sendrecv jiżdied man-numru tal-proċess, filwaqt li l-ħin għal MPI_Allreduce jonqos.
    • c. Eżamina l-Messaġġ Profile Tabella 'l isfel fir-rokna t'isfel tal-lemin.
      Il-kodifikazzjoni tal-kulur tal-blokki tindika li l-messaġġi li jivvjaġġaw minn rank ogħla għal rank aktar baxx jeħtieġu proporzjonalment aktar ħin filwaqt li l-messaġġi li jivvjaġġaw minn rank aktar baxx għal rank ogħla jiżvelaw tip ta 'mudell dgħajjef anke-fard:Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-6

Ir-riżultati tal-analiżi komparattiva juru li m'hemm l-ebda mudelli ta 'skambju kumplessi fl-applikazzjoni, l-iskambju jitwettaq biss bi proċessi ġirien. L-informazzjoni se tkun essenzjali biex ittejjeb il-Prestazzjoni tal-Applikazzjoni Tiegħek billi tibdel il-pass tal-Komunikazzjoni biex jiġi ottimizzat il-mudell tal-komunikazzjoni tal-applikazzjoni.

Identifika Komunikazzjonijiet Żbilanċjati

Ara l-applikazzjoni tiegħek taħt iċ-ċirkostanzi ideali u qabbel it-traċċa oriġinali file ma’ dik idealizzata biex tiżola interazzjonijiet problematiċi.

  1. Oħloq idealizzat file:
    • a. Agħżel Avvanzata > Idealizzazzjoni jew ikklikkja l-Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-7 (Idealizzazzjoni) buttuna toolbar.
    • b. Iċċekkja l-parametri ta 'idealizzazzjoni fil-kaxxa ta' dialog Idealizzazzjoni (traċċa ideali file isem u medda ta’ żmien għall-konverżjoni).
    • c. Ikklikkja Ibda biex tiidealizza t-traċċa tiegħek.
  2. Qabbel it-traċċa oriġinali mat-traċċa idealizzata:
    • a. Agħżel Avvanzata > Dijagramma ta' Żbilanċ jew ikklikkja l- Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-8(Dijagramma Żbilanċ) buttuna tal-għodda.
    • b. Fil-kaxxa ta 'dialog Dijagramma tal-Iżbilanċ, ikklikkja l- Iftaħ Ieħor File buttuna, innaviga lejn it-traċċa idealizzata, u agħżelha.
    • c. Fit-tieqa tad-Dijagramma tal-Iżbilanċ, ikklikkja l-buttuna Total Mode u agħżel Breakdown Mode.

Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-9

Tista' tara li MPI_Sendrecv hija l-aktar funzjoni li tieħu ħafna ħin. Il-piż tal-iżbilanċ jintwera fi
kulur ċar u jinkludi madwar 10% għall-funzjoni MPI_Sendrecv. Dan huwa l-ħin li l-proċessi jqattgħu jistennew lil xulxin.

Ittejjeb il-Prestazzjoni tal-Applikazzjoni Tiegħek billi tibdel il-Komunikazzjonijiet

  1. Ittejjeb il-prestazzjoni tal-applikazzjoni MPI billi tibdel l-imblukkar għal komunikazzjonijiet li ma jimblukkawx.
    Fil-kodiċi tiegħek ibdel is-serje MPI_Sendrcv b'komunikazzjoni mhux imblukkata: MPI_Isend u MPI_Irecv. Per example: Snippet tal-kodiċi oriġinali:
    // skambju tal-konfini
    skambju null(para* p, grid* gr){
    int i,j;
    MPI_Status status_100, status_200, status_300, status_400;
    // tibgħat l-ewwel ringiela
    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);
    // tibgħat l-aħħar ringiela
    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);
    Uża l-Intel Trace Analyzer Paragun view biex tqabbel l-applikazzjoni serjali ma' dik riveduta
    // kopja tal-kolonna tax-xellug għal arrays tmp
    if(gr->xellug != MPI_PROC_NULL){
    gr->x_new[i][gr->lcol+1] = right_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
    // ibgħat id-dritt
    MPI_Send(right_col, gr->lrow+2, MPI_DOUBLE, gr-> right, 400, MPI_COMM_WORLD); }
    if(gr->xellug != MPI_PROC_NULL)
    {
    MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->left, 400, MPI_COMM_WORLD,&status_400); għal(i=0; i< gr->lrow+2; i++
    {
    gr->x_new[i][0] = left_col[i];
    }
    }
    Snippet tal-kodiċi aġġornat
    MPI_Request req[7];
    // tibgħat l-ewwel ringiela
    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);
    Ladarba tiġi kkoreġuta, l-iterazzjoni unika tal-applikazzjoni riveduta tidher bħal din li ġejja example:Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-10
  2. Uża l-Intel Trace Analyzer Paragun view biex tqabbel l-applikazzjoni serjali ma' dik riveduta. Qabbel żewġ traċċi bl-għajnuna tat-Tqabbil View, sejjer View > Qabbel. Il-Paragun View jidher simili għal:Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-11Fil-Paragun View, tista 'tara li l-użu ta' komunikazzjoni li ma jimblokkax jgħin biex titneħħa s-serializzazzjoni u tnaqqas il-ħin tal-komunikazzjoni tal-proċessi.
    NOTA Għal aktar informazzjoni dwar il-prestazzjoni fil-livell tan-nodi tal-applikazzjoni tiegħek, ara d-dokumentazzjoni għall-għodod rispettivi: Intel® VTune™ Profiler Analiżi tal-Kodiċi MPI u Analiżi ta 'applikazzjonijiet Intel® MPI bl-użu ta' Intel® Advisor.

Tgħallem Aktar

Esplora r-riżorsi li ġejjin għal aktar informazzjoni dwar Intel Trace Analyzer u Collector.Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-12Ibda-bil-Intel-Trace-Analyzer-u-Kollezzjonist-fig-13

Avviżi u Ċaħdiet

  • It-teknoloġiji Intel jistgħu jeħtieġu attivazzjoni ta' ħardwer, softwer jew servizz attivat.
  • L-ebda prodott jew komponent ma jista 'jkun assolutament sigur.
  • L-ispejjeż u r-riżultati tiegħek jistgħu jvarjaw.
  • © Korporazzjoni Intel. Intel, il-logo Intel, u marki oħra Intel huma trademarks ta' Intel Corporation jew is-sussidjarji tagħha. Ismijiet u marki oħra jistgħu jiġu mitluba bħala l-proprjetà ta 'oħrajn.
  • L-ebda liċenzja (espressa jew impliċita, b'estoppel jew mod ieħor) għal xi drittijiet tal-proprjetà intellettwali ma tingħata minn dan id-dokument.
  • Il-prodotti deskritti jista 'jkun fihom difetti tad-disinn jew żbalji magħrufa bħala errata li jistgħu jikkawżaw li l-prodott jiddevja mill-ispeċifikazzjonijiet ippubblikati. Errata karatterizzata kurrenti huma disponibbli fuq talba.
  • Intel tiċħad il-garanziji espressi u impliċiti kollha, inklużi mingħajr limitazzjoni, il-garanziji impliċiti ta' kummerċjabbiltà, idoneità għal skop partikolari, u non-ksur, kif ukoll kwalunkwe garanzija li tirriżulta mill-kors tal-prestazzjoni, il-kors tan-negozju, jew l-użu fil-kummerċ.

Dokumenti / Riżorsi

intel Ibda ma' Intel Trace Analyzer u Collector [pdfGwida għall-Utent
Ibda ma' Intel Trace Analyzer u Kollettur, Ibda ma' Intel, Trace Analyzer u Kollettur, Kollettur

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *