شروع ڪريو Intel® Distribution for GDB* on Linux* OS Host

استعمال ڪرڻ شروع ڪريو Intel® Distribution for GDB* ڊيبگنگ ايپليڪيشنن لاءِ. هيٺ ڏنل هدايتن تي عمل ڪريو ڊيبگر کي سيٽ ڪرڻ لاءِ ايپليڪيشنن کي ڊيبگ ڪرڻ لاءِ CPU ۽ GPU ڊوائيسز تي آف لوڊ ڪيل ڪرنل سان.

Intel® Distribution for GDB* Intel® oneAPI Base Toolkit جي حصي طور دستياب آھي. OneAPI ٽول ڪِٽس تي وڌيڪ معلومات لاءِ، دورو ڪريو پيداوار جو صفحو.

جو دورو ڪريو رليز نوٽس صفحو اهم صلاحيتن، نئين خاصيتن، ۽ ڄاڻايل مسئلن بابت ڄاڻ لاء.

توھان استعمال ڪري سگھو ٿا SYCL*sample ڪوڊ، Array Transform، شروع ڪرڻ لاءِ Intel® Distribution for GDB*. ايسample غلطيون پيدا نٿو ڪري ۽ صرف ڊيبگر خاصيتن کي بيان ڪري ٿو. ڪوڊ ان پٽ سرن جي عناصرن کي پروسيس ڪري ٿو ان تي منحصر ڪري ٿو ته ڇا اھي برابر آھن يا بي جوڙ ۽ ھڪڙو ٻاھرين صف پيدا ڪري ٿو. توهان استعمال ڪري سگهو ٿا sampسي پي يو يا جي پي يو ٻنهي تي ڊيبگ ڪرڻ لاءِ، چونڊيل ڊيوائس کي ڪمانڊ لائن دليل ذريعي بيان ڪندي. ياد رهي ته GPU ڊيبگنگ کي شايد ٻه سسٽم ۽ ريموٽ ڊيبگنگ لاءِ اضافي ترتيبن جي ضرورت هجي.

شرطون

جيڪڏهن توهان GPU تي ڊيبگ ڪرڻ جو مقصد، جديد GPU ڊرائيور نصب ڪريو ۽ انهن کي استعمال ڪرڻ لاء توهان جي سسٽم کي ترتيب ڏيو. ڏانهن رجوع ڪريو Intel® oneAPI Toolkits Installation Guide for Linux* OS. ھدايتن تي عمل ڪريو انسٽال ڪريو Intel GPU ڊرائيور توهان جي سسٽم سان ملندڙ GPU ڊرائيور نصب ڪرڻ لاء.

اضافي طور تي، توھان انسٽال ڪري سگھو ٿا ايڪسٽينشن لاءِ Visual Studio Code* Debugging GPU لاءِ Intel® Distribution for GDB*. ڏانهن رجوع ڪريو Intel® oneAPI Toolkits Guide سان Visual Studio Code استعمال ڪرڻ.

GPU ڊيبگر سيٽ اپ ڪريو

GPU ڊيبگر کي سيٽ ڪرڻ لاء، توهان کي روٽ رسائي هجڻ گهرجي.


نوٽ ڪرنل ڊيبگنگ دوران، GPU کي روڪيو ويو آهي ۽ وڊيو آئوٽ توهان جي ٽارگيٽ مشين تي دستياب ناهي. انهي جي ڪري، توهان ٽارگيٽ سسٽم مان GPU ڊيبگ نٿا ڪري سگهو جيڪڏهن سسٽم جو GPU ڪارڊ پڻ گرافڪ آئوٽ لاء استعمال ڪيو وڃي. انهي حالت ۾، ssh ذريعي مشين سان ڳنڍيو.


1. جيڪڏهن توهان جو مقصد GPU تي ڊيبگ ڪرڻ آهي، هڪ لينڪس ڪنيل جيڪو GPU ڊيبنگ کي سپورٽ ڪري ٿو ضرورت آهي.

a. تي ڏنل هدايتن تي عمل ڪريو Intel® سافٽ ويئر عام مقصد جي GPU صلاحيتن لاءِ ضروري ڊرائيور ڊائون لوڊ ۽ انسٽال ڪرڻ لاء.
b. ڪرنل ۾ i915 ڊيبگ سپورٽ کي فعال ڪريو:

a. هڪ ٽرمينل کوليو.
b. گرب کوليو file ۾ /etc/default.
c. ڳچيءَ ۾ file, ڳوليو لڪير GRUB_CMDLINE_LINUX_DEFAULT=””.
d. اقتباس جي وچ ۾ هيٺ ڏنل متن داخل ڪريو (""):

i915.debug_eu=1


