E hoʻomaka me Intel Trace Analyzer a me ka mea hōʻiliʻili

E hoʻomaka-me-Intel-Trace-Analyzer-and-Collector-product

E hoʻomaka me Intel® Trace Analyzer and Collector

E hoʻohana i kēia palapala Hoʻomaka a me kahi meheu i hōʻiliʻili mua ʻia file e hele i kahi loiloi hana MPI kumu me Intel® Trace Analyzer and Collector.
Kōkua ʻo Intel Trace Analyzer a me Collector i ka ʻimi ʻana i ka maikaʻi o ka hoʻohana ʻana i ka message passing interface (MPI) a ʻike i nā wahi piko kamaʻilio, nā bottlenecks synchronization, a me ke kaupaona ʻana. No ka 'ike hou aku e pili ana i ka huahana, e nana i ka Intel Trace Analyzer and Collector product page.

Hoʻoiho iā Intel Trace Analyzer and Collector

  • ma ke ʻano he ʻāpana o Intel® oneAPI HPC Toolkit
  • ma ke ʻano he mea hana kūʻokoʻa

Nā mea e pono ai

  • Ma mua o ka holo ʻana iā Intel Trace Analyzer and Collector, e hōʻoia ʻoe ua hoʻokomo i ka Intel® MPI Library a me Intel® oneAPI DPC++/C++ Compiler a i ʻole Intel® Fortran Compiler.
  • Hoʻonohonoho kēia i nā ʻano hoʻololi kaiapuni i koi ʻia no nā mea hoʻopili, ka Intel MPI Library, a me Intel Trace Analyzer and Collector, a ua mākaukau ʻoe e ʻimi i kāu mau noi.
  • No ka 'ike hou aku, e 'ike i: Intel® oneAPI HPC Toolkit System Requirements.

E hoʻomaopopo i ke Kaʻina Hana

  1. E hahai i kāu palapala noi
  2. E noʻonoʻo i nā hana MPI ikaika loa
  3. E ʻike i nā pilina pilikia
  4. E hoʻomaikaʻi i kāu hana noi ma ka hoʻololi ʻana i ka hana pilikia

E ʻimi i kāu palapala MPI

E hana i kahi meheu file e hōʻiliʻili i nā moʻolelo hanana no ka loiloi ʻano noiʻi.

  1. E hoʻonohonoho i ke kaiapuni no ka hoʻomaka ʻana i ka Intel® Trace Analyzer a me Collector ma ka holo ʻana i ka palapala setvars mai ka luna hoʻonohonoho oneAPI.
    HOOLAHA
    Ma ka maʻamau, ua hoʻokomo ʻia ʻo Intel Trace Analyzer a me Collector i /opt/intel/oneapi/itac no Linux* OS a i ka Polokalamu. Files (x86)\Intel\oneAPI\itac\hou loa no Windows* OS.
    Ma Linux:
    $ kumu /opt/intel/oneapi/setvars.sh
    Ma Windows:
    “C:\Pahana Files (x86)\Intel\oneAPI\setvars.bat”
  2. E holo i kāu noi MPI a hana i kahi trace me ke koho -trace.
    Ma Linux:
    $ mpirun -trace -n 4 ./poisson_sendrecv.single
    Ma Windows:
    E hōʻuluʻulu i ka app a hōʻiliʻili i ka trace.
    No Intel oneAPI DPC++/C++ Compiler, holo:
    > mpiicc -trace poisson_sendrecv.single.c
    No Intel Fortran Compiler, holo:
    > mpiifort -trace poisson_sendrecv.single.f
    ʻO kēia exampLe hoʻopuka i kahi trace (stf*) no ka meaample poisson_sendrcv.hoʻokahi MPI palapala noi
  3. E wehe i ka .stf i hana ʻia file me Intel Trace Analyzer me Intel Trace Analyzer and Collector.
    Ma Linux:
    $ traceanalyzer ./ poisson_sendrecv.single.stf
    Ma Windows:
    traceanalyzer poisson_sendrecv.single.stf

