Intel Trace Analyzer සහ එකතුකරන්නා සමඟ ආරම්භ කරන්න

Intel-Trace-Analyzer-and-Collector-නිෂ්පාදනය සමඟ-ආරම්භ කරන්න

Intel® Trace Analyzer සහ එකතුකරන්නා සමඟ ආරම්භ කරන්න

මෙම Get Started ලේඛනය සහ පෙර එකතු කළ හෝඩුවාවක් භාවිතා කරන්න file Intel® Trace Analyzer සහ කලෙක්ටර් සමඟ මූලික MPI කාර්ය සාධන විශ්ලේෂණයක් හරහා ගමන් කිරීමට.
ඉන්ටෙල් ට්‍රේස් ඇනලයිසර් සහ එකතුකරන්නා පණිවිඩ යැවීමේ අතුරුමුහුණත් (MPI) භාවිත කාර්යක්ෂමතාව ගවේෂණය කිරීමට සහ සන්නිවේදන හොට්ස්පොට්, සමමුහුර්ත කිරීමේ බාධක සහ බර සමතුලිතතාවය හඳුනා ගැනීමට උපකාරී වේ. නිෂ්පාදනය පිළිබඳ වැඩි විස්තර සඳහා, Intel Trace Analyzer සහ Collector නිෂ්පාදන පිටුව බලන්න.

Intel Trace Analyzer සහ එකතුකරන්නා බාගන්න

  • Intel® oneAPI HPC මෙවලම් කට්ටලයේ කොටසක් ලෙස
  • ස්වාධීන මෙවලමක් ලෙස

පූර්වාවශ්යතාවයන්

  • Intel Trace Analyzer සහ Collector ධාවනය කිරීමට පෙර, ඔබ නවතම Intel® MPI පුස්තකාලය සහ Intel® oneAPI DPC++/C++ Compiler හෝ Intel® Fortran Compiler ස්ථාපනය කර ඇති බවට වග බලා ගන්න.
  • මෙය සම්පාදක, Intel MPI පුස්තකාලය, සහ Intel Trace Analyzer සහ කලෙක්ටර් සඳහා අවශ්‍ය පරිසර විචල්‍ය සකසන අතර, ඔබ ඔබගේ යෙදුම් සොයා ගැනීමට සූදානම්ය.
  • වැඩි විස්තර සඳහා, බලන්න: Intel® oneAPI HPC මෙවලම් කට්ටල පද්ධති අවශ්‍යතා.

කාර්ය ප්රවාහය තේරුම් ගන්න

  1. ඔබගේ අයදුම්පත සොයා ගන්න
  2. වඩාත්ම ක්රියාකාරී MPI කාර්යයන් විශ්ලේෂණය කරන්න
  3. ගැටළු සහගත අන්තර්ක්‍රියා හඳුනා ගන්න
  4. ගැටළු ඇති කරන ශ්‍රිතය ප්‍රතිස්ථාපනය කිරීමෙන් ඔබගේ යෙදුම් කාර්ය සාධනය වැඩි දියුණු කරන්න

ඔබේ MPI යෙදුම සොයා ගන්න

හෝඩුවාවක් ජනනය කරන්න file පහත යෙදුම් හැසිරීම් විශ්ලේෂණය සඳහා සිදුවීම් ලඝු එකතු කිරීමට.

  1. oneAPI ස්ථාපන අධ්‍යක්ෂක වෙතින් setvars ස්ක්‍රිප්ට් ධාවනය කිරීමෙන් Intel® Trace Analyzer සහ කලෙක්ටර් දියත් කිරීමට පරිසරය සකසන්න
    සටහන
    පෙරනිමියෙන්, Intel Trace Analyzer සහ Collector ස්ථාපනය කර ඇත /opt/intel/oneapi/itac සඳහා Linux* OS සඳහා සහ වැඩසටහනට FileWindows* OS සඳහා s (x86)\Intel\oneAPI\itac\ නවතම.
    Linux මත:
    $ source /opt/intel/oneapi/setvars.sh
    වින්ඩෝස් මත:
    "C:\ වැඩසටහන Files (x86)\Intel\oneAPI\setvars.bat”
  2. ඔබගේ MPI යෙදුම ධාවනය කර -trace විකල්පය සමඟ හෝඩුවාවක් ජනනය කරන්න.
    Linux මත:
    $ mpirun -trace -n 4 ./poisson_sendrecv.single
    වින්ඩෝස් මත:
    යෙදුම සම්පාදනය කර හෝඩුවාවක් එකතු කරන්න.
    Intel oneAPI DPC++/C++ Compiler සඳහා, ධාවනය කරන්න:
    > mpiicc -trace poisson_sendrecv.single.c
    Intel Fortran Compiler සඳහා, ධාවනය කරන්න:
    > mpiifort -trace poisson_sendrecv.single.f
    මෙම හිටපුample ලෙස සඳහා හෝඩුවාවක් (stf*) ජනනය කරයිample poisson_sendrcv.single MPI යෙදුම
  3. ජනනය කරන ලද .stf විවෘත කරන්න file Intel Trace Analyzer සහ Intel Trace Analyzer සමඟ.
    Linux මත:
    $ traceanalyzer ./ poisson_sendrecv.single.stf
    වින්ඩෝස් මත:
    සොයාගැනීමේ විශ්ලේෂකය poisson_sendrecv.single.stf