نوٽ ڊفالٽ طور، GPU ڊرائيور ڪم لوڊ ڪرڻ جي اجازت نه ڏيندو آھي GPU تي ھڪڙي خاص وقت کان وڌيڪ. ڊرائيور hangs کي روڪڻ لاءِ GPU کي ري سيٽ ڪندي اهڙي ڊگھي هلندڙ ڪم لوڊ کي ماريندو آهي. ڊرائيور جي هينگ چيڪ ميڪانيزم کي غير فعال ڪيو ويو آهي جيڪڏهن ايپليڪيشن ڊيبگر جي تحت هلائي رهي آهي. جيڪڏهن توهان ڊگها ڪمپيوٽ ڪم لوڊ هلائڻ جو ارادو ڪيو آهي بغير ڪنهن ڊيبگر سان ڳنڍيل هجي، لاڳو ڪرڻ تي غور ڪريو GPU: Hangcheck کي غير فعال ڪريو شامل ڪرڻ سان

i915.enable_hangcheck=0

ساڳي ڏانهن GRUB_CMDLINE_LINUX_DEFAULT لائن.

c. انهن تبديلين کي اثر انداز ڪرڻ لاءِ GRUB کي اپڊيٽ ڪريو:

sudo update-grub

d. ريبوٽ.

2. پنھنجي ٽول کٽ جي انسٽاليشن جي روٽ ۾ واقع سيٽوار اسڪرپٽ کي سورس ڪندي پنھنجي CLI ماحول کي سيٽ ڪريو.

لينڪس (sudo):

ذريعو /opt/intel/oneapi/setvars.sh

لينڪس (يوزر):

ذريعو ~/intel/oneapi/setvars.sh

3. سيٽ اپ ماحول
Intel® oneAPI ليول زيرو لاءِ ڊيبگر سپورٽ کي فعال ڪرڻ لاءِ ھيٺ ڏنل ماحولياتي متغير استعمال ڪريو:

برآمد ZET_ENABLE_PROGRAM_DEBUGGING=1
ايڪسپورٽ ڪريو IGC_EnableGTLocationDebgging=1

4. سسٽم چيڪ
جڏهن سڀ ڪجهه تيار آهي، مهرباني ڪري هيٺ ڏنل حڪم کي هلايو انهي جي تصديق ڪرڻ لاء ته سسٽم جي جوڙجڪ قابل اعتماد آهي.

python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py -filter debugger_sys_check -force

چڱيءَ طرح ترتيب ڏنل سسٽم جو ممڪن نتيجو ھيٺ ڏنل آھي:


جاچ جا نتيجا:
================================== ========================
نالو چيڪ ڪريو: debugger_sys_check
وضاحت: هي چيڪ تصديق ڪري ٿو ته ماحول استعمال ڪرڻ لاء تيار آهي gdb (Intel(R) Distribution for GDB*).
نتيجن جي حالت: PASS
ڊيبگر مليو.
libipt مليو.
libiga مليو.
i915 ڊيبگ فعال آهي.
ماحولياتي متغير صحيح. ================================== ========================

1 چيڪ ڪريو: 1 پاس، 0 ناڪام، 0 ڊيڄاريندڙ، 0 غلطيون

ڪنسول آئوٽ file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON آئوٽ file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

پروگرام کي ڊيبگ انفارميشن سان گڏ ڪريو

توهان استعمال ڪري سگهو ٿا sample پروجيڪٽ، Array Transform، جلدي شروع ڪرڻ لاءِ ايپليڪيشن ڊيبگر سان.

1. حاصل ڪرڻ لاءِ ايسampهيٺ ڏنل طريقن مان ڪنهن کي چونڊيو:

2. src جي src ڏانھن وڃوampلي پروجيڪٽ:

cd array-transform/src

3. ڊيبگ انفارميشن (-g پرچم) کي فعال ڪرڻ ۽ اصلاح کي بند ڪرڻ (-O0 پرچم) کي فعال ڪندي ايپليڪيشن کي گڏ ڪريو.
هڪ مستحڪم ۽ صحيح ڊيبگ ماحول لاءِ اصلاح کي غير فعال ڪرڻ جي سفارش ڪئي وئي آهي. هي مدد ڪري ٿو مونجهاري کان بچڻ لاءِ ڪوڊ ۾ تبديلين جي ڪري مرتب ڪرڻ واري اصلاحن کان پوءِ.


نوٽ توھان اڃا تائين پروگرام کي گڏ ڪري سگھوٿا اصلاحي فعال (-O2 پرچم) سان، جيڪو مددگار ثابت ٿي سگھي ٿو جيڪڏھن توھان جو مقصد آھي GPU اسيمبلي ڊيبگنگ.


