انٹیل ٹریس اینالائزر اور کلکٹر کے ساتھ شروع کریں۔
Intel® ٹریس اینالائزر اور کلکٹر کے ساتھ شروع کریں۔
اس Get Started دستاویز اور پہلے سے جمع کردہ ٹریس کا استعمال کریں۔ file Intel® Trace Analyzer اور Collector کے ساتھ بنیادی MPI کارکردگی کے تجزیے سے گزرنا۔
انٹیل ٹریس اینالائزر اور کلکٹر میسج پاسنگ انٹرفیس (MPI) کے استعمال کی کارکردگی کو دریافت کرنے اور کمیونیکیشن ہاٹ سپاٹ، سنکرونائزیشن کی رکاوٹوں اور لوڈ بیلنسنگ کی نشاندہی کرنے میں مدد کرتا ہے۔ پروڈکٹ کے بارے میں مزید معلومات کے لیے، انٹیل ٹریس اینالائزر اور کلکٹر پروڈکٹ کا صفحہ دیکھیں۔
انٹیل ٹریس اینالائزر اور کلکٹر ڈاؤن لوڈ کریں۔
- Intel® oneAPI HPC ٹول کٹ کے ایک حصے کے طور پر
- ایک اسٹینڈ ٹول کے طور پر
شرطیں
- Intel ٹریس اینالائزر اور کلکٹر چلانے سے پہلے، یقینی بنائیں کہ آپ نے تازہ ترین Intel® MPI لائبریری اور Intel® oneAPI DPC++/C++ کمپائلر یا Intel® Fortran Compiler انسٹال کر لیا ہے۔
- یہ کمپائلرز، انٹیل MPI لائبریری، اور انٹیل ٹریس اینالائزر اور کلکٹر کے لیے مطلوبہ ماحولیاتی متغیرات کا تعین کرتا ہے، اور آپ اپنی ایپلی کیشنز کو ٹریس کرنے کے لیے تیار ہیں۔
- مزید معلومات کے لیے، دیکھیں: Intel® oneAPI HPC ٹول کٹ سسٹم کی ضروریات۔
ورک فلو کو سمجھیں۔
- اپنی درخواست کو ٹریس کریں۔
- سب سے زیادہ فعال MPI افعال کا تجزیہ کریں۔
- مشکل تعاملات کی شناخت کریں۔
- مسئلہ پیدا کرنے والے فنکشن کو تبدیل کرکے اپنی ایپلیکیشن کی کارکردگی کو بہتر بنائیں
اپنی MPI ایپلیکیشن کو ٹریس کریں۔
ایک ٹریس بنائیں file مندرجہ ذیل ایپلیکیشن رویے کے تجزیہ کے لیے ایونٹ لاگز جمع کرنے کے لیے۔
- OneAPI انسٹالیشن ڈائریکٹر کی طرف سے سیٹوار اسکرپٹ چلا کر Intel® ٹریس اینالائزر اور کلکٹر کو لانچ کرنے کے لیے ماحول کو ترتیب دیں۔
نوٹ
پہلے سے طے شدہ طور پر، Intel ٹریس اینالائزر اور کلکٹر /opt/intel/oneapi/itac for Linux* OS اور پروگرام میں انسٹال ہوتا ہے۔ Files (x86)\Intel\oneAPI\itac\latest for Windows* OS۔
لینکس پر:
$ source /opt/intel/oneapi/setvars.sh
ونڈوز پر:
"C: \ پروگرام 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 انٹیل ٹریس تجزیہ کار کے ساتھ انٹیل ٹریس تجزیہ کار اور کلکٹر کے ساتھ۔
لینکس پر:
$traceanalyzer ./ poisson_sendrecv.single.stf
ونڈوز پر:
traceanalyzer poisson_sendrecv.single.stf
نوٹ
جانچ کے مقاصد کے لیے، آپ پہلے سے جمع کردہ ٹریس ڈاؤن لوڈ کر سکتے ہیں۔ file اس دستاویز میں استعمال شدہ زہر کے لیے poisson_sendrecv.single.stf اور اسے Intel Trace Analyzer اور Collector کے ساتھ کھولیں۔
ایس ٹی ایف file خلاصہ صفحہ میں کھلتا ہے۔ view، جو آپ کی درخواست کی کارکردگی کے بارے میں عمومی معلومات کی نمائندگی کرتا ہے:نوٹ انٹیل ٹریس اینالائزر اور کلکٹر کی فعالیت کے بارے میں مزید معلومات کے لیے، مزید جانیں دیکھیں۔
سب سے زیادہ فعال MPI افعال کا تجزیہ کریں۔
ایم پی آئی ایپلیکیشن کے رویے کا تجزیہ کریں، رکاوٹیں تلاش کریں اور ایپلیکیشن کی کارکردگی کو بہتر بنانے کے طریقے تلاش کرنے کے لیے سیریلائزیشن کی نشاندہی کریں۔
- خلاصہ صفحہ سے ایونٹ کی ٹائم لائن کھولیں۔ view اعلی MPI فنکشنز کے گہرے تجزیہ کے لیے جاری رکھیں > چارٹس > ایونٹ ٹائم لائن پر کلک کر کے۔
چارٹ وقت کے ساتھ انفرادی عمل کی سرگرمیاں دکھاتا ہے۔
درخواست کا کام تکراری ہے، جہاں ہر تکرار کمپیوٹیشنل حصہ اور MPI کمیونیکیشنز پر مشتمل ہوتا ہے۔ - اپنے ماؤس کو مطلوبہ وقت کے وقفے پر گھسیٹ کر توجہ مرکوز کرنے اور اس میں زوم کرنے کے لیے ایک ہی تکرار کی شناخت کریں:
ٹریس view ٹریس کے اندر آپ کے منتخب کردہ حصے کو دکھاتا ہے۔ ایونٹ ٹائم لائن چارٹ ان واقعات کو دکھاتا ہے جو منتخب تکرار کے دوران فعال تھے۔
- افقی سلاخیں ان عملوں میں بلائے گئے افعال کے ساتھ عمل کی نمائندگی کرتی ہیں۔
- سیاہ لکیریں عمل کے درمیان بھیجے گئے پیغامات کی نشاندہی کرتی ہیں۔ یہ لائنیں بھیجنے اور وصول کرنے کے عمل کو جوڑتی ہیں۔
- نیلی لکیریں اجتماعی کارروائیوں کی نمائندگی کرتی ہیں، جیسے کہ براڈکاسٹ یا کم آپریشنز۔
- فلیٹ پرو پر سوئچ کریں۔file ٹیب (A) آپ کے ٹائم پوائنٹ میں کام کرنے والے افعال کو قریب سے دیکھنے کے لیے (ایونٹ ٹائم لائن میں منتخب کیا گیا ہے۔
- اپنی درخواست میں MPI عمل کی سرگرمی کا تجزیہ کرنے کے لیے MPI فنکشنز کو غیر گروپ کریں۔
ایسا کرنے کے لیے، فلیٹ پرو میں All Processes > Group MPI (B) پر دائیں کلک کریں۔file اور UngroupMPI کو منتخب کریں۔ یہ آپریشن انفرادی MPI کالوں کو بے نقاب کرتا ہے۔ - تکرار کے آغاز پر MPI_Sendrecv کا استعمال کرتے ہوئے اپنے براہ راست پڑوسیوں کے ساتھ بات چیت کرنے کے عمل کا تجزیہ کریں۔ سابق کے لیےampلی:
- a ایس میںample، MPI_Sendrecv ڈیٹا ایکسچینج میں رکاوٹ ہے: یہ عمل اس وقت تک اپنے اگلے پڑوسی کے ساتھ ڈیٹا کا تبادلہ نہیں کرتا جب تک کہ پچھلے والے کے ساتھ تبادلہ مکمل نہ ہو جائے۔ ایونٹ کی ٹائم لائنز view اس رکاوٹ کو ایک سیڑھی کے طور پر دکھاتا ہے۔
- ب تکرار کے آخر میں MPI_Allreduce تمام عمل کو دوبارہ ہم آہنگ کرتا ہے۔ یہی وجہ ہے کہ اس بلاک میں الٹی سیڑھیاں دکھائی دیتی ہیں۔
- فنکشن پرو کا استعمال کرتے ہوئے سیریلائزیشن کی شناخت کریں۔file اور میسج پروfile views.
- a ایک ہی وقت میں چارٹس کھولیں:
فنکشن میں پروfile چارٹ، لوڈ بیلنس ٹیب کو کھولیں۔ - میسج پرو کھولنے کے لیے چارٹس مینو پر جائیں۔file.
- ب لوڈ بیلنس ٹیب میں، MPI_Sendrecv اور MPI_Allreduce کو پھیلائیں۔ لوڈ بیلنسنگ سے پتہ چلتا ہے کہ MPI_Sendrecv میں گزارا جانے والا وقت پروسیس نمبر کے ساتھ بڑھتا ہے، جبکہ MPI_Allreduce کا وقت کم ہوتا ہے۔
- c میسج پرو کی جانچ کریں۔file نیچے دائیں کونے تک چارٹ کریں۔
بلاکس کی کلر کوڈنگ اس بات کی نشاندہی کرتی ہے کہ اعلیٰ درجہ سے نچلے درجے کی طرف سفر کرنے والے پیغامات کو متناسب طور پر زیادہ وقت درکار ہوتا ہے جب کہ نچلے درجے سے اعلیٰ درجے کی طرف سفر کرنے والے پیغامات ایک کمزور یکساں قسم کے پیٹرن کو ظاہر کرتے ہیں:
- a ایک ہی وقت میں چارٹس کھولیں:
تقابلی تجزیہ کے نتائج سے پتہ چلتا ہے کہ درخواست میں تبادلے کے کوئی پیچیدہ نمونے نہیں ہیں، تبادلہ صرف پڑوسی عمل کے ساتھ کیا جاتا ہے۔ یہ معلومات آپ کی ایپلیکیشن کی کارکردگی کو بہتر بنانے کے لیے ضروری ہوں گی تاکہ ایپلیکیشن کے کمیونیکیشن ماڈل کو بہتر بنانے کے لیے کمیونیکیشن کے قدم کو تبدیل کر سکیں۔
غیر متوازن مواصلات کی شناخت کریں۔
مثالی حالات میں اپنی درخواست دیکھیں اور اصل ٹریس کا موازنہ کریں۔ file مشکل تعاملات کو الگ کرنے کے لئے مثالی کے ساتھ۔
- ایک مثالی بنائیں file:
- a ایڈوانسڈ > آئیڈیلائزیشن کو منتخب کریں یا پر کلک کریں۔
(آئیڈیلائزیشن) ٹول بار بٹن۔
- ب آئیڈیلائزیشن ڈائیلاگ باکس میں آئیڈیلائزیشن کے پیرامیٹرز کو چیک کریں (مثالی ٹریس file تبدیلی کے لیے نام اور وقت کی حد)۔
- c اپنے ٹریس کو مثالی بنانے کے لیے اسٹارٹ پر کلک کریں۔
- a ایڈوانسڈ > آئیڈیلائزیشن کو منتخب کریں یا پر کلک کریں۔
- مثالی ٹریس کے ساتھ اصل ٹریس کا موازنہ کریں:
- a ایڈوانسڈ > عدم توازن ڈایاگرام کو منتخب کریں یا پر کلک کریں۔
(عدم توازن ڈایاگرام) ٹول بار بٹن۔
- ب عدم توازن ڈایاگرام ڈائیلاگ باکس میں، دوسرا کھولیں پر کلک کریں۔ File بٹن، مثالی ٹریس پر جائیں، اور اسے منتخب کریں۔
- c عدم توازن ڈایاگرام ونڈو میں، ٹوٹل موڈ بٹن پر کلک کریں اور بریک ڈاؤن موڈ کو منتخب کریں۔
- a ایڈوانسڈ > عدم توازن ڈایاگرام کو منتخب کریں یا پر کلک کریں۔
آپ دیکھ سکتے ہیں کہ MPI_Sendrecv سب سے زیادہ وقت لینے والا فنکشن ہے۔ عدم توازن کا وزن ظاہر ہوتا ہے۔
ہلکا رنگ اور MPI_Sendrecv فنکشن کے لیے تقریباً 10% پر مشتمل ہے۔ یہ وہ وقت ہے جب عمل ایک دوسرے کے انتظار میں گزارتے ہیں۔
مواصلات کو تبدیل کرکے اپنی درخواست کی کارکردگی کو بہتر بنائیں
- بلاکنگ کو نان بلاکنگ کمیونیکیشنز میں تبدیل کرکے MPI ایپلیکیشن کی کارکردگی کو بہتر بنائیں۔
اپنے کوڈ میں سیریل 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)؛
انٹیل ٹریس تجزیہ کار موازنہ استعمال کریں۔ view سیریلائزڈ ایپلیکیشن کا نظر ثانی شدہ کے ساتھ موازنہ کرنے کے لیے
// بائیں کالم کو tmp arrays میں کاپی کریں۔
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-> 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لی: - انٹیل ٹریس تجزیہ کار موازنہ استعمال کریں۔ view نظر ثانی شدہ درخواست کے ساتھ سیریلائزڈ ایپلیکیشن کا موازنہ کرنا۔ موازنہ کی مدد سے دو نشانات کا موازنہ کریں۔ View، جا رہا ہے۔ View > موازنہ کریں۔ موازنہ View کی طرح لگتا ہے:
موازنہ میں View، آپ دیکھ سکتے ہیں کہ غیر مسدود مواصلات کا استعمال سیریلائزیشن کو دور کرنے اور عمل کے مواصلات کے وقت کو کم کرنے میں مدد کرتا ہے۔
نوٹ اپنی درخواست کی نوڈ لیول کی کارکردگی کے بارے میں مزید معلومات کے لیے، متعلقہ ٹولز کے لیے دستاویزات دیکھیں: Intel® VTune™ ProfileIntel® Advisor کا استعمال کرتے ہوئے MPI کوڈ کا تجزیہ اور Intel® MPI ایپلیکیشنز کا تجزیہ۔
مزید جانیں
Intel Trace Analyzer and Collector کے بارے میں مزید معلومات کے لیے درج ذیل وسائل کو دریافت کریں۔
نوٹس اور دستبرداری
- انٹیل ٹیکنالوجیز کے لئے فعال ہارڈ ویئر ، سافٹ ویئر یا سروس ایکٹیویشن کی ضرورت پڑسکتی ہے۔
- کوئی مصنوع یا جزو بالکل محفوظ نہیں ہوسکتا ہے۔
- آپ کے اخراجات اور نتائج مختلف ہو سکتے ہیں۔
- © انٹیل کارپوریشن۔ Intel، Intel لوگو، اور Intel کے دیگر نشانات Intel Corporation یا اس کے ذیلی اداروں کے ٹریڈ مارک ہیں۔ دوسرے ناموں اور برانڈز پر دوسروں کی ملکیت کے طور پر دعوی کیا جا سکتا ہے۔
- اس دستاویز کے ذریعہ کسی بھی دانشورانہ املاک کے حقوق کا کوئی لائسنس (اظہار یا مضمر، بذریعہ اسٹاپپل یا دوسری صورت میں) نہیں دیا گیا ہے۔
- بیان کردہ پروڈکٹس میں ڈیزائن کی خرابیاں یا خرابیاں ہو سکتی ہیں جنہیں ایریٹا کہا جاتا ہے جس کی وجہ سے پروڈکٹ شائع شدہ تصریحات سے ہٹ سکتا ہے۔ موجودہ خصوصیات والے errata درخواست پر دستیاب ہیں۔
- Intel تمام واضح اور مضمر وارنٹیوں کو مسترد کرتا ہے، بشمول بغیر کسی حد کے، تجارتی قابلیت کی مضمر وارنٹی، کسی خاص مقصد کے لیے فٹنس، اور عدم خلاف ورزی کے ساتھ ساتھ کارکردگی، لین دین کے کورس، یا تجارت میں استعمال سے پیدا ہونے والی کوئی بھی وارنٹی۔
دستاویزات / وسائل
![]() |
انٹیل انٹیل ٹریس اینالائزر اور کلکٹر کے ساتھ شروعات کریں۔ [پی ڈی ایف] یوزر گائیڈ انٹیل ٹریس تجزیہ کار اور کلکٹر کے ساتھ شروع کریں، انٹیل، ٹریس تجزیہ کار اور کلکٹر، کلکٹر کے ساتھ شروع کریں |