සටහන
පරීක්ෂණ අරමුණු සඳහා, ඔබට පෙර එකතු කළ හෝඩුවාවක් බාගත කළ හැකිය file මෙම ලේඛනයේ භාවිතා කරන විෂ සඳහා poisson_sendrecv.single.stf සහ Intel Trace Analyzer සහ Collector සමඟ එය විවෘත කරන්න.
.stf file සාරාංශ පිටුවේ විවෘත වේ view, ඔබේ යෙදුම් කාර්ය සාධනය පිළිබඳ සාමාන්‍ය තොරතුරු නියෝජනය කරයි:Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-1 සමඟ-ආරම්භ කරන්නIntel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-2 සමඟ-ආරම්භ කරන්නසටහන Intel Trace Analyzer සහ එකතු කිරීමේ ක්‍රියාකාරීත්වය පිළිබඳ වැඩි විස්තර සඳහා, තව දැනගන්න බලන්න.

වඩාත්ම ක්රියාකාරී MPI කාර්යයන් විශ්ලේෂණය කරන්න

MPI යෙදුම් හැසිරීමක් විශ්ලේෂණය කරන්න, අවහිරතා සොයා ගන්න සහ යෙදුම් කාර්ය සාධනය වැඩි දියුණු කිරීමට ක්‍රම සොයා ගැනීමට අනුක්‍රමික හඳුනා ගන්න.

  1. සාරාංශ පිටුවෙන් සිදුවීම් කාලරේඛාව විවෘත කරන්න view ඉහළම MPI කාර්යයන් පිළිබඳ ගැඹුරු විශ්ලේෂණය සඳහා ඉදිරියට යන්න > ප්‍රස්ථාර > සිදුවීම් කාල නියමය ක්ලික් කිරීමෙන්.
    ප්‍රස්ථාරය කාලයත් සමඟ තනි ක්‍රියාවලි ක්‍රියාකාරකම් පෙන්වයි.
    යෙදුම් කාර්යය පුනරාවර්තන වේ, එහිදී එක් එක් පුනරාවර්තනය පරිගණකමය කොටසකින් සහ MPI සන්නිවේදනයන්ගෙන් සමන්විත වේ.
  2. අවධානය යොමු කිරීමට තනි පුනරාවර්තනයක් හඳුනාගෙන අවශ්‍ය කාල පරතරය හරහා ඔබේ මූසිකය ඇදගෙන යාමෙන් එය විශාලනය කරන්න:Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-3 සමඟ-ආරම්භ කරන්නහෝඩුවාවක් view ඔබ තෝරාගත් හෝඩුවාව තුළ කොටස පෙන්වයි. සිදුවීම් කාලරේඛා ප්‍රස්ථාරය තෝරාගත් පුනරාවර්තනය අතරතුර සක්‍රිය වූ සිදුවීම් පෙන්වයි.
    • තිරස් තීරු මෙම ක්‍රියාවලීන්හි හැඳින්වෙන කාර්යයන් සමඟ ක්‍රියාවලි නියෝජනය කරයි.
    • ක්‍රියාවලි අතර යවන ලද පණිවිඩ කළු රේඛා දක්වයි. මෙම රේඛා යැවීමේ සහ ලැබීමේ ක්‍රියාවලීන් සම්බන්ධ කරයි.
    • නිල් රේඛා විකාශනය හෝ මෙහෙයුම් අඩු කිරීම වැනි සාමූහික මෙහෙයුම් නියෝජනය කරයි.
  3. Flat Pro වෙත මාරු වන්නfile ටැබ් (A) ඔබ කාල ලක්ෂ්‍යයේ ක්‍රියාත්මක වන කාර්යයන් දෙස සමීපව බැලීමට (සිදුවීම් කාලරාමුව තුළ තෝරා ඇත.Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-4 සමඟ-ආරම්භ කරන්න
  4. ඔබගේ යෙදුමේ MPI ක්‍රියාවලි ක්‍රියාකාරකම් විශ්ලේෂණය කිරීමට MPI කාර්යයන් සමූහගත නොකරන්න.
    මෙය සිදු කිරීම සඳහා, පැතලි ප්‍රෝ හි සියලුම ක්‍රියාවලි > සමූහ MPI (B) මත දකුණු-ක්ලික් කරන්නfile සහ UngroupMPI තෝරන්න. මෙම මෙහෙයුම තනි MPI ඇමතුම් නිරාවරණය කරයි.
  5. පුනරාවර්තනය ආරම්භයේදී MPI_Sendrecv භාවිතයෙන් ඔවුන්ගේ සෘජු අසල්වැසියන් සමඟ සන්නිවේදනය කරන ක්‍රියාවලීන් විශ්ලේෂණය කරන්න. උදාහරණයක් ලෙසampලෙ:Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-5 සමඟ-ආරම්භ කරන්න
    • ඒ. එස් හිample, MPI_Sendrecv දත්ත හුවමාරුවට බාධාවක් ඇත: පෙර එක සමඟ හුවමාරුව අවසන් වන තුරු ක්‍රියාවලිය එහි ඊළඟ අසල්වැසියා සමඟ දත්ත හුවමාරු නොකරයි. සිදුවීම් කාල නියමයන් view මෙම බාධකය පඩිපෙළක් ලෙස පෙන්වයි.
    • බී. පුනරාවර්තනය අවසානයේ MPI_Allreduce සියලු ක්‍රියාවලි නැවත සමමුහුර්ත කරයි; මෙම කොටස ප්‍රතිලෝම පඩිපෙළ පෙනුම ඇත්තේ එබැවිනි.
  6. Function Pro භාවිතයෙන් අනුක්‍රමිකකරණය හඳුනා ගන්නfile සහ Message Profile views.
    • ඒ. ප්‍රස්ථාර එකවර විවෘත කරන්න:
      Pro Function එකේfile chart, Load Balancetab විවෘත කරන්න.
    • Message Pro එකක් විවෘත කිරීමට ප්‍රස්ථාර මෙනුව වෙත යන්නfile.
    • බී. Load Balance පටිත්තෙහි, MPI_Sendrecv සහ MPI_Allreduce පුළුල් කරන්න. Load Balancing පෙන්නුම් කරන්නේ MPI_Sendrecv හි ගත කරන කාලය ක්‍රියාවලි අංකය සමඟ වැඩි වන අතර MPI_Allreduce සඳහා වන කාලය අඩු වන බවයි.
    • c. Message Pro පරීක්ෂා කරන්නfile පහළ දකුණු කෙළවරට සටහන.
      බ්ලොක් වල වර්ණ කේතීකරණය පෙන්නුම් කරන්නේ ඉහළ ශ්‍රේණියේ සිට පහළ තරාතිරමකට ගමන් කරන පණිවිඩවලට සමානුපාතිකව වැඩි කාලයක් අවශ්‍ය වන අතර පහළ ශ්‍රේණියේ සිට ඉහළ නිලයකට ගමන් කරන පණිවිඩ දුර්වල ඉරට්ටේ-ඔත්තේ ආකාරයේ රටාවක් හෙළි කරන බවයි:Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-6 සමඟ-ආරම්භ කරන්න

සංසන්දනාත්මක විශ්ලේෂණයේ ප්රතිඵල පෙන්නුම් කරන්නේ යෙදුමේ සංකීර්ණ හුවමාරු රටා නොමැති බවයි, හුවමාරුව සිදු කරනු ලබන්නේ අසල්වැසි ක්රියාවලීන් සමඟ පමණි. යෙදුමේ සන්නිවේදන ආකෘතිය ප්‍රශස්ත කිරීම සඳහා සන්නිවේදන පියවර වෙනස් කිරීමෙන් ඔබේ යෙදුම් කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා තොරතුරු අත්‍යවශ්‍ය වේ.

අසමතුලිත සන්නිවේදනයන් හඳුනා ගන්න

පරිපූර්ණ තත්වයන් යටතේ ඔබගේ අයදුම්පත නරඹා මුල් හෝඩුවාව සංසන්දනය කරන්න file ගැටළුකාරී අන්තර්ක්‍රියා හුදකලා කිරීමට පරමාදර්ශී එකක් සමඟ.

  1. පරමාදර්ශී එකක් සාදන්න file:
    • ඒ. උසස් > Idealization තෝරන්න හෝ ක්ලික් කරන්නIntel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-7 සමඟ-ආරම්භ කරන්න (පරමාදර්ශී) මෙවලම් තීරු බොත්තම.
    • බී. Idealization සංවාද කොටුවේ ඇති Idealization පරාමිතීන් පරීක්ෂා කරන්න (පරමාදර්ශී හෝඩුවාවක් file පරිවර්තනය සඳහා නම සහ කාල පරාසය).
    • c. ඔබේ හෝඩුවාව පරමාදර්ශී කිරීමට ආරම්භය ක්ලික් කරන්න.
  2. මුල් හෝඩුවාව පරමාදර්ශී හෝඩුවාවක් සමඟ සසඳන්න:
    • ඒ. උසස් > අසමතුලිතතා රූප සටහන තෝරන්න හෝ ක්ලික් කරන්න Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-8 සමඟ-ආරම්භ කරන්න(අසමතුලිතතා රූප සටහන) මෙවලම් තීරු බොත්තම.
    • බී. අසමතුලිතතා රූප සටහන සංවාද කොටුව තුළ, තවත් විවෘත කරන්න ක්ලික් කරන්න File බොත්තම, පරමාදර්ශී හෝඩුවාව වෙත සංචාලනය කර එය තෝරන්න.
    • c. අසමතුලිතතා රූප සටහන කවුළුව තුළ, සම්පූර්ණ මාදිලියේ බොත්තම ක්ලික් කර බිඳවැටීමේ මාදිලිය තෝරන්න.

Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-9 සමඟ-ආරම්භ කරන්න

MPI_Sendrecv වඩාත්ම කාලය ගතවන කාර්යය බව ඔබට පෙනෙනු ඇත. අසමතුලිතතා බර පෙන්වනු ලැබේ
ලා වර්ණ සහ MPI_Sendrecv ශ්‍රිතය සඳහා 10% ක් පමණ සමන්විත වේ. ක්රියාවලීන් එකිනෙකා බලා සිටින කාලය මෙයයි.

සන්නිවේදනය වෙනස් කිරීමෙන් ඔබගේ යෙදුම් කාර්ය සාධනය වැඩි දියුණු කරන්න

  1. අවහිර කිරීම අවහිර නොවන සන්නිවේදනයන් වෙත වෙනස් කිරීමෙන් MPI යෙදුමේ කාර්ය සාධනය වැඩි දියුණු කරන්න.
    ඔබගේ කේතය තුළ MPI_Sendrcv අනුක්‍රමික අවහිර නොවන සන්නිවේදනය සමඟ ප්‍රතිස්ථාපනය කරන්න: MPI_Isend සහ MPI_Irecv. උදාහරණයක් ලෙසample: මුල් කේත කොටස:
    // මායිම් හුවමාරුව
    හිස් හුවමාරුව(para* p, grid* gr){
    int i,j;
    MPI_තත්ත්ව තත්ත්වය_100, තත්ත්වය_200, තත්ත්වය_300, තත්ත්වය_400;
    // පළමු පේළිය යවන්න
    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,
    &තත්ත්වය_100);
    // අන්තිම පේළිය යවන්න
    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->පහළ, 200, MPI_COMM_WORLD, &status_200);
    Intel Trace Analyzer සංසන්දනය භාවිතා කරන්න view සංශෝධිත යෙදුම සමඟ අනුක්‍රමික යෙදුම සංසන්දනය කිරීමට
    // වම් තීරුව tmp අරා වෙත පිටපත් කරන්න
    if(gr->වම != MPI_PROC_NULL){
    gr->x_new[i][gr->lcol+1] = right_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
    // දකුණට යවන්න
    MPI_Send(right_col, gr->lrow+2, MPI_DOUBLE, gr->දකුණ, 400, MPI_COMM_WORLD); }
    if(gr->වම != MPI_PROC_NULL)
    {
    MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->left, 400, MPI_COMM_WORLD,&status_400); සඳහා (i=0; i< gr->lrow+2; i++
    {
    gr->x_new[i][0] = left_col[i];
    }
    }
    යාවත්කාලීන කරන ලද කේත කොටස
    MPI_Request req[7];
    // පළමු පේළිය යවන්න
    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_Waital(7, req, MPI_STATUSES_IGNORE);
    නිවැරදි කළ පසු, සංශෝධිත යෙදුමේ තනි පුනරාවර්තනය පහත සඳහන් පරිදි පෙනෙනු ඇතampලෙ:Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-10 සමඟ-ආරම්භ කරන්න
  2. Intel Trace Analyzer සංසන්දනය භාවිතා කරන්න view සංශෝධිත යෙදුම සමඟ අනුක්‍රමික යෙදුම සංසන්දනය කිරීමට. සංසන්දනයේ ආධාරයෙන් අංශු දෙකක් සසඳන්න View, යනවා View > සසඳන්න. සංසන්දනය View පෙනුම සමාන ය:Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-11 සමඟ-ආරම්භ කරන්නසංසන්දනය කිරීමේදී View, අවහිර නොවන සන්නිවේදනය භාවිතා කිරීම අනුක්‍රමිකකරණය ඉවත් කිරීමට සහ ක්‍රියාවලීන්ගේ සන්නිවේදනයේ කාලය අඩු කිරීමට උපකාරී වන බව ඔබට පෙනේ.
    සටහන ඔබගේ යෙදුමේ නෝඩ් මට්ටමේ ක්‍රියාකාරිත්වය පිළිබඳ වැඩි විස්තර සඳහා, අදාළ මෙවලම් සඳහා ලේඛන බලන්න: Intel® VTune™ Profiler MPI කේත විශ්ලේෂණය සහ Intel® උපදේශක භාවිතයෙන් Intel® MPI යෙදුම් විශ්ලේෂණය කිරීම.