توھان ڪيترن ئي طريقن سان پروگرام گڏ ڪري سگھو ٿا. آپشن 1 ۽ 2 صرف-ان-وقت (JIT) تاليف استعمال ڪندا آھن، جنھن کي ڊيبگ ڪرڻ جي سفارش ڪئي وئي آھيample. آپشن 3 استعمال ڪري ٿو اڳوڻو وقت (AOT) تاليف.

  • آپشن 1. توھان استعمال ڪري سگھو ٿا CMake file ايپليڪيشن کي ترتيب ڏيڻ ۽ تعمير ڪرڻ لاء. ڏانهن رجوع ڪريو README جيampهدايتن لاءِ.

نوٽ سي ايم ميڪ file ايس سان مهيا ڪيلample اڳ ۾ ئي گذري ٿو -g -O0 جھنڊو.


  • آپشن 2. ترتيب ڏيڻ لاءِ array-transform.cpp sampCEMAke کان سواءِ درخواست file، ھيٺ ڏنل حڪم جاري ڪريو:

icpx -fsycl -g -O0 array-transform.cpp -o array-transform

جيڪڏهن تاليف ۽ ڳنڍڻ الڳ الڳ ڪيو ويو آهي، برقرار رکو -g -O0 جھنڊو لنڪ جي قدم تي. لنڪ قدم اهو آهي جڏهن icpx ترجمو ڪري ٿو انهن جھنڊن کي رن ٽائم تي ڊوائيس ڪمپلر ڏانهن منتقل ڪيو وڃي. مثالampاليزي:

icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o array-transform

  • آپشن 3. توھان استعمال ڪري سگھوٿا AOT تاليف کي رن ٽائم ۾ وڌيڪ JIT تاليف جي وقت کان بچڻ لاءِ. JIT تاليف ڊيبگر جي ھيٺان وڏن ڪنلن لاءِ گھڻو وقت وٺي سگھي ٿو. اڳوڻو وقت جي تاليف واري طريقي کي استعمال ڪرڻ لاء:

• GPU تي ڊيبگنگ لاءِ:
ڊوائيس بيان ڪريو جيڪو توهان پروگرام جي عمل لاء استعمال ڪندا. مثال طورample، -device dg2-g10 Intel® Data Center GPU Flex 140 گرافڪس لاءِ. سپورٽ ڪيل اختيارن جي فهرست ۽ AOT تاليف تي وڌيڪ معلومات لاءِ، حوالو ڏيو Intel® oneAPI DPC++ ڪمپائلر ڊولپر گائيڊ ۽ ريفرنس.
مثال طورampاليزي:

icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform

اڳواٽ وقت جي تاليف جي ضرورت آهي OpenCLTM آف لائن ڪمپيلر (OC Compiler LOC). وڌيڪ معلومات لاءِ، سيڪشن جو حوالو ڏيو “Install OpenCLTM Offline Compiler (OCLOC)” انسٽاليشن ھدايت.

• سي پي يو تي ڊيبگ ڪرڻ لاءِ:

icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform

ڊيبگ سيشن شروع ڪريو

ڊيبگ سيشن شروع ڪريو:

1. GDB * لاء Intel® تقسيم شروع ڪريو ھيٺ ڏنل:

gdb-oneapi array-transform

توھان کي ڏسڻ گھرجي (gdb) پرامٽ.

2. پڪ ڪرڻ لاء ته ڪنييل صحيح ڊوائيس تي بند ٿيل آهي، هيٺ ڏنل قدمن تي عمل ڪريو. جڏهن توهان (gdb) پرامپٽ مان رن ڪمانڊ تي عمل ڪريو ٿا، پاس ڪريو cpu, جي پي يو or تيز ڪندڙ دليل:

  • سي پي يو تي ڊيبگنگ لاءِ:

سي پي يو هلائڻ

Exampلي آئوٽ:

[SYCL] ڊوائيس استعمال ڪندي: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] کان [Intel(R) OpenCL]
  • GPU تي ڊيبنگ ڪرڻ لاء:

جي پي يو هلايو

Exampلي آئوٽ:

[SYCL] ڊيوائس استعمال ڪندي: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] from [Intel(R) LevelZero]
  • FPGA-ايموليٽر تي ڊيبگنگ لاءِ:

تيز رفتار هلائڻ

Exampلي آئوٽ:

[SYCL] ڊوائيس استعمال ڪندي: [Intel(R) FPGA Emulation Device] from [Intel(R) FPGA Emulation Platform for OpenCL(TM) سافٽ ويئر]

نوٽ سي پي يو، جي پي يو، ۽ ايڪليٽر پيٽرولر Array Transform ايپليڪيشن لاءِ مخصوص آهن.