HOOLAHA
No ka hoʻāʻo ʻana, hiki iā ʻoe ke hoʻoiho i kahi meheu i hōʻiliʻili mua ʻia file poisson_sendrecv.single.stf no ka poisson i hoʻohana ʻia ma kēia palapala a wehe ʻia me Intel Trace Analyzer a me Collector.
ʻO ka .stf file wehe ʻia ma ka ʻaoʻao hōʻuluʻulu view, e hōʻike ana i ka ʻike maʻamau e pili ana i kāu hana noi noi:E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-1E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-2HOOLAHA No ka 'ike hou aku e pili ana i ka Intel Trace Analyzer and Collector functionality, e nana e a'o hou aku.

E noʻonoʻo i nā hana MPI ʻoi loa

E noʻonoʻo i kahi ʻano noi MPI, e ʻimi i nā bottlenecks a ʻike i ka serialization e ʻike i nā ala e hoʻomaikaʻi ai i ka hana noi.

  1. Mai ka ʻaoʻao hōʻuluʻulu e wehe i ka laina manawa hanana view ma ke kaomi ʻana i ka Continue > Charts > Event Timeline no ka nānā hohonu ʻana i nā hana MPI kiʻekiʻe.
    Hōʻike ka pakuhi i nā hana kaʻina hana pākahi i ka manawa.
    ʻO ka hana noiʻi he iterative, kahi i loaʻa i kēlā me kēia hoʻololi i kahi ʻāpana computational a me nā kamaʻilio MPI.
  2. E hoʻomaopopo i hoʻokahi hoʻololi e nānā a hoʻonui iā ia ma ke kauo ʻana i kāu ʻiole ma luna o ka manawa i koi ʻia:E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-3Ka meheu view hōʻike i ka ʻāpana i loko o ka meheu āu i koho ai. Hōʻike ka pakuhi Timeline i nā hanana i hana i ka wā o ka hoʻololi i koho ʻia.
    • Hōʻike ʻia nā kaʻina hana me nā hana i kapa ʻia ma kēia mau kaʻina.
    • Hōʻike nā laina ʻeleʻele i nā memo i hoʻouna ʻia ma waena o nā kaʻina hana. Hoʻopili kēia mau laina i nā kaʻina hoʻouna a loaʻa.
    • Hōʻike nā laina ʻulaʻula i nā hana hui, e like me ka hoʻolaha a hōʻemi paha i nā hana.
  3. E hoʻololi i ka Flat Profile tab (A) e nānā pono i nā hana e hoʻokō nei i ka manawa āu (i koho ʻia ma ka Timeline Event.E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-4
  4. Ungroup MPI hana e kālailai i ka hana kaʻina hana MPI i kāu noi.
    No ka hana ʻana i kēia, kaomi ʻākau i ka All Processes > Group MPI (B) ma ka Flat Profile a koho UngroupMPI. Hōʻike kēia hana i nā kelepona MPI pākahi.
  5. E noʻonoʻo i nā kaʻina hana e kamaʻilio me ko lākou mau hoalauna pololei me ka hoʻohana ʻana i MPI_Sendrecv i ka hoʻomaka ʻana o ka ʻike. No example:E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-5
    • a. Ma ka sampʻO ka MPI_Sendrecv data exchange he bottleneck: ʻaʻole hoʻololi ke kaʻina i ka ʻikepili me kona hoalauna a hiki i ka pau ʻana o ka hoʻololi ʻana me ka mea ma mua. Nā Manawa Hanana view hōʻike i kēia bottleneck ma ke ʻano he alapiʻi.
    • b. ʻO ka MPI_Allreduce i ka hopena o ka hoʻololi hou e hoʻonohonoho hou i nā kaʻina hana a pau; ʻo ia ke kumu i loaʻa ai i kēia poloka ke ʻano alapiʻi hope.
  6. E ʻike i ka serialization, me ka hoʻohana ʻana i ka Function Profile a me Message Profile views.
    • a. E wehe i nā pakuhi i ka manawa like:
      Ma ka Function Profile pakuhi, wehe i ka Load Balancetab.
    • E hele i ka papa kuhikuhi Charts e wehe i kahi Message Profile.
    • b. Ma ka ʻaoʻao Load Balance, hoʻonui i ka MPI_Sendrecv a me MPI_Allreduce. Hōʻike ka Load Balancing i ka piʻi ʻana o ka manawa ma MPI_Sendrecv me ka helu kaʻina hana, ʻoiai ke emi nei ka manawa no MPI_Allreduce.
    • c. E nānā i ka Message Profile E kaomi ma ka ʻaoʻao ʻākau lalo.
      ʻO ka hoʻopili kala ʻana o nā poloka e hōʻike ana i nā memo e hele ana mai kahi kūlana kiʻekiʻe a i kahi kūlana haʻahaʻa e pono ai ka manawa like ʻoiai ʻo nā memo e hele ana mai kahi kūlana haʻahaʻa a i kahi kūlana kiʻekiʻe e hōʻike ana i kahi ʻano ʻano like ʻole.E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-6

Hōʻike nā hopena o ka hoʻohālikelike hoʻohālikelike ʻaʻohe ʻano hoʻololi paʻakikī i ka noi, lawe ʻia ka hoʻololi ʻana me nā kaʻina hana pili. Pono ka ʻike no ka hoʻomaikaʻi ʻana i kāu hana noi noi ma o ka hoʻololi ʻana i nā ʻanuʻu kamaʻilio e hoʻomaikaʻi i ke ʻano kamaʻilio o ka noi.

E ʻike i nā Kūkākūkā Kūleʻa

E nānā i kāu noi ma lalo o nā kūlana kūpono a hoʻohālikelike i ka trace kumu file me ka mea kūpono e hoʻokaʻawale i nā pilina pilikia.

  1. E hana i kahi mea kūpono file:
    • a. Koho i Advanced > Idealization a i ʻole kaomi i kaE hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-7 (Idealization) pihi hāmeʻa.
    • b. E nānā i nā ʻāpana kūpono i ka pahu kamaʻilio Idealization (ideal trace file inoa a me ka palena manawa no ka hoʻololi ʻana).
    • c. Kaomi i ka Start no ka hoʻohālikelike ʻana i kāu meheu.
  2. E hoʻohālikelike i ka meheu kumu me ka meheu kūpono:
    • a. Koho i ka Advanced > Imbalance Diagram a i ʻole kaomi i ka E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-8(Imbalance Diagram) pihi hāmeʻa.
    • b. I ka pahu kūkākūkā Imbalance Diagram, kaomi i ka Open Another File pihi, e hoʻokele i ke ala kūpono, a koho iā ia.
    • c. Ma ka puka aniani ʻo Imbalance Diagram, kaomi i ke pihi Total Mode a koho i ka Breakdown Mode.

E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-9

Hiki iā ʻoe ke ʻike ʻo MPI_Sendrecv ka hana hoʻopau manawa. Hōʻike ʻia ka paona imbalance ma
kala māmā a loaʻa ma kahi o 10% no ka hana MPI_Sendrecv. ʻO kēia ka manawa e kali ai nā kaʻina hana i kekahi i kekahi.

E hoʻomaikaʻi i kāu hana noi ma ka hoʻololi ʻana i nā kamaʻilio

  1. E hoʻomaikaʻi i ka hana o ka noi MPI ma o ka hoʻololi ʻana i ka pale ʻana i nā kamaʻilio paʻa ʻole.
    Ma kāu code e hoʻololi i ka serial MPI_Sendrcv me ka pāpā ʻole: MPI_Isend a me MPI_Irecv. No example: snippet code kumu:
    // hoʻololi palena
    hoʻololi ʻole (para* p, grid* gr){
    int i,j;
    MPI_Status status_100, status_200, status_300, status_400;
    // hoʻouna i ka lālani mua
    MPI_Send(gr->x_new[1], gr->lcol+2, MPI_DOUBLE, gr->lalo, 100, MPI_COMM_WORLD); MPI_Recv(gr->x_new[gr->lrow+1], gr->lcol+2, MPI_DOUBLE, gr->up, 100, MPI_COMM_WORLD,
    & kūlana_100);
    // hoʻouna i ka lālani hope
    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->lalo, 200, MPI_COMM_WORLD, & status_200);
    E hoʻohana i ka Intel Trace Analyzer Comparison view e hoʻohālikelike i ka polokalamu serialized me ka mea i hoʻoponopono ʻia
    // kope i ke kolamu hema i tmp arrays
    inā(gr->hema != MPI_PROC_NULL){
    gr->x_new[i][gr->lcol+1] = right_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
    // hoʻouna pololei
    MPI_Send(right_col, gr->lrow+2, MPI_DOUBLE, gr->right, 400, MPI_COMM_WORLD); }
    inā(gr->hema != MPI_PROC_NULL)
    {
    MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->hema, 400, MPI_COMM_WORLD,&status_400); no(i=0; i< gr->lrow+2; i++
    {
    gr->x_new[i][0] = left_col[i];
    }
    }
    Hōʻano hou ʻia ka snippet code
    MPI_Noi noi [7];
    // hoʻouna i ka lālani mua
    MPI_Isend(gr->x_new[1], gr->lcol+2, MPI_DOUBLE, gr->lalo, 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, koi, MPI_STATUSES_IGNORE);
    Ke hoʻoponopono ʻia, e like ke ʻano o ka loiloi hoʻokahi o ka noi i hoʻoponopono ʻia e like me kēia example:E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-10
  2. E hoʻohana i ka Intel Trace Analyzer Comparison view e hoʻohālikelike i ka polokalamu serialized me ka mea i hoʻoponopono ʻia. E hoʻohālikelike i ʻelua meheu me ke kōkua o ka Hoʻohālikelike View, e hele ana i View > Hoʻohālikelike. Ka Hoolikelike View like me:E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-11Ma ka Hoʻohālikelike View, hiki iā ʻoe ke ʻike i ka hoʻohana ʻana i ke kamaʻilio non-blocking e kōkua i ka wehe ʻana i ka serialization a hoʻemi i ka manawa o ke kamaʻilio ʻana o nā kaʻina hana.
    HOOLAHA No ka ʻike hou aku e pili ana i ka hana pae node o kāu noi, e ʻike i ka palapala no nā mea hana pono: Intel® VTune™ Profiler Ka helu helu helu MPI a me ka nānā ʻana i nā noi Intel® MPI me ka hoʻohana ʻana iā Intel® Advisor.

E aʻo hou aku

E ʻimi i kēia mau kumuwaiwai no ka ʻike hou aku e pili ana iā Intel Trace Analyzer a me Collector.E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-12E hoʻomaka-me-Intel-Trace-Analyzer-a-Collector-fig-13

Hoolaha a me na Hoole

  • Hiki i nā ʻōnaehana Intel ke koi ʻia i nā ʻenehana, lako polokalamu a i ʻole ka hana e lawelawe ai.
  • ʻAʻole hiki ke hoʻopaʻa paʻa ʻia kekahi huahana a mea ʻāpana paha.
  • He ʻokoʻa paha kāu mau koina a me nā hopena.
  • © Intel Corporation. ʻO Intel, ka Intel logo, a me nā hōʻailona Intel ʻē aʻe he mau hōʻailona o Intel Corporation a i ʻole kāna mau lālā. Hiki ke koi ʻia nā inoa a me nā hōʻailona ʻē aʻe ma ke ʻano he waiwai o nā poʻe ʻē aʻe.
  • ʻAʻole hāʻawi ʻia ka laikini (hōʻike a i ʻole ka manaʻo, e ka estoppel a i ʻole) i kekahi kuleana waiwai naʻauao e kēia palapala.
  • Loaʻa i nā huahana i wehewehe ʻia nā hemahema hoʻolālā a i ʻole nā ​​hewa i kapa ʻia ʻo errata e hoʻohuli i ka huahana mai nā kikoʻī i paʻi ʻia. Loaʻa ka hewa o kēia manawa ma ke noi.
  • Hōʻole ʻo Intel i nā palapala hōʻoia a pau, me ka ʻole o ka palena, nā palapala hōʻoia o ke kūʻai aku, kūpono no kekahi kumu, a me ka hewa ʻole, a me nā palapala hōʻoia e puka mai ana mai ke ʻano o ka hana, ke ʻano o ka hana, a i ʻole ka hoʻohana ʻana i ke kālepa.

Palapala / Punawai

intel E hoʻomaka me Intel Trace Analyzer a me ka mea hōʻiliʻili [pdf] Ke alakaʻi hoʻohana
E hoʻomaka me Intel Trace Analyzer a me Collector, E hoʻomaka me Intel, Trace Analyzer a me Collector, Collector

Nā kuhikuhi

Waiho i kahi manaʻo

ʻAʻole e paʻi ʻia kāu leka uila. Hōʻailona ʻia nā kahua i makemake ʻia *