තවත් හදාරන්න

Intel Trace Analyzer සහ එකතුකරන්නා පිළිබඳ වැඩිදුර තොරතුරු සඳහා පහත සම්පත් ගවේෂණය කරන්න.Intel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-12 සමඟ-ආරම්භ කරන්නIntel-Trace-Analyzer-සහ-එකතු කරන්නා-fig-13 සමඟ-ආරම්භ කරන්න

නිවේදන සහ වියාචන

  • ඉන්ටෙල් තාක්ෂණයන්ට සක්‍රීය දෘඩාංග, මෘදුකාංග හෝ සේවා සක්‍රිය කිරීම අවශ්‍ය විය හැකිය.
  • කිසිම නිෂ්පාදනයක් හෝ සංරචකයක් සම්පූර්ණයෙන්ම ආරක්ෂිත විය නොහැක.
  • ඔබේ පිරිවැය සහ ප්රතිඵල වෙනස් විය හැක.
  • © Intel සංස්ථාව. Intel, Intel ලාංඡනය සහ අනෙකුත් Intel සලකුණු Intel Corporation හෝ එහි අනුබද්ධිත සමාගම්වල වෙළඳ ලකුණු වේ. වෙනත් නම් සහ වෙළඳ නාම වෙනත් අයගේ දේපළ ලෙස හිමිකම් පෑමට හැකිය.
  • මෙම ලේඛනය මගින් කිසිදු බුද්ධිමය දේපල අයිතියක් සඳහා බලපත්‍රයක් (ප්‍රකාශිත හෝ ඇඟවුම් කර, එස්ටොපල් මගින් හෝ වෙනත් ආකාරයකින්) ලබා නොදේ.
  • විස්තර කර ඇති නිෂ්පාදනවල සැලසුම් දෝෂ හෝ දෝෂ ලෙස හැඳින්වෙන දෝෂ අඩංගු විය හැකි අතර එමඟින් නිෂ්පාදනය ප්‍රකාශිත පිරිවිතරයන්ගෙන් බැහැර වීමට හේතු විය හැක. වත්මන් සංලක්ෂිත දෝෂ ඉල්ලීම මත ලබා ගත හැකිය.
  • සීමාවකින් තොරව, වෙළඳ භාවයේ ව්‍යංග වගකීම්, යම් අරමුණක් සඳහා යෝග්‍යතාවය සහ උල්ලංඝනය නොකිරීම, මෙන්ම කාර්ය සාධනය, ගනුදෙනු කිරීමේ පාඨමාලාව හෝ වෙළඳාමේ භාවිතය හේතුවෙන් පැන නගින ඕනෑම වගකීමක් Intel විසින් සියලුම ප්‍රකාශිත සහ ව්‍යංග වගකීම් ප්‍රතික්ෂේප කරයි.

ලේඛන / සම්පත්

intel Intel Trace Analyzer සහ Collector සමඟ ආරම්භ කරන්න [pdf] පරිශීලක මාර්ගෝපදේශය
Intel Trace Analyzer සහ එකතුකරන්නා සමඟ ආරම්භ කරන්න, Intel, Trace Analyzer සහ එකතුකරන්නා, එකතුකරන්නා සමඟ ආරම්භ කරන්න

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *