Intel Trace Analyzer ۽ ڪليڪٽر سان شروع ڪريو
Intel® Trace Analyzer ۽ ڪليڪٽر سان شروع ڪريو
هي استعمال ڪريو شروع ڪريو دستاويز ۽ اڳ ۾ گڏ ڪيل سراغ file Intel® Trace Analyzer ۽ ڪليڪٽر سان گڏ بنيادي MPI ڪارڪردگي تجزيي ذريعي هلڻ لاءِ.
Intel Trace Analyzer ۽ ڪليڪٽر ميسيج پاسنگ انٽرفيس (MPI) جي استعمال جي ڪارڪردگي کي ڳولڻ ۾ مدد ڪري ٿو ۽ ڪميونيڪيشن هاٽ اسپاٽ، هم وقت سازي جي رڪاوٽ، ۽ لوڊ بيلنس کي سڃاڻي ٿو. پراڊڪٽ بابت وڌيڪ معلومات لاءِ، ڏسو Intel Trace Analyzer and Collector Product page.
ڊائون لوڊ ڪريو Intel Trace Analyzer ۽ ڪليڪٽر
- Intel® oneAPI HPC Toolkit جي حصي طور
- هڪ اڪيلو اوزار جي طور تي
شرطون
- Intel Trace Analyzer ۽ ڪليڪٽر هلائڻ کان اڳ، پڪ ڪريو ته توهان انسٽال ڪيو آهي جديد Intel® MPI لائبريري ۽ Intel® oneAPI DPC++/C++ Compiler يا Intel® Fortran Compiler.
- هي ترتيب ڏيڻ وارن لاءِ گهربل ماحوليات متغير مقرر ڪري ٿو، Intel MPI لائبريري، ۽ Intel Trace Analyzer ۽ ڪليڪٽر، ۽ توھان تيار آھيو پنھنجي ايپليڪيشنن کي ٽريڪ ڪرڻ لاءِ.
- وڌيڪ معلومات لاءِ، ڏسو: Intel® oneAPI HPC Toolkit System Requirements.
سمجھو ڪم فلو
- پنھنجي ايپليڪيشن کي ٽريڪ ڪريو
- سڀ کان وڌيڪ فعال MPI افعال جو تجزيو ڪريو
- مشڪلاتي رابطي جي سڃاڻپ ڪريو
- مسئلو پيدا ڪرڻ واري فنڪشن کي تبديل ڪندي پنهنجي ايپليڪيشن جي ڪارڪردگي کي بهتر ڪريو
پنھنجي MPI ايپليڪيشن کي ٽريڪ ڪريو
ھڪڙو نشان ٺاھيو file ھيٺ ڏنل ايپليڪيشن رويي جي تجزيي لاء واقعا لاگ گڏ ڪرڻ لاء.
- انٽيل® ٽريس اينالائيزر ۽ ڪليڪٽر کي لانچ ڪرڻ لاءِ ماحول کي ترتيب ڏيو oneAPI تنصيب ڊائريڪٽر کان سيٽوار اسڪرپٽ هلائيندي
نوٽ
ڊفالٽ طور، Intel Trace Analyzer ۽ ڪليڪٽر انسٽال ٿيل آهي /opt/intel/oneapi/itac for Linux* OS ۽ پروگرام ۾ Files (x86)\Intel\oneAPI\itac\تازو Windows* OS لاءِ.
لينڪس تي:
$ذريعو /opt/intel/oneapi/setvars.sh
ونڊوز تي:
"سي: \ پروگرام Files (x86)\Intel\oneAPI\setvars.bat“ - پنھنجي MPI ايپليڪيشن کي ھلايو ۽ -trace آپشن سان ھڪڙو نشان ٺاھيو.
لينڪس تي:
$mpirun -trace -n 4 ./poisson_sendrecv.single
ونڊوز تي:
ايپ کي گڏ ڪريو ۽ ٽريڪ گڏ ڪريو.
Intel oneAPI DPC++/C++ ڪمپائلر لاءِ، رن:
> mpiicc -trace poisson_sendrecv.single.c
Intel Fortran Compiler لاءِ، ھلايو:
> mpiifort -trace poisson_sendrecv.single.f
هن اڳوڻيample جيئن لاءِ هڪ نشان (stf*) ٺاهي ٿوample poisson_sendrcv.single MPI ايپليڪيشن - ٺاهيل .stf کوليو file Intel Trace Analyzer سان Intel Trace Analyzer ۽ ڪليڪٽر سان.
لينڪس تي:
$traceanalyzer ./ poisson_sendrecv.single.stf
ونڊوز تي:
traceanalyzer poisson_sendrecv.single.stf
نوٽ
جاچ جي مقصدن لاءِ، توھان ڊائون لوڊ ڪري سگھوٿا اڳي گڏ ٿيل ٽريس file poisson_sendrecv.single.stf هن دستاويز ۾ استعمال ٿيل زهر لاءِ ۽ ان کي Intel Trace Analyzer ۽ ڪليڪٽر سان کوليو.
ايس ٽي ايف file خلاصو صفحي ۾ کلي ٿو view، جيڪو توهان جي ايپليڪيشن ڪارڪردگي بابت عام معلومات جي نمائندگي ڪري ٿو:نوٽ Intel Trace Analyzer ۽ ڪليڪٽر ڪارڪردگي بابت وڌيڪ معلومات لاءِ، ڏسو وڌيڪ سکو.
سڀ کان وڌيڪ فعال MPI افعال جو تجزيو ڪريو
هڪ MPI ايپليڪيشن رويي جو تجزيو ڪريو، رڪاوٽون ڳولھيو ۽ ايپليڪيشن جي ڪارڪردگي کي بهتر ڪرڻ جا طريقا ڳولڻ لاء سيريلائيزيشن جي سڃاڻپ ڪريو.
- خلاصو صفحي کان واقعي جي ٽائم لائن کوليو view ڪلڪ ڪندي جاري رکو> چارٽس> واقعي جي ٽائم لائن مٿين MPI افعال جي گہرے تجزيو لاءِ.
چارٽ وقت سان گڏ انفرادي عمل جي سرگرمين کي ڏيکاري ٿو.
ايپليڪيشن جو ڪم تکراري آهي، جتي هر هڪ ورهاڱي ۾ ڪمپيوٽيشنل حصو ۽ ايم پي آئي ڪميونيڪيشن شامل آهن. - هڪ واحد ورهاڱي جي سڃاڻپ ڪريو تي ڌيان ڏيڻ ۽ ان ۾ زوم ڪندي پنهنجي ماؤس کي گهربل وقت جي وقفي تي ڇڪيندي:
نشان view اهو سيڪشن ڏيکاري ٿو جيڪو توهان چونڊيو آهي. ايونٽ ٽائم لائن چارٽ ڏيکاري ٿو واقعا جيڪي چونڊيل ورهاڱي دوران سرگرم هئا.
- افقي بار ان عمل جي نمائندگي ڪن ٿا جن کي انهن عملن ۾ سڏيو ويندو آهي.
- ڪارا لڪير ظاهر ڪن ٿا پيغامن جي وچ ۾ موڪليو ويو. اهي لائينون موڪلڻ ۽ وصول ڪرڻ واري عمل کي ڳنڍينديون آهن.
- نيري لائينون اجتماعي عملن جي نمائندگي ڪن ٿيون، جھڙوڪ براڊ ڪاسٽ يا آپريشن گھٽائڻ.
- تبديل ڪريو فليٽ پروfile tab (A) تي ويجھو نظر رکڻ لاءِ افعال تي عمل ڪرڻ واري وقت واري نقطي ۾ توهان (منتخب ٿيل واقعي جي ٽائم لائن ۾.
- توهان جي ايپليڪيشن ۾ MPI عمل جي سرگرمي جو تجزيو ڪرڻ لاءِ ايم پي آئي جي ڪم کي غير گروپ ڪريو.
ائين ڪرڻ لاءِ، فليٽ پرو ۾ سڀ پروسيس > گروپ MPI (B) تي صحيح ڪلڪ ڪريوfile ۽ UngroupMPI چونڊيو. هي آپريشن انفرادي ايم پي آئي ڪالن کي ظاهر ڪري ٿو. - عملن جو تجزيو ڪريو جيڪي پنھنجي سڌي پاڙيسرين سان ڳالھ ٻولھ ڪن ٿا MPI_Sendrecv استعمال ڪندي ورجائي جي شروعات ۾. مثال طورampاليزي:
- هڪ ۾ ايسample، MPI_Sendrecv ڊيٽا جي تبادلي ۾ هڪ رڪاوٽ آهي: اهو عمل پنهنجي ايندڙ پاڙيسري سان ڊيٽا کي تبديل نٿو ڪري جيستائين اڳئين هڪ سان مٽائي مڪمل نه ٿئي. واقعي جي ٽائم لائنز view هن رڪاوٽ کي هڪ ڏاڪڻ وانگر ڏيکاري ٿو.
- ب. MPI_Allreduce تکرار جي آخر ۾ سڀني عملن کي ٻيهر هم وقت سازي ڪري ٿو. اهو ئي سبب آهي ته هن بلاڪ کي ريورس سيڑھي جي ظاهري شڪل آهي.
- سيريلائيزيشن جي سڃاڻپ ڪريو، فنڪشن پرو استعمال ڪنديfile ۽ پيغام پروfile views.
- هڪ ساڳئي وقت چارٽ کوليو:
فنڪشن ۾ پروfile چارٽ، لوڊ بيلنس ٽيب کوليو. - ميسيج پرو کولڻ لاءِ چارٽس مينيو ڏانھن وڃوfile.
- ب. لوڊ بيلنس ٽيب ۾، وڌايو MPI_Sendrecv ۽ MPI_Allreduce. لوڊ توازن ظاهر ڪري ٿو ته MPI_Sendrecv ۾ خرچ ٿيل وقت پروسيسنگ نمبر سان وڌي ٿو، جڏهن ته MPI_Allreduce لاء وقت گھٽجي ٿو.
- ج. چيڪ ڪريو پيغام پروfile چارٽ ھيٺئين ساڄي ڪنڊ ڏانھن.
بلاڪن جي رنگن جي ڪوڊنگ مان ظاهر ٿئي ٿو ته پيغامن جو سفر هڪ اعليٰ درجي کان هيٺين رتبي ڏانهن ٿئي ٿو، متناسب طور تي وڌيڪ وقت جي ضرورت آهي، جڏهن ته پيغام جيڪي هيٺين درجي کان اعليٰ درجي تائين سفر ڪن ٿا، هڪ ڪمزور به-عجيب قسم جو نمونو ظاهر ڪن ٿا:
- هڪ ساڳئي وقت چارٽ کوليو:
تقابلي تجزيي جا نتيجا ظاهر ڪن ٿا ته ايپليڪيشن ۾ ڪي به پيچيده مٽا سٽا جا نمونا نه آهن، بدلي صرف پاڙيسري عملن سان ڪيو ويندو آهي. معلومات توهان جي ايپليڪيشن جي ڪارڪردگي کي بهتر بڻائڻ لاءِ ضروري هوندي مواصلاتي قدم کي تبديل ڪندي ايپليڪيشن جي ڪميونيڪيشن ماڊل کي بهتر ڪرڻ لاءِ.
غير متوازن ڪميونيڪيشن جي سڃاڻپ ڪريو
مثالي حالتن ۾ توهان جي ايپليڪيشن کي ڏسو ۽ اصل سراغ جي ڀيٽ ڪريو file آئيڊيلائز ٿيل هڪ سان گڏ مشڪلاتي ڳالهين کي الڳ ڪرڻ لاء.
- هڪ مثالي ٺاهيو file:
- هڪ منتخب ڪريو ڳوڙھي > مثالي يا ڪلڪ ڪريو
(Idealization) ٽول بار بٽڻ.
- ب. Idealization dialog box (مثالي نشان file تبديل ڪرڻ لاء نالو ۽ وقت جي حد).
- ج. پنھنجي ٽريڪ کي مثالي بڻائڻ لاءِ شروع ڪريو تي ڪلڪ ڪريو.
- هڪ منتخب ڪريو ڳوڙھي > مثالي يا ڪلڪ ڪريو
- مثالي نموني سان اصل سراغ جي ڀيٽ ڪريو:
- هڪ منتخب ڪريو ڳوڙھي > عدم توازن ڊاگرام يا ڪلڪ ڪريو
(Imbalance Diagram) ٽول بار بٽڻ.
- ب. Imbalance Diagram ڊائلاگ باڪس ۾، ڪلڪ ڪريو ٻيو کوليو File بٽڻ کي دٻايو، مثالي نموني ڏانهن وڃو، ۽ ان کي چونڊيو.
- ج. عدم توازن ڊاگرام ونڊو ۾، ٽوٽل موڊ بٽڻ تي ڪلڪ ڪريو ۽ بريڪ ڊائون موڊ چونڊيو.
- هڪ منتخب ڪريو ڳوڙھي > عدم توازن ڊاگرام يا ڪلڪ ڪريو
توهان ڏسي سگهو ٿا ته MPI_Sendrecv سڀ کان وڌيڪ وقت سازي فنڪشن آهي. عدم توازن وزن ۾ ڏيکاريل آهي
هلڪو رنگ ۽ MPI_Sendrecv فنڪشن لاء اٽڪل 10٪ شامل آهي. هي اهو وقت آهي جيڪو عمل هڪ ٻئي جي انتظار ۾ گذاريندو آهي.
ڪميونيڪيشن کي تبديل ڪندي پنهنجي ايپليڪيشن جي ڪارڪردگي کي بهتر بڻايو
- ايم پي آئي ايپليڪيشن جي ڪارڪردگي کي بهتر ڪريو بلاڪنگ کي غير بلاڪنگ مواصلات ۾ تبديل ڪندي.
توھان جي ڪوڊ ۾ سيريل MPI_Sendrcv کي نان بلاڪنگ ڪميونيڪيشن سان تبديل ڪريو: MPI_Isend ۽ MPI_Irecv. مثال طورample: اصل ڪوڊ جو ٽڪرو:
// حد جي بدلي
باطل مٽاسٽا (پيرا* پي، گرڊ * gr){
int i،j؛
MPI_Status status_100, status_200, status_300, status_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,
&status_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->down, 200, MPI_COMM_WORLD, &status_200);
استعمال ڪريو Intel Trace Analyzer Comparison view نظر ثاني ٿيل سان سيريل ٿيل ايپليڪيشن جي مقابلي ڪرڻ لاء
// ڪاپي کاٻي ڪالم کي tmp arrays ڏانهن
جيڪڏھن(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->right, 400, MPI_COMM_WORLD)؛ }
جيڪڏھن (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_Waitall(7, req, MPI_STATUSES_IGNORE)؛
هڪ دفعو درست ڪيو ويو، نظر ثاني ٿيل ايپليڪيشن جو واحد ورجائي هيٺ ڏنل مثال وانگر نظر ايندوampاليزي: - استعمال ڪريو Intel Trace Analyzer Comparison view نظر ثاني ٿيل ايپليڪيشن سان سيريل ٿيل ايپليڪيشن کي موازنہ ڪرڻ لاء. مقابلي جي مدد سان ٻن نشانن جو مقابلو ڪريو View، ڏانهن وڃڻ View > ڀيٽيو. مقابلو View جهڙو ڏسڻ ۾ اچي ٿو:
مقابلي ۾ View، توهان ڏسي سگهو ٿا ته غير بلاڪنگ ڪميونيڪيشن استعمال ڪندي سيريلائيزيشن کي ختم ڪرڻ ۽ عمل جي ڪميونيڪيشن جي وقت کي گهٽائڻ ۾ مدد ڪري ٿي.
نوٽ توهان جي ايپليڪيشن جي نوڊ-سطح جي ڪارڪردگي بابت وڌيڪ معلومات لاءِ، لاڳاپيل اوزارن لاءِ دستاويز ڏسو: Intel® VTune™ Profiler MPI ڪوڊ جو تجزيو ۽ تجزيو ڪرڻ Intel® MPI ايپليڪيشنون استعمال ڪندي Intel® Advisor.
وڌيڪ سکو
Intel Trace Analyzer ۽ ڪليڪٽر بابت وڌيڪ معلومات لاءِ هيٺ ڏنل وسيلن جي ڳولا ڪريو.
نوٽس ۽ رد ڪرڻ وارا
- انٽيليجنس ٽيڪنالاجي جي ضرورت هارڊويئر ، سافٽ ويئر يا سروس چالو هجڻ جي ضرورت آهي.
- ڪابه پيداوار يا جزو بلڪل محفوظ نه ٿي سگهي.
- توهان جا خرچ ۽ نتيجا مختلف ٿي سگهن ٿا.
- © Intel Corporation. Intel، Intel لوگو، ۽ ٻيا Intel نشان آھن Intel Corporation يا ان جي ماتحت ادارن جا ٽريڊ مارڪ. ٻيا نالا ۽ برانڊ ٻين جي ملڪيت طور دعوي ڪري سگھن ٿا.
- هن دستاويز طرفان ڪنهن به دانشورانه ملڪيت جي حقن لاءِ ڪو به لائسنس (ظاهري يا تقاضا، اسٽاپل يا ٻي صورت ۾) نه ڏنو ويو آهي.
- بيان ڪيل پراڊڪٽس ۾ ڊزائن جي خرابين يا غلطين تي مشتمل ٿي سگھي ٿو جيڪو errata طور سڃاتو وڃي ٿو جيڪو پروڊڪٽ کي شايع ٿيل وضاحتن کان انحراف ڪري سگھي ٿو. موجوده خصوصيت وارو خطا درخواست تي موجود آهن.
- Intel سڀني ظاهري ۽ تقاضا وارن وارنٽي کي رد ڪري ٿو، بشمول بغير ڪنهن حد جي، واپار جي تقاضا وارنٽي، هڪ خاص مقصد لاء فٽنيس، ۽ غير خلاف ورزي، انهي سان گڏ ڪنهن به وارنٽي جي ڪارڪردگي، ڊيلنگ جي ڪورس، يا واپار ۾ استعمال کان پيدا ٿئي ٿي.
دستاويز / وسيلا
![]() |
انٽيل انٽيل ٽريس اينالائيزر ۽ ڪليڪٽر سان شروع ڪريو [pdf] استعمال ڪندڙ ھدايت انٽيل ٽريس اينالائيزر ۽ ڪليڪٽر سان شروع ڪريو، انٽيل، ٽريس اينالائيزر ۽ ڪليڪٽر، ڪليڪٽر سان شروع ڪريو |