Cychwyn Arni gyda Intel Trace Analyzer a Collector

Get-Started-with-Intel-Trace-Analyzer-and-Casglwr-product

Cychwyn Arni gyda Intel® Trace Analyzer a Collector

Defnyddiwch y ddogfen Dechrau Arni hon ac olion a gasglwyd ymlaen llaw file i gerdded trwy ddadansoddiad perfformiad MPI sylfaenol gyda Intel® Trace Analyzer and Collector.
Mae Intel Trace Analyzer and Collector yn helpu i archwilio effeithlonrwydd defnyddio rhyngwyneb pasio negeseuon (MPI) a nodi mannau problemus cyfathrebu, tagfeydd cydamseru, a chydbwyso llwythi. Am ragor o wybodaeth am y cynnyrch, gweler tudalen cynnyrch Intel Trace Analyzer and Collector.

Dadlwythwch Intel Trace Analyzer and Collector

  • fel rhan o Becyn Cymorth Intel® oneAPI HPC
  • fel offeryn annibynnol

Rhagofynion

  • Cyn rhedeg Intel Trace Analyzer and Collector, gwnewch yn siŵr eich bod wedi gosod y Llyfrgell MPI Intel® diweddaraf ac Intel® oneAPI DPC ++/C ++ Compiler neu Intel® Fortran Compiler.
  • Mae hyn yn gosod y newidynnau amgylchedd gofynnol ar gyfer casglwyr, Llyfrgell MPI Intel, ac Intel Trace Analyzer and Collector, ac rydych chi'n barod i olrhain eich cymwysiadau.
  • Am ragor o wybodaeth, gweler: Intel® oneAPI Pecyn Cymorth HPC Gofynion System.

Deall y Llif Gwaith

  1. Olrhain Eich Cais
  2. Dadansoddwch y swyddogaethau MPI mwyaf gweithredol
  3. Adnabod rhyngweithiadau problematig
  4. Gwella perfformiad eich cais trwy ddisodli'r swyddogaeth achosi problemau

Olrhain Eich Cais MPI

Cynhyrchu olrhain file i gasglu logiau digwyddiadau ar gyfer y dadansoddiad ymddygiad cais canlynol.

  1. Sefydlu'r amgylchedd ar gyfer lansio'r Intel® Trace Analyzer and Collector trwy redeg y sgript setvars gan gyfarwyddwr gosod oneAPI
    NODYN
    Yn ddiofyn, mae Intel Trace Analyzer and Collector wedi'i osod i /opt/intel/oneapi/itac ar gyfer Linux* OS ac i Raglen Files (x86) \ Intel \ oneAPI \itac \ diweddaraf ar gyfer Windows * OS.
    Ar Linux:
    $ ffynhonnell /opt/intel/oneapi/setvars.sh
    Ar Windows:
    “C:\Rhaglen Files (x86)\Intel\oneAPI\setvars.bat"
  2. Rhedeg eich cais MPI a chynhyrchu olion gyda'r opsiwn -trace.
    Ar Linux:
    $mpirun -trace -n 4 ./poisson_sendrecv.single
    Ar Windows:
    Lluniwch yr ap a chasglwch yr olrhain.
    Ar gyfer Intel oneAPI DPC ++/C ++ Compiler, rhedeg:
    > mpiicc -trace poisson_sendrecv.single.c
    Ar gyfer Intel Fortran Compiler, rhedwch:
    > mpiifort -trace poisson_sendrecv.single.f
    Mae'r cynampmae le yn cynhyrchu hybrin (stf*) am felample poisson_sendrcv.single cais MPI
  3. Agorwch y .stf a gynhyrchir file gyda Intel Trace Analyzer gyda Intel Trace Analyzer and Collector.
    Ar Linux:
    $traceanalyzer ./ poisson_sendrecv.single.stf
    Ar Windows:
    traceanalyzer poisson_sendrecv.single.stf

NODYN
At ddibenion profi, gallwch lawrlwytho olion a gasglwyd ymlaen llaw file poisson_sendrecv.single.stf ar gyfer y poisson a ddefnyddir yn y ddogfen hon a'i agor gyda Intel Trace Analyzer and Collector.
Yr .stf file yn agor yn y Dudalen Gryno view, sy'n cynrychioli gwybodaeth gyffredinol am berfformiad eich cais:Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-1Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-2NODYN I gael rhagor o wybodaeth am ymarferoldeb Intel Trace Analyzer a Collector, gweler Dysgu Mwy.

Dadansoddwch y Swyddogaethau MPI Mwyaf Actif

Dadansoddi ymddygiad cymhwysiad MPI, dod o hyd i dagfeydd a nodi cyfresoli i ddod o hyd i ffyrdd o wella perfformiad y cais.

  1. O'r Dudalen Gryno agorwch Linell Amser y Digwyddiad view trwy glicio Parhau > Siartiau > Llinell Amser Digwyddiad i gael dadansoddiad dwfn o'r swyddogaethau MPI gorau.
    Mae'r siart yn dangos gweithgareddau proses unigol dros amser.
    Mae gwaith cymhwysiad yn ailadroddol, lle mae pob iteriad yn cynnwys rhan gyfrifiadol a chyfathrebiadau MPI.
  2. Nodwch un iteriad i ganolbwyntio arno a chwyddo i mewn iddo trwy lusgo'ch llygoden dros y cyfnod amser gofynnol:Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-3Yr olrhain view yn dangos yr adran o fewn yr olrhain a ddewisoch. Mae'r siart Llinell Amser Digwyddiadau yn dangos y digwyddiadau a oedd yn weithredol yn ystod yr iteriad a ddewiswyd.
    • Mae bariau llorweddol yn cynrychioli'r prosesau gyda'r swyddogaethau a elwir yn y prosesau hyn.
    • Mae llinellau du yn dynodi negeseuon a anfonwyd rhwng prosesau. Mae'r llinellau hyn yn cysylltu prosesau anfon a derbyn.
    • Mae llinellau glas yn cynrychioli gweithrediadau cyfunol, megis darlledu neu leihau gweithrediadau.
  3. Newid i'r Flat Profile tab (A) i gael golwg agosach ar swyddogaethau sy'n cael eu cyflawni yn y pwynt amser a ddewiswyd gennych yn Llinell Amser y Digwyddiad.Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-4
  4. Dadgrwpio swyddogaethau MPI i ddadansoddi gweithgaredd proses MPI yn eich cais.
    I wneud hyn, de-gliciwch ar All Processes > Group MPI (B) yn y Flat Profile a dewis UngroupMPI. Mae'r llawdriniaeth hon yn datgelu'r galwadau MPI unigol.
  5. Dadansoddwch y prosesau cyfathrebu â'u cymdogion uniongyrchol gan ddefnyddio MPI_Sendrecv ar ddechrau'r iteriad. Am gynample:Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-5
    • a. Yn y sample, mae gan y cyfnewid data MPI_Sendrecv dagfa: nid yw'r broses yn cyfnewid data gyda'i gymydog nesaf nes bod y cyfnewid gyda'r un blaenorol wedi'i gwblhau. Llinellau Amser y Digwyddiad view yn arddangos y dagfa hon fel grisiau.
    • b. Mae'r MPI_Allreduce ar ddiwedd yr iteriad yn ail-gydamseru pob proses; dyna pam mae gan y bloc hwn ymddangosiad grisiau cefn.
  6. Nodi cyfresoli, gan ddefnyddio'r Function Profile a Message Profile views.
    • a. Agorwch y siartiau ar yr un pryd:
      Yn y Swyddogaeth Profile siart, agorwch y tab Balans Llwyth.
    • Ewch i ddewislen Siartiau i agor Message Profile.
    • b. Yn y tab Balans Llwyth, ehangwch MPI_Sendrecv ac MPI_Allreduce. Mae'r Cydbwyso Llwyth yn nodi bod yr amser a dreulir yn MPI_Sendrecv yn cynyddu gyda rhif y broses, tra bod yr amser ar gyfer MPI_Allreduce yn lleihau.
    • c. Archwiliwch y Message Profile Siart i lawr i'r gornel dde isaf.
      Mae codau lliw’r blociau’n dangos bod angen mwy o amser ar gyfartaledd ar gyfer negeseuon sy’n teithio o safle uwch i safle is tra bod y negeseuon sy’n teithio o safle is i safle uwch yn datgelu patrwm gwan ac odrif:Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-6

Mae canlyniadau'r dadansoddiad cymharol yn dangos nad oes unrhyw batrymau cyfnewid cymhleth yn y cais, dim ond gyda phrosesau cyfagos y cynhelir y cyfnewid. Bydd y wybodaeth yn hanfodol ar gyfer Gwella Eich Perfformiad Cais trwy Newid Cyfathrebu er mwyn gwneud y gorau o fodel cyfathrebu'r rhaglen.

Adnabod Cyfathrebiadau Anghytbwys

Gwyliwch eich cais o dan yr amgylchiadau delfrydol a chymharwch yr olin gwreiddiol file gyda'r un delfrydol i ynysu rhyngweithiadau problematig.

  1. Creu delfrydol file:
    • a. Dewiswch Uwch > Delfrydu neu cliciwch ar yCychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-7 Botwm bar offer (delfrydu).
    • b. Gwiriwch y paramedrau idealization yn y blwch deialog Idealization (olrhain delfrydol file enw ac ystod amser ar gyfer trosi).
    • c. Cliciwch ar Start i ddelfrydu'ch olion.
  2. Cymharwch yr olion gwreiddiol â'r olion delfrydol:
    • a. Dewiswch Uwch > Diagram Anghydbwysedd neu cliciwch ar y Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-8(Diagram Anghydbwysedd) botwm bar offer.
    • b. Yn y Diagram Anghydbwysedd blwch deialog, cliciwch ar Agor Arall File botwm, llywiwch i'r olrhain delfrydol, a'i ddewis.
    • c. Yn y ffenestr Diagram Anghydbwysedd, cliciwch ar y Modd Cyfanswm botwm a dewis Modd Dadansoddi.

Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-9

Gallwch weld mai MPI_Sendrecv yw'r swyddogaeth sy'n cymryd fwyaf o amser. Mae'r pwysau anghydbwysedd yn cael ei arddangos yn
lliw golau ac yn cynnwys tua 10% ar gyfer y swyddogaeth MPI_Sendrecv. Dyma'r amser mae'r prosesau'n ei dreulio yn aros am ei gilydd.

