ابدأ مع Intel® Distribution for GDB * على Linux * OS Host
ابدأ في استخدام Intel® Distribution for GDB * لتصحيح أخطاء التطبيقات. اتبع الإرشادات أدناه لإعداد مصحح الأخطاء لتصحيح أخطاء التطبيقات مع إلغاء تحميل النواة إلى أجهزة وحدة المعالجة المركزية ووحدة معالجة الرسومات.
يتوفر Intel® Distribution for GDB * كجزء من مجموعة أدوات Intel® oneAPI Base Toolkit. لمزيد من المعلومات حول مجموعات أدوات oneAPI ، قم بزيارة صفحة المنتج.
قم بزيارة ملاحظات الإصدار صفحة للحصول على معلومات حول الإمكانات الأساسية والميزات الجديدة والمشكلات المعروفة.
يمكنك استخدام SYCL * sample code ، Array Transform ، للبدء في توزيع Intel® لـ GDB *. ال sample لا يولد أخطاء ويوضح ببساطة ميزات مصحح الأخطاء. تعالج الكود عناصر مصفوفة الإدخال اعتمادًا على ما إذا كانت زوجية أو فردية وتنتج مصفوفة إخراج. يمكنك استخدام sample لتصحيح الأخطاء على كل من وحدة المعالجة المركزية أو وحدة معالجة الرسومات ، وتحديد الجهاز المختار من خلال وسيطة سطر الأوامر. لاحظ أن تصحيح أخطاء GPU قد يتطلب نظامين وتكوينًا إضافيًا لتصحيح الأخطاء عن بُعد.
المتطلبات الأساسية
إذا كنت تهدف إلى تصحيح الأخطاء على GPU ، فقم بتثبيت أحدث برامج تشغيل GPU وقم بتهيئة نظامك لاستخدامها. الرجوع إلى دليل تثبيت مجموعة أدوات Intel® oneAPI لنظام التشغيل Linux *. اتبع التعليمات قم بتثبيت برامج تشغيل Intel GPU لتثبيت برامج تشغيل GPU المطابقة لنظامك.
بالإضافة إلى ذلك ، يمكنك تثبيت ملحق لـ Visual Studio Code * لتصحيح أخطاء GPU باستخدام Intel® Distribution for GDB *. الرجوع إلى استخدام Visual Studio Code مع دليل مجموعة أدوات Intel® oneAPI.
قم بإعداد GPU Debugger
لإعداد مصحح أخطاء GPU ، يجب أن يكون لديك حق الوصول إلى الجذر.
ملحوظة أثناء تصحيح أخطاء kernel ، تتوقف وحدة معالجة الرسومات ويكون إخراج الفيديو غير متاح على جهازك المستهدف. لهذا السبب ، لا يمكنك تصحيح أخطاء GPU من النظام الهدف إذا تم استخدام بطاقة GPU للنظام أيضًا للإخراج الرسومي. في هذه الحالة ، قم بالاتصال بالجهاز عبر ssh.
1. إذا كنت تهدف إلى تصحيح الأخطاء في GPU ، فستحتاج إلى Linux Kernel الذي يدعم تصحيح أخطاء GPU.
a. اتبع التعليمات الموجودة على برنامج Intel® لإمكانيات GPU للأغراض العامة لتنزيل وتثبيت برامج التشغيل الضرورية.
b. تمكين دعم تصحيح أخطاء i915 في Kernel:
a. افتح المحطة الطرفية.
b. افتح اليرقة file في / etc / default.
c. في اليرقة file، ابحث عن السطر GRUB_CMDLINE_LINUX_DEFAULT = ””.
d. أدخل النص التالي بين علامتي الاقتباس (""):
i915.debug_eu = 1
ملحوظة افتراضيًا ، لا يسمح برنامج تشغيل GPU بتشغيل أحمال العمل على وحدة معالجة الرسومات لفترة أطول من فترة زمنية معينة. يقتل برنامج التشغيل أحمال العمل طويلة المدى هذه عن طريق إعادة تعيين وحدة معالجة الرسومات لمنع حدوث تعليق. يتم تعطيل آلية hangcheck لبرنامج التشغيل إذا كان التطبيق يعمل تحت مصحح الأخطاء. إذا كنت تخطط لتشغيل أعباء عمل الحوسبة الطويلة أيضًا دون إرفاق مصحح أخطاء ، ففكر في التقديم GPU: تعطيل Hangcheck عن طريق الاضافة
i915.enable_hangcheck = 0
نفس الشيء GRUB_CMDLINE_LINUX_DEFAULT سطر.
c. قم بتحديث GRUB لتصبح هذه التغييرات سارية المفعول:
sudo update-grub
d. إعادة التشغيل.
2. قم بإعداد بيئة CLI الخاصة بك عن طريق تحديد مصدر البرنامج النصي setvars الموجود في جذر تثبيت مجموعة الأدوات الخاصة بك.
لينكس (سودو):
المصدر /opt/intel/oneapi/setvars.sh
Linux (مستخدم):
المصدر ~ / intel / oneapi / setvars.sh
3. بيئة الإعداد
استخدم متغيرات البيئة التالية لتمكين دعم مصحح الأخطاء لـ Intel® oneAPI Level Zero:
تصدير ZET_ENABLE_PROGRAM_DEBUGGING = 1
تصدير IGC_EnableGTLocationDebugging = 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 أخطاء
إخراج وحدة التحكم 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 project ، Array Transform ، للبدء بسرعة مع مصحح أخطاء التطبيق.
1. للحصول على sample ، اختر أيًا من الطرق التالية:
- استخدم oneAPI CLI Sampمتصفح ليه لتحديد Array Transform من فئة Getting Started.
- تنزيل من جيثب *.
2. انتقل إلى src الخاصة بـ sampمشروع لو:
تحويل مجموعة الأقراص المضغوطة / src
3. قم بترجمة التطبيق عن طريق تمكين معلومات التصحيح (علامة -g) وإيقاف تشغيل التحسينات (علامة -O0).
يوصى بتعطيل التحسين للحصول على بيئة تصحيح أخطاء مستقرة ودقيقة. هذا يساعد على تجنب الارتباك الناجم عن التغييرات في التعليمات البرمجية بعد تحسينات المترجم.
ملحوظة لا يزال بإمكانك تجميع البرنامج مع تمكين التحسين (علامة -O2) ، والتي يمكن أن تكون مفيدة إذا كنت تهدف إلى تصحيح أخطاء تجميع وحدة معالجة الرسومات.
يمكنك تجميع البرنامج بعدة طرق. يستخدم الخياران 1 و 2 التجميع في الوقت المناسب (JIT) ، والذي يوصى به لتصحيح أخطاء sampجنيه. يستخدم الخيار 3 التجميع المسبق (AOT).
- الخيار 1. يمكنك استخدام CMake file لتكوين وبناء التطبيق. الرجوع إلى إقرأني من سampجنيه للحصول على التعليمات.
ملحوظة سيماك file المقدمة مع sample يمر بالفعل -g -O0 أعلام.
- الخيار 2. لتجميع مجموعة تحويل. cpp sampلو بدون CMake file، قم بإصدار الأوامر التالية:
icpx -fsycl -g -O0 مجموعة تحويل.cpp -o مجموعة تحويل
إذا تم التجميع والربط بشكل منفصل ، احتفظ بعلامات -g -O0 في خطوة الارتباط. خطوة الارتباط هي عندما يترجم icpx هذه العلامات لتمريرها إلى مترجم الجهاز في وقت التشغيل. السابقampعلى:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 مجموعة-تحويل- o- تحويل صفيف
- الخيار 3. يمكنك استخدام تجميع AOT لتجنب أوقات تجميع JIT الأطول في وقت التشغيل. يمكن أن يستغرق تجميع JIT وقتًا أطول بشكل ملحوظ مع النواة الكبيرة الموجودة تحت مصحح الأخطاء. لاستخدام وضع الترجمة قبل الوقت:
• لتصحيح الأخطاء على وحدة معالجة الرسومات:
حدد الجهاز الذي ستستخدمه لتنفيذ البرنامج. على سبيل المثالample، -device dg2-g10 for Intel® Data Center GPU Flex 140 Graphics. للحصول على قائمة الخيارات المدعومة ومزيد من المعلومات حول تجميع AOT ، يرجى الرجوع إلى دليل ومرجع مطور برنامج التحويل البرمجي Intel® oneAPI DPC ++.
على سبيل المثالampعلى:
icpx -fsycl -g -O0 -fsycl-Goals = spir64_gen -Xs "-device dg2-g10" array-transform.cpp -o arraytransform
يتطلب التجميع المسبق برنامج OpenCLTM Offline Compiler (OC Compiler LOC). لمزيد من المعلومات ، راجع قسم "تثبيت برنامج OpenCLTM Offline Compiler (OCLOC)" في دليل التثبيت.
• لتصحيح الأخطاء على وحدة المعالجة المركزية:
icpx -fsycl -g -O0 -fsycl-Goals = spir64_x86_64 array-transform.cpp -o array-convert
ابدأ جلسة تصحيح
ابدأ جلسة التصحيح:
1. ابدأ توزيع Intel® لـ GDB * على النحو التالي:
تحويل صفيف gdb-oneapi
يجب أن ترى موجه (gdb).
2. للتأكد من إلغاء تحميل النواة إلى الجهاز الصحيح ، قم بالخطوات التالية. عند تنفيذ أمر التشغيل من موجه (gdb) ، قم بتمرير ملف وحدة المعالجة المركزية, وحدة معالجة الرسومات 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]] من [Intel (R) LevelZero]- لتصحيح الأخطاء على محاكي FPGA:
تشغيل المسرع
Exampإخراج لو:
[SYCL] استخدام الجهاز: [Intel (R) FPGA Emulation Device] من [Intel (R) FPGA Emulation Platform for OpenCL (TM) software]ملحوظة معلمات وحدة المعالجة المركزية ، و gpu ، والمسرع خاصة بتطبيق Array Transform.
3. لإنهاء توزيع Intel® لـ GDB *:
يترك
من أجل راحتك ، يتم توفير أوامر توزيع Intel® الشائعة لـ GDB * في ملف ورقة مرجعية.
لتصحيح أخطاء Array Transform sample وتعرف على المزيد حول Intel® Distribution for GDB * ، وتصفح سيناريوهات تصحيح الأخطاء الأساسية باستخدام درس تعليمي.
يتعلم أكثر
وثيقة | وصف |
البرنامج التعليمي: التصحيح باستخدام 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® لـ GDB * والأوامر المفيدة. |
جاكوبي إسample | يحتوي هذا التطبيق الصغير SYCL * على نسختين: التنصت والثابت. استخدم sample لممارسة تصحيح أخطاء التطبيق باستخدام Intel® Distribution for GDB *. |
الإخطارات وإخلاء المسؤولية
قد تتطلب تقنيات Intel تفعيل الأجهزة أو البرامج أو تفعيل الخدمة.
لا يمكن أن يكون أي منتج أو مكون آمنًا تمامًا.
قد تختلف التكاليف والنتائج الخاصة بك.
© شركة إنتل. تعد Intel وشعار Intel وعلامات Intel الأخرى علامات تجارية لشركة Intel Corporation أو الشركات التابعة لها. قد تكون الأسماء والعلامات التجارية الأخرى مملوكة لآخرين.
لا يتم منح أي ترخيص (صريح أو ضمني، عن طريق الحجب أو غير ذلك) لأي حقوق الملكية الفكرية بموجب هذه الوثيقة.
قد تحتوي المنتجات الموصوفة على عيوب في التصميم أو أخطاء معروفة باسم الأخطاء المطبعية والتي قد تتسبب في انحراف المنتج عن المواصفات المنشورة. تتوفر الأخطاء المطبعية الحالية عند الطلب.
تتنصل Intel من جميع الضمانات الصريحة والضمنية ، بما في ذلك على سبيل المثال لا الحصر ، الضمانات الضمنية الخاصة بالتسويق ، والملاءمة لغرض معين ، وعدم الانتهاك ، بالإضافة إلى أي ضمان ينشأ عن مسار الأداء ، أو مسار التعامل ، أو الاستخدام في التجارة.
OpenCL وشعار OpenCL هما علامتان تجاريتان لشركة Apple Inc. وتستخدمان بإذن من Khronos.
المستندات / الموارد
![]() |
توزيع intel لـ GDB على Linux OS Host [بي دي اف] دليل المستخدم توزيع GDB على Linux OS Host و GDB على Linux OS Host و Linux OS Host و OS Host و Host |