Cychwyn Arni gyda Intel Trace Analyzer a Collector
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
- Olrhain Eich Cais
- Dadansoddwch y swyddogaethau MPI mwyaf gweithredol
- Adnabod rhyngweithiadau problematig
- 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.
- 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" - 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 - 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:NODYN 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.
- 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. - Nodwch un iteriad i ganolbwyntio arno a chwyddo i mewn iddo trwy lusgo'ch llygoden dros y cyfnod amser gofynnol:
Yr 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.
- 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.
- 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. - Dadansoddwch y prosesau cyfathrebu â'u cymdogion uniongyrchol gan ddefnyddio MPI_Sendrecv ar ddechrau'r iteriad. Am gynample:
- 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.
- 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:
- a. Agorwch y siartiau ar yr un pryd:
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.
- Creu delfrydol file:
- a. Dewiswch Uwch > Delfrydu neu cliciwch ar y
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.
- a. Dewiswch Uwch > Delfrydu neu cliciwch ar y
- Cymharwch yr olion gwreiddiol â'r olion delfrydol:
- a. Dewiswch Uwch > Diagram Anghydbwysedd neu cliciwch ar y
(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.
- a. Dewiswch Uwch > Diagram Anghydbwysedd neu cliciwch ar y
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
- 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: - 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:
Yn 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.
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 |