Gwella Perfformiad Eich Cais trwy Newid Cyfathrebu

  1. Gwella perfformiad y cymhwysiad MPI trwy newid blocio i gyfathrebiadau nad ydynt yn rhwystro.
    Yn eich cod rhowch gyfathrebiad di-rwystro yn lle'r MPI_Sendrcv cyfresol: MPI_Isend ac MPI_Irecv. Am gynample: Tamaid cod gwreiddiol:
    // cyfnewid ffin
    cyfnewid unedau gwag (para* p, grid* gr){
    int i,j;
    MPI_Statws_100, status_200, status_300, status_400;
    // anfon rhes gyntaf i lawr
    MPI_Send(gr-> x_new[1], gr->lcol+2, MPI_DOUBLE, gr-> i lawr, 100, MPI_COMM_WORLD); MPI_Recv(gr-> x_new[gr-> lrow+1], gr-> lcol+2, MPI_DOUBLE, gr-> i fyny, 100, MPI_COMM_WORLD,
    &statws_100);
    // anfon i fyny rhes olaf
    MPI_Send(gr-> x_new[gr-> lrow], gr->lcol+2, MPI_DOUBLE, gr-> i fyny, 200, MPI_COMM_WORLD);
    MPI_Recv(gr-> x_new[0], gr-> lcol+2, MPI_DOUBLE, gr-> i lawr, 200, MPI_COMM_WORLD, &status_200);
    Defnyddiwch Gymhariaeth Intel Trace Analyzer view i gymharu'r cais cyfresol â'r fersiwn diwygiedig
    // copïo'r golofn chwith i araeau tmp
    os(gr-> chwith!= MPI_PROC_NULL){
    gr-> x_new[i][gr->lcol+1] = iawn_col[i]; right_col[i] = gr-> x_new[i][gr->lcol];
    // anfon yn iawn
    MPI_Send(right_col, gr-> lrow+2, MPI_DOUBLE, gr-> dde, 400, MPI_COMM_WORLD); }
    os(gr-> chwith!= MPI_PROC_NULL)
    {
    MPI_Recv(chwith_col, gr-> lrow+2, MPI_DOUBLE, gr-> chwith, 400, MPI_COMM_WORLD, &status_400); ar gyfer(i=0; i< gr-> lrow+2; i++
    {
    gr-> x_new[i][0] = chwith_col[i];
    }
    }
    Darn cod wedi'i ddiweddaru
    MPI_Request cais[7];
    // anfon rhes gyntaf i lawr
    MPI_Isend(gr-> x_new[1], gr->lcol+2, MPI_DOUBLE, gr-> i lawr, 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);
    Unwaith y bydd wedi'i gywiro, bydd iteriad sengl y cais diwygiedig yn edrych fel yr e-bost a ganlynample:Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-10
  2. Defnyddiwch Gymhariaeth Intel Trace Analyzer view i gymharu'r cais cyfresol â'r un diwygiedig. Cymharer dau olion gyda chymorth y Gymhariaeth View, mynd i View > Cymharwch. Y Cymhariaeth View edrych yn debyg i:Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-11Yn y Gymhariaeth View, gallwch weld bod defnyddio cyfathrebu di-blocio yn helpu i gael gwared ar gyfresoli a lleihau amser cyfathrebu prosesau.
    NODYN I gael rhagor o wybodaeth am berfformiad lefel nodau eich cais, gweler y dogfennau ar gyfer yr offer priodol: Intel® VTune™ Profiler Dadansoddi a Dadansoddi Cod MPI cymwysiadau MPI Intel® gan ddefnyddio Intel® Advisor.

Dysgwch Mwy

Archwiliwch yr adnoddau canlynol i gael mwy o wybodaeth am Intel Trace Analyzer and Collector.Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-12Cychwyn Arni-gyda-Intel-Trace-Analyzer-and-Casglydd-fig-13

Hysbysiadau a Gwadiadau

  • Efallai y bydd angen caledwedd, meddalwedd neu actifadu gwasanaeth wedi'i alluogi ar dechnolegau Intel.
  • Ni all unrhyw gynnyrch neu gydran fod yn gwbl ddiogel.
  • Gall eich costau a'ch canlyniadau amrywio.
  • © Intel Corporation. Mae Intel, logo Intel, a nodau Intel eraill yn nodau masnach Intel Corporation neu ei is-gwmnïau. Gellir hawlio enwau a brandiau eraill fel eiddo eraill.
  • Nid yw'r ddogfen hon yn rhoi trwydded (mynegedig neu ymhlyg, trwy estopel neu fel arall) i unrhyw hawliau eiddo deallusol.
  • Gall y cynhyrchion a ddisgrifir gynnwys diffygion dylunio neu wallau a elwir yn errata a allai achosi i'r cynnyrch wyro oddi wrth fanylebau cyhoeddedig. Mae gwallau nodwedd cyfredol ar gael ar gais.
  • Mae Intel yn ymwadu â'r holl warantau penodol ac ymhlyg, gan gynnwys heb gyfyngiad, y gwarantau ymhlyg o fasnachadwyedd, addasrwydd at ddiben penodol, a pheidio â thorri rheolau, yn ogystal ag unrhyw warant sy'n deillio o gwrs perfformiad, cwrs delio, neu ddefnydd mewn masnach.

Dogfennau / Adnoddau

intel Cychwyn Arni gyda Intel Trace Analyzer a Collector [pdfCanllaw Defnyddiwr
Cychwyn Arni gyda Intel Trace Analyzer a Collector, Cychwyn Arni gyda Intel, Trace Analyzer a Collector, Collector

Cyfeiriadau

Gadael sylw

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Mae meysydd gofynnol wedi'u marcio *