Розпочніть роботу з Intel® Distribution for GDB* на хості ОС Linux*
Почніть використовувати Intel® Distribution for GDB* для налагодження програм. Дотримуйтеся наведених нижче інструкцій, щоб налаштувати налагоджувач для налагодження програм із ядрами, вивантаженими на пристрої CPU та GPU.
Intel® Distribution for GDB* доступний як частина Intel® oneAPI Base Toolkit. Для отримання додаткової інформації про набори інструментів oneAPI відвідайте Сторінка продукту.
Відвідати Примітки до випуску сторінка для інформації про ключові можливості, нові функції та відомі проблеми.
Ви можете використовувати SYCL* sampкоду Array Transform, щоб розпочати роботу з Intel® Distribution for GDB*. сample не створює помилок і просто ілюструє функції налагоджувача. Код обробляє елементи вхідного масиву в залежності від того, парні вони чи непарні, і створює вихідний масив. Ви можете використовувати sample для налагодження як на ЦП, так і на ГП, вказавши вибраний пристрій через аргумент командного рядка. Зауважте, що для налагодження GPU може знадобитися дві системи та додаткова конфігурація для віддаленого налагодження.
Передумови
Якщо ви прагнете налагоджувати на графічному процесорі, інсталюйте найновіші драйвери графічного процесора та налаштуйте систему на їх використання. Зверніться до Посібник із встановлення наборів інструментів Intel® oneAPI для ОС Linux*. Дотримуйтесь інструкцій Встановіть драйвери Intel GPU щоб інсталювати драйвери GPU, які відповідають вашій системі.
Крім того, ви можете встановити розширення для Visual Studio Code* для налагодження GPU за допомогою Intel® Distribution for GDB*. Зверніться до Використання Visual Studio Code з Intel® oneAPI Toolkits Guide.
Налаштуйте GPU Debugger
Щоб налаштувати налагоджувач графічного процесора, вам потрібен доступ root.
ПРИМІТКА Під час налагодження ядра графічний процесор зупиняється, а відеовихід недоступний на цільовій машині. Через це ви не можете налагодити GPU з цільової системи, якщо карта GPU системи також використовується для графічного виведення. У цьому випадку підключіться до машини через ssh.
1. Якщо ви прагнете налагоджувати на GPU, потрібне ядро Linux, яке підтримує налагодження GPU.
a. Дотримуйтесь інструкцій на Програмне забезпечення Intel® для можливостей GPU загального призначення завантажити та встановити необхідні драйвери.
b. Увімкніть підтримку налагодження i915 у ядрі:
a. Відкрийте термінал.
b. Відкрийте grub file в /etc/default.
c. У харчі file, знайдіть рядок GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Введіть такий текст між лапками («»).
i915.debug_eu=1
ПРИМІТКА За замовчуванням драйвер графічного процесора не дозволяє робочим навантаженням працювати на графічному процесорі довше певного часу. Драйвер усуває такі тривалі робочі навантаження, скидаючи графічний процесор, щоб запобігти зависанням. Механізм перевірки зависання драйвера вимкнено, якщо програма працює під керуванням налагоджувача. Якщо ви плануєте запускати тривалі обчислювальні навантаження також без підключеного налагоджувача, подумайте про те, щоб подати заявку GPU: Вимкніть Hangcheck шляхом додавання
i915.enable_hangcheck=0
до того ж Рядок GRUB_CMDLINE_LINUX_DEFAULT.
c. Оновіть GRUB, щоб ці зміни набули чинності:
sudo update-grub
d. Reboot.
2. Налаштуйте середовище CLI, знайшовши сценарій setvars, розташований у кореневій папці вашого інструментарію.
Linux (sudo):
джерело /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*).
Статус результату: ПРОЙДЕНО
Налагоджувач знайдено.
лібіпт знайдено.
libiga знайдено.
i915 debug увімкнено.
Правильні змінні середовища. ==================================================== =================================
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 project, Array Transform, щоб швидко розпочати роботу з налагоджувачем програми.
1. Щоб отримати sample, виберіть один із наведених нижче способів:
- Використовуйте oneAPI CLI Sampбраузер щоб вибрати «Перетворення масиву» в категорії «Початок роботи».
- Скачати з GitHub*.
2. Перейдіть до src sampпроект:
cd array-transform/src
3. Скомпілюйте програму, увімкнувши інформацію про налагодження (прапорець -g) і вимкнувши оптимізацію (прапорець -O0).
Рекомендується вимкнути оптимізацію для стабільного та точного середовища налагодження. Це допомагає уникнути плутанини, спричиненої змінами коду після оптимізації компілятора.
ПРИМІТКА Ви все ще можете скомпілювати програму з увімкненою оптимізацією (прапорець -O2), що може бути корисним, якщо ви націлені на налагодження збірки GPU.
Ви можете скомпілювати програму кількома способами. Варіанти 1 і 2 використовують своєчасну компіляцію (JIT), яку рекомендується для налагодження sample. У варіанті 3 використовується компіляція наперед (AOT).
- Варіант 1. Можна використовувати CMake file для налаштування та створення програми. Зверніться до README з sample для інструкцій.
ПРИМІТКА CMake file забезпечені sample вже передає прапори -g -O0.
- Варіант 2. Для компіляції array-transform.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 -o перетворення масиву
- Варіант 3. Ви можете використовувати компіляцію AOT, щоб уникнути тривалості компіляції JIT під час виконання. JIT-компіляція може тривати значно довше для великих ядер під налагоджувачем. Щоб використовувати режим компіляції Ahead-of-Time:
• Для налагодження на GPU:
Вкажіть пристрій, який ви будете використовувати для виконання програми. наприкладample, -device dg2-g10 для Intel® Data Center GPU Flex 140 Graphics. Список підтримуваних параметрів і додаткові відомості про компіляцію AOT див Компілятор Intel® oneAPI DPC++ Посібник і довідник для розробників.
Для exampле:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform
Для попередньої компіляції потрібен автономний компілятор OpenCLTM (OC Compiler LOC). Щоб отримати додаткові відомості, зверніться до розділу «Встановлення автономного компілятора OpenCLTM (OCLOC)» документа Керівництво по установці.
• Для налагодження на ЦП:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o перетворення масиву
Почніть сеанс налагодження
Почніть сеанс налагодження:
1. Запустіть Intel® Distribution for GDB* таким чином:
gdb-oneapi перетворення масиву
Ви повинні побачити підказку (gdb).
2. Щоб переконатися, що ядро вивантажено на правильний пристрій, виконайте наступні дії. Коли ви виконуєте команду запуску з підказки (gdb), передайте центральний процесор, графічний процесор or прискорювач Аргумент:
- Для налагодження на ЦП:
запустити процесор
Exampвихід файлу:
[SYCL] Використання пристрою: [ЦП Intel(R) Core(TM) i7-9750H @ 2.60 ГГц] від [Intel(R) OpenCL]- Для налагодження на GPU:
запустіть 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]ПРИМІТКА Параметри процесора, графічного процесора та прискорювача є специфічними для програми Array Transform.
3. Щоб вийти з дистрибутива Intel® для GDB*:
вихід
Для вашої зручності загальні команди Intel® Distribution for GDB* надаються в Довідковий аркуш.
Щоб налагодити перетворення масиву sample та дізнайтеся більше про Intel® Distribution for GDB*, пройдіть основні сценарії налагодження за допомогою Підручник.
Детальніше
Документ | опис |
Підручник: Налагодження за допомогою Intel® Distribution for GDB* | У цьому документі описано основні сценарії, яких слід дотримуватися під час налагодження SYCL* і OpenCL за допомогою Intel® Distribution for GDB*. |
Intel® Distribution for GDB* Посібник користувача | У цьому документі описано всі типові завдання, які можна виконати за допомогою Intel® Distribution for GDB*, і надано необхідні технічні відомості. |
Примітки до випуску дистрибутива Intel® для GDB* | Примітки містять інформацію про ключові можливості, нові функції та відомі проблеми Intel® Distribution for GDB*. |
Сторінка продукту oneAPI | Ця сторінка містить короткий вступ до наборів інструментів oneAPI та посилання на корисні ресурси. |
Intel® Distribution for GDB* Reference Sheet | Цей односторінковий документ коротко описує передумови та корисні команди Intel® Distribution for GDB*. |
Якобі Сample | Цей невеликий додаток SYCL* має дві версії: з помилками та з виправленими помилками. Використовуйте sample для здійснення налагодження програми за допомогою Intel® Distribution for GDB*. |
Повідомлення та застереження
Технології Intel можуть вимагати активації апаратного, програмного забезпечення або послуги.
Жоден продукт чи компонент не може бути абсолютно безпечним.
Ваші витрати та результати можуть відрізнятися.
© Корпорація Intel. Intel, логотип Intel та інші знаки Intel є товарними знаками корпорації Intel або її дочірніх компаній. Інші назви та бренди можуть бути визнані власністю інших.
Цей документ не надає жодної ліцензії (прямої чи неявної, estoppel чи іншим чином) на будь-які права інтелектуальної власності.
Описана продукція може містити дефекти конструкції або помилки, відомі як помилки, які можуть призвести до відхилення виробу від опублікованих специфікацій. Поточні характеристичні помилки доступні за запитом.
Intel відмовляється від усіх явних і непрямих гарантій, включаючи, без обмежень, непрямі гарантії придатності для продажу, придатності для певної мети та непорушення прав, а також будь-які гарантії, що випливають із ходу роботи, поведінки чи використання в торгівлі.
OpenCL і логотип OpenCL є товарними знаками Apple Inc., які використовуються з дозволу Khronos.
Документи / Ресурси
![]() |
Розповсюдження Intel для GDB на хості ОС Linux [pdf] Посібник користувача Дистрибутив для GDB на хості ОС Linux, хості GDB на хості ОС Linux, хості ОС Linux, хості ОС, хості |
посилання
-
Програмне забезпечення Intel® для можливостей GPU загального призначення — документація програмного забезпечення Intel® для можливостей GPU загального призначення
-
oneAPI-samples/README.md у master · oneapi-src/oneAPI-sampліс · GitHub
-
oneAPI-samples/Tools/ApplicationDebugger at master · oneapi-src/oneAPI-sampліс · GitHub
-
oneAPI-samples/Tools/ApplicationDebugger/jacobi at master · oneapi-src/oneAPI-sampліс · GitHub
-
Примітки до випуску дистрибутива Intel® для GDB*
-
Підручник: Налагодження за допомогою Intel® Distribution for GDB* в ОС Linux*...
-
Створіть і запустіть Sample Проект за допомогою командного рядка
-
Посібники зі встановлення — програмне забезпечення Intel® для документації щодо можливостей GPU загального призначення
-
Випереджаюча збірка
-
software.intel.com/content/www/us/en/develop/download/gdb-oneapi-user-guide.html
-
software.intel.com/content/www/us/en/develop/download/gdb-reference-sheet.html
-
Посібник із встановлення наборів інструментів і компонентів Intel® oneAPI для ОС Linux*
-
GPU: Вимкніть Hangcheck
-
Встановіть драйвери Intel GPU
-
Підтримка графічних процесорів GDB для наборів інструментів Intel® oneAPI
- Посібник користувача