Linux* OS میزبان پر GDB کے لیے Intel® ڈسٹری بیوشن کے ساتھ شروعات کریں۔
ڈیبگنگ ایپلیکیشنز کے لیے Intel® Distribution for GDB* استعمال کرنا شروع کریں۔ سی پی یو اور جی پی یو ڈیوائسز پر آف لوڈ کردہ کرنل کے ساتھ ایپلیکیشنز کو ڈیبگ کرنے کے لیے ڈیبگر سیٹ اپ کرنے کے لیے نیچے دی گئی ہدایات پر عمل کریں۔
Intel® ڈسٹری بیوشن برائے GDB* Intel® oneAPI بیس ٹول کٹ کے حصے کے طور پر دستیاب ہے۔ oneAPI ٹول کٹس کے بارے میں مزید معلومات کے لیے، ملاحظہ کریں۔ مصنوعات کا صفحہ.
کا دورہ کریں۔ ریلیز نوٹس کلیدی صلاحیتوں، نئی خصوصیات، اور معلوم مسائل کے بارے میں معلومات کے لیے صفحہ۔
آپ SYCL*s استعمال کر سکتے ہیں۔ample code, Array Transform, Intel® Distribution for GDB* کے ساتھ شروع کرنے کے لیے۔ ایسample غلطیاں پیدا نہیں کرتا ہے اور صرف ڈیبگر خصوصیات کی وضاحت کرتا ہے۔ کوڈ ان پٹ سرنی کے عناصر پر اس بات پر عمل کرتا ہے کہ آیا وہ مساوی ہیں یا طاق اور ایک آؤٹ پٹ سرنی تیار کرتا ہے۔ آپ ایس کو استعمال کرسکتے ہیں۔ampسی پی یو یا جی پی یو دونوں پر ڈیبگ کرنے کے لیے، کمانڈ لائن آرگومنٹ کے ذریعے منتخب کردہ ڈیوائس کی وضاحت کرنا۔ یاد رکھیں کہ GPU ڈیبگنگ کے لیے دو سسٹمز اور ریموٹ ڈیبگنگ کے لیے اضافی کنفیگریشن درکار ہو سکتی ہے۔
شرطیں
اگر آپ کا مقصد GPU پر ڈیبگ کرنا ہے، تو جدید ترین GPU ڈرائیورز انسٹال کریں اور اپنے سسٹم کو ان کے استعمال کے لیے ترتیب دیں۔ سے رجوع کریں۔ Intel® oneAPI ٹول کٹس انسٹالیشن گائیڈ برائے لینکس* OS. ہدایات پر عمل کریں Intel GPU ڈرائیورز انسٹال کریں۔ آپ کے سسٹم سے مماثل GPU ڈرائیورز انسٹال کرنے کے لیے۔
مزید برآں، آپ GDB کے لیے Intel® Distribution کے ساتھ GPU کو ڈیبگ کرنے کے لیے Visual Studio Code* کے لیے ایک ایکسٹینشن انسٹال کر سکتے ہیں۔ سے رجوع کریں۔ Intel® oneAPI ٹول کٹس گائیڈ کے ساتھ بصری اسٹوڈیو کوڈ کا استعمال.
GPU ڈیبگر سیٹ اپ کریں۔
GPU ڈیبگر سیٹ اپ کرنے کے لیے، آپ کے پاس روٹ تک رسائی ہونی چاہیے۔
نوٹ کرنل ڈیبگنگ کے دوران، GPU روک دیا جاتا ہے اور ویڈیو آؤٹ پٹ آپ کی ٹارگٹ مشین پر دستیاب نہیں ہوتا ہے۔ اس کی وجہ سے، آپ GPU کو ٹارگٹ سسٹم سے ڈیبگ نہیں کر سکتے ہیں اگر سسٹم کا GPU کارڈ گرافیکل آؤٹ پٹ کے لیے بھی استعمال ہوتا ہے۔ اس صورت میں، ssh کے ذریعے مشین سے جڑیں۔
1. اگر آپ GPU پر ڈیبگ کرنا چاہتے ہیں تو، ایک لینکس کرنل کی ضرورت ہے جو GPU ڈیبگنگ کو سپورٹ کرتا ہو۔
a. پر دی گئی ہدایات پر عمل کریں۔ عام مقصد کے GPU صلاحیتوں کے لیے Intel® سافٹ ویئر ضروری ڈرائیوروں کو ڈاؤن لوڈ اور انسٹال کرنے کے لیے۔
b. کرنل میں i915 ڈیبگ سپورٹ کو فعال کریں:
a. ایک ٹرمینل کھولیں۔
b. گرب کھولیں۔ file /etc/default میں۔
c. گرب میں file، لائن تلاش کریں GRUB_CMDLINE_LINUX_DEFAULT=””۔
d. اقتباسات کے درمیان درج ذیل متن درج کریں (""):
i915.debug_eu=1
نوٹ پہلے سے طے شدہ طور پر، GPU ڈرائیور کام کے بوجھ کو GPU پر ایک مقررہ وقت سے زیادہ چلنے کی اجازت نہیں دیتا ہے۔ ڈرائیور ہینگ کو روکنے کے لیے GPU کو دوبارہ ترتیب دے کر اس طرح کے طویل کام کے بوجھ کو ختم کرتا ہے۔ اگر ایپلیکیشن ڈیبگر کے نیچے چل رہی ہے تو ڈرائیور کا ہینگ چیک میکانزم غیر فعال ہے۔ اگر آپ ڈیبگر کو منسلک کیے بغیر بھی طویل کمپیوٹ ورک بوجھ چلانے کا ارادہ رکھتے ہیں، تو درخواست دینے پر غور کریں۔ GPU: ہینگ چیک کو غیر فعال کریں۔ شامل کرکے
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*) استعمال کرنے کے لیے تیار ہے۔
نتیجہ کی حیثیت: پاس
ڈیبگر ملا۔
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 …
ڈیبگ معلومات کے ساتھ پروگرام مرتب کریں۔
آپ ایس کو استعمال کرسکتے ہیں۔ample پروجیکٹ، Array Transform، ایپلیکیشن ڈیبگر کے ساتھ تیزی سے شروع کرنے کے لیے۔
1. ایس حاصل کرنے کے لیےample, مندرجہ ذیل طریقوں میں سے کسی کا انتخاب کریں:
- oneAPI CLI S استعمال کریں۔amples براؤزر شروع کرنے کے زمرے سے Array Transform کو منتخب کرنے کے لیے۔
- سے ڈاؤن لوڈ کریں۔ GitHub*.
2. s کے src پر جائیں۔ampلی پروجیکٹ:
cd array-transform/src
3. ڈیبگ انفارمیشن (-g فلیگ) کو فعال کرکے اور آپٹیمائزیشن (-O0 فلیگ) کو بند کرکے ایپلیکیشن کو مرتب کریں۔
ایک مستحکم اور درست ڈیبگ ماحول کے لیے اصلاح کو غیر فعال کرنے کی سفارش کی جاتی ہے۔ اس سے کمپائلر آپٹیمائزیشن کے بعد کوڈ میں ہونے والی تبدیلیوں کی وجہ سے پیدا ہونے والی الجھنوں سے بچنے میں مدد ملتی ہے۔
نوٹ آپ اب بھی پروگرام کو آپٹیمائزیشن فعال (-O2 فلیگ) کے ساتھ مرتب کر سکتے ہیں، جو مددگار ثابت ہو سکتا ہے اگر آپ کا مقصد GPU اسمبلی ڈیبگنگ ہے۔
آپ پروگرام کو کئی طریقوں سے مرتب کر سکتے ہیں۔ اختیارات 1 اور 2 صرف وقت میں (JIT) تالیف کا استعمال کرتے ہیں، جس کی سفارش کی جاتی ہے کہ s کو ڈیبگ کیا جائے۔ample آپشن 3 وقت سے پہلے (AOT) تالیف کا استعمال کرتا ہے۔
- آپشن 1۔ آپ CMake استعمال کر سکتے ہیں۔ file ایپلی کیشن کو ترتیب دینے اور بنانے کے لیے۔ سے رجوع کریں۔ README کےampلی ہدایات کے لیے۔
نوٹ سی میک file s کے ساتھ فراہم کیample پہلے ہی -g -O0 جھنڈوں کو پاس کرتا ہے۔
- آپشن 2۔ array-transform.cpp s کو مرتب کرنے کے لیےampلی ایپلیکیشن بغیر سی میک کے 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۔ آپ رن ٹائم پر طویل JIT کمپائلیشن اوقات سے بچنے کے لیے AOT کمپائلیشن استعمال کر سکتے ہیں۔ ڈیبگر کے نیچے بڑے دانا کے لیے جے آئی ٹی کی تالیف میں کافی زیادہ وقت لگ سکتا ہے۔ Ahead-of-Time کمپائلیشن موڈ استعمال کرنے کے لیے:
• GPU پر ڈیبگنگ کے لیے:
اس ڈیوائس کی وضاحت کریں جسے آپ پروگرام کے عمل کے لیے استعمال کریں گے۔ سابق کے لیےample, -device dg2-g10 برائے Intel® ڈیٹا سینٹر 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)" دیکھیں۔ انسٹالیشن گائیڈ.
CPU پر ڈیبگنگ کے لیے:
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) پرامپٹ سے رن کمانڈ پر عمل کرتے ہیں تو پاس کریں۔ سی پی یو, جی پی یو or ایکسلریٹر دلیل:
- CPU پر ڈیبگنگ کے لیے:
سی پی یو چلائیں۔
Exampلی آؤٹ پٹ:
[SYCL] ڈیوائس کا استعمال: [Intel(R) OpenCL] سے [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz]- GPU پر ڈیبگ کرنے کے لیے:
جی پی یو چلائیں۔
Exampلی آؤٹ پٹ:
[SYCL] ڈیوائس کا استعمال: [Intel(R) LevelZero] سے [Intel(R) ڈیٹا سینٹر GPU Flex Series 140 [0x56c1]]- ایف پی جی اے ایمولیٹر پر ڈیبگنگ کے لیے:
ایکسلریٹر چلائیں
Exampلی آؤٹ پٹ:
[SYCL] ڈیوائس کا استعمال: [Intel(R) FPGA Emulation Device] from [Intel(R) FPGA ایمولیشن پلیٹ فارم برائے OpenCL(TM) سافٹ ویئر]نوٹ سی پی یو، جی پی یو، اور ایکسلریٹر پیرامیٹرز اری ٹرانسفارم ایپلیکیشن کے لیے مخصوص ہیں۔
3. GDB کے لیے Intel® ڈسٹری بیوشن چھوڑنے کے لیے*:
چھوڑو
آپ کی سہولت کے لیے، عام Intel® ڈسٹری بیوشن برائے GDB* کمانڈز میں فراہم کیے گئے ہیں۔ حوالہ شیٹ.
Array Transform s کو ڈیبگ کرنے کے لیےampاور GDB کے لیے Intel® ڈسٹری بیوشن کے بارے میں مزید جانیں، ٹیوٹوریل.
مزید جانیں
دستاویز | تفصیل |
ٹیوٹوریل: GDB کے لیے Intel® ڈسٹری بیوشن کے ساتھ ڈیبگنگ* | یہ دستاویز SYCL* اور OpenCL کے ساتھ Intel® ڈسٹری بیوشن برائے GDB* کو ڈیبگ کرتے وقت پیروی کرنے والے بنیادی منظرناموں کی وضاحت کرتی ہے۔ |
Intel® ڈسٹری بیوشن برائے GDB* یوزر گائیڈ | یہ دستاویز تمام عام کاموں کی وضاحت کرتا ہے جو آپ Intel® Distribution for GDB* کے ساتھ مکمل کر سکتے ہیں اور ضروری تکنیکی تفصیلات فراہم کرتا ہے۔ |
Intel® ڈسٹری بیوشن برائے GDB* ریلیز نوٹس | نوٹ میں کلیدی صلاحیتوں، نئی خصوصیات، اور Intel® Distribution for GDB* کے معلوم مسائل کے بارے میں معلومات شامل ہیں۔ |
oneAPI پروڈکٹ پیج | یہ صفحہ OneAPI ٹول کٹس کا مختصر تعارف اور مفید وسائل کے لنکس پر مشتمل ہے۔ |
Intel® ڈسٹری بیوشن برائے GDB* ریفرنس شیٹ | یہ ایک صفحہ کی دستاویز مختصر طور پر GDB* کے لیے Intel® کی تقسیم کو بیان کرتی ہے اور مفید کمانڈز۔ |
جیکوبی ایسample | اس چھوٹے SYCL* ایپلیکیشن کے دو ورژن ہیں: بگڈ اور فکسڈ۔ ایس کا استعمال کریں۔ampGDB* کے لیے Intel® ڈسٹری بیوشن کے ساتھ ایپلیکیشن ڈیبگنگ کی مشق کریں۔ |
نوٹس اور دستبرداری
انٹیل ٹیکنالوجیز کے لئے فعال ہارڈ ویئر ، سافٹ ویئر یا سروس ایکٹیویشن کی ضرورت پڑسکتی ہے۔
کوئی مصنوع یا جزو بالکل محفوظ نہیں ہوسکتا ہے۔
آپ کے اخراجات اور نتائج مختلف ہو سکتے ہیں۔
© انٹیل کارپوریشن۔ Intel، Intel لوگو، اور Intel کے دیگر نشانات Intel Corporation یا اس کے ذیلی اداروں کے ٹریڈ مارک ہیں۔ دوسرے ناموں اور برانڈز پر دوسروں کی ملکیت کے طور پر دعوی کیا جا سکتا ہے۔
اس دستاویز کے ذریعہ کسی بھی دانشورانہ املاک کے حقوق کا کوئی لائسنس (اظہار یا مضمر، بذریعہ اسٹاپپل یا دوسری صورت میں) نہیں دیا گیا ہے۔
بیان کردہ پروڈکٹس میں ڈیزائن کی خرابیاں یا خرابیاں ہو سکتی ہیں جنہیں ایریٹا کہا جاتا ہے جس کی وجہ سے پروڈکٹ شائع شدہ تصریحات سے ہٹ سکتا ہے۔ موجودہ خصوصیات والے errata درخواست پر دستیاب ہیں۔
Intel تمام واضح اور مضمر وارنٹیوں کو مسترد کرتا ہے، بشمول بغیر کسی حد کے، تجارتی قابلیت کی مضمر وارنٹی، کسی خاص مقصد کے لیے فٹنس، اور عدم خلاف ورزی کے ساتھ ساتھ کارکردگی، لین دین کے کورس، یا تجارت میں استعمال سے پیدا ہونے والی کوئی بھی وارنٹی۔
OpenCL اور OpenCL لوگو Apple Inc. کے ٹریڈ مارک ہیں جو Khronos کی اجازت سے استعمال ہوتے ہیں۔
دستاویزات / وسائل
![]() |
لینکس او ایس ہوسٹ پر جی ڈی بی کے لیے انٹیل ڈسٹری بیوشن [پی ڈی ایف] یوزر گائیڈ لینکس OS میزبان پر GDB کے لیے تقسیم، Linux OS میزبان پر GDB، Linux OS میزبان، OS میزبان، میزبان |