3. ڇڏڻ لاءِ Intel® Distribution for GDB*:

ڇڏڻ

توهان جي سهولت لاءِ، عام Intel® Distribution for GDB* ڪمانڊ ۾ مهيا ڪيل آهن ريفرنس شيٽ.

Array Transform s کي ڊيبگ ڪرڻ لاءِampلي ۽ GDB لاء Intel® Distribution بابت وڌيڪ سکو*، استعمال ڪندي بنيادي ڊيبگنگ منظرنامي ذريعي وڃو ٽيوشن.

وڌيڪ سکو
دستاويز وصف
سبق: ڊيبگنگ سان Intel® Distribution for GDB* هي دستاويز بيان ڪري ٿو بنيادي منظرنامي جي پيروي ڪرڻ لاءِ جڏهن ڊيبگ ڪرڻ SYCL* ۽ OpenCL سان Intel® Distribution for GDB*.
Intel® Distribution for GDB * يوزر گائيڊ هي دستاويز سڀني عام ڪمن کي بيان ڪري ٿو جيڪي توهان مڪمل ڪري سگهو ٿا Intel® Distribution for GDB* ۽ ضروري ٽيڪنيڪل تفصيل فراهم ڪري ٿي.
Intel® Distribution for GDB* رليز نوٽس نوٽس ۾ اهم صلاحيتن، نيون خصوصيتون، ۽ Intel® Distribution for GDB* جي ڄاڻايل مسئلن بابت معلومات شامل آهي.
oneAPI پراڊڪٽ صفحو هي صفحو OneAPI ٽول ڪِٽس تي مختصر تعارف ۽ مفيد وسيلن جي لنڪ تي مشتمل آهي.
Intel® تقسيم لاء GDB * ريفرنس شيٽ هي هڪ صفحي وارو دستاويز مختصر طور تي بيان ڪري ٿو Intel® Distribution for GDB* شرطون ۽ ڪارائتو حڪم.
جيڪبي ايسample ھي ننڍڙو SYCL* ايپليڪيشن جا ٻه ورجن آھن: بگ ٿيل ۽ مقرر ٿيل. استعمال ڪريو ايسampGDB* لاءِ Intel® Distribution سان ايپليڪيشن ڊيبگنگ کي مشق ڪرڻ لاءِ.
نوٽس ۽ رد ڪرڻ وارا

انٽيليجنس ٽيڪنالاجي جي ضرورت هارڊويئر ، سافٽ ويئر يا سروس چالو هجڻ جي ضرورت آهي.

ڪابه پيداوار يا جزو بلڪل محفوظ نه ٿي سگهي.

توهان جا خرچ ۽ نتيجا مختلف ٿي سگهن ٿا.

© Intel Corporation. Intel، Intel لوگو، ۽ ٻيا Intel نشان آھن Intel Corporation يا ان جي ماتحت ادارن جا ٽريڊ مارڪ. ٻيا نالا ۽ برانڊ ٻين جي ملڪيت طور دعوي ڪري سگھن ٿا.

هن دستاويز طرفان ڪنهن به دانشورانه ملڪيت جي حقن لاءِ ڪو به لائسنس (ظاهري يا تقاضا، اسٽاپل يا ٻي صورت ۾) نه ڏنو ويو آهي.

بيان ڪيل پراڊڪٽس ۾ ڊزائن جي خرابين يا غلطين تي مشتمل ٿي سگھي ٿو جيڪو errata طور سڃاتو وڃي ٿو جيڪو پروڊڪٽ کي شايع ٿيل وضاحتن کان انحراف ڪري سگھي ٿو. موجوده خصوصيت وارو خطا درخواست تي موجود آهن.

Intel سڀني ظاهري ۽ تقاضا وارن وارنٽي کي رد ڪري ٿو، بشمول بغير ڪنهن حد جي، واپار جي تقاضا وارنٽي، هڪ خاص مقصد لاء فٽنيس، ۽ غير خلاف ورزي، انهي سان گڏ ڪنهن به وارنٽي جي ڪارڪردگي، ڊيلنگ جي ڪورس، يا واپار ۾ استعمال کان پيدا ٿئي ٿي.

OpenCL ۽ OpenCL لوگو Apple Inc. جا ٽريڊ مارڪ آھن جيڪي Khronos جي اجازت سان استعمال ڪيا ويا آھن.

دستاويز / وسيلا

لينڪس او ايس هوسٽ تي GDB لاءِ intel تقسيم [pdf] استعمال ڪندڙ ھدايت
لينڪس او ايس هوسٽ تي جي ڊي بي جي تقسيم، لينڪس او ايس ميزبان تي جي ڊي بي، لينڪس او ايس ميزبان، او ايس ميزبان، ميزبان

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *