Начало работы с дистрибутивом Intel® для GDB* на хосте ОС Linux*
Начните использовать дистрибутив Intel® для GDB* для отладки приложений. Следуйте инструкциям ниже, чтобы настроить отладчик для отладки приложений с ядрами, выгруженными на устройства ЦП и графического процессора.
Дистрибутив Intel® для GDB* доступен как часть базового набора инструментов Intel® oneAPI. Для получения дополнительной информации о наборах инструментов oneAPI посетите страница продукта.
Посетите Заметки о выпуске страница для получения информации об основных возможностях, новых функциях и известных проблемах.
Вы можете использовать SYCL* sampФайловый код Array Transform, чтобы начать работу с дистрибутивом Intel® для GDB*. Сample не генерирует ошибок и просто иллюстрирует возможности отладчика. Код обрабатывает элементы входного массива в зависимости от того, четные они или нечетные, и создает выходной массив. Вы можете использовать сample для отладки как на ЦП, так и на графическом процессоре, указав выбранное устройство через аргумент командной строки. Однако обратите внимание, что для отладки графического процессора могут потребоваться две системы и дополнительная конфигурация для удаленной отладки.
Предпосылки
Если вы хотите выполнить отладку на графическом процессоре, установите последние версии драйверов графического процессора и настройте свою систему для их использования. Обратитесь к Руководство по установке наборов инструментов Intel® oneAPI для ОС Linux*, Следуй инструкциям Установите драйверы графического процессора Intel для установки драйверов графического процессора, соответствующих вашей системе.
Кроме того, вы можете установить расширение для Visual Studio Code* для отладки графического процессора с помощью Intel® Distribution для GDB*. Обратитесь к Использование кода Visual Studio с руководством по наборам инструментов Intel® oneAPI.
Настройте отладчик графического процессора
Чтобы настроить отладчик графического процессора, вам необходим root-доступ.
ПРИМЕЧАНИЕ Во время отладки ядра графический процессор останавливается, и вывод видео на целевой машине недоступен. По этой причине вы не сможете отладить графический процессор целевой системы, если карта графического процессора системы также используется для вывода графики. В этом случае подключитесь к машине через ssh.
1. Если вы хотите выполнять отладку на графическом процессоре, необходимо ядро Linux, поддерживающее отладку на графическом процессоре.
a. Следуйте инструкциям на Программное обеспечение Intel® для возможностей графических процессоров общего назначения скачать и установить необходимые драйверы.
b. Включите поддержку отладки i915 в ядре:
a. Откройте терминал.
b. Откройте личинку file в /etc/по умолчанию.
c. В личинке file, найдите строку GRUB_CMDLINE_LINUX_DEFAULT="".
d. Введите следующий текст в кавычках («»):
i915.debug_eu=1
ПРИМЕЧАНИЕ По умолчанию драйвер графического процессора не позволяет рабочим нагрузкам выполняться на графическом процессоре дольше определенного периода времени. Драйвер уничтожает такие длительные рабочие нагрузки, перезагружая графический процессор, чтобы предотвратить зависания. Механизм зависания драйвера отключен, если приложение работает под отладчиком. Если вы планируете выполнять длительные вычислительные нагрузки без подключения отладчика, рассмотрите возможность применения GPU: отключить зависание добавив
i915.enable_hangcheck=0
в то же самое Строка GRUB_CMDLINE_LINUX_DEFAULT.
c. Обновите GRUB, чтобы эти изменения вступили в силу:
sudo обновление-grub
d. Перезагрузить.
2. Настройте среду CLI, воспользовавшись сценарием setvars, расположенным в корне установки вашего набора инструментов.
Linux (судо):
источник /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) для GDB*).
Статус результата: ПРОЙДЕН
Отладчик найден.
либипт найден.
либига найдена.
Отладка 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 SampЛес Браузер чтобы выбрать «Преобразование массива» в категории «Начало работы».
- Скачать с GitHub*.
2. Перейдите к источнику sampле проект:
cd array-transform/src
3. Скомпилируйте приложение, включив отладочную информацию (флаг -g) и отключив оптимизацию (флаг -O0).
Отключение оптимизации рекомендуется для обеспечения стабильной и точной среды отладки. Это помогает избежать путаницы, вызванной изменениями в коде после оптимизации компилятора.
ПРИМЕЧАНИЕ Вы по-прежнему можете скомпилировать программу с включенной оптимизацией (флаг -O2), что может быть полезно, если вы нацелены на отладку сборки графического процессора.
Скомпилировать программу можно несколькими способами. Варианты 1 и 2 используют JIT-компиляцию, которую рекомендуется использовать для отладки.ampле. Вариант 3 использует упреждающую компиляцию (AOT).
- Вариант 1. Вы можете использовать CMake file для настройки и сборки приложения. Обратитесь к ПРОЧИТАЙТЕ МЕНЯ из 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 массив-transform.cpp
icpx -fsycl -g -O0 массив-трансформация.o -o массив-преобразование
- Вариант 3. Вы можете использовать AOT-компиляцию, чтобы избежать увеличения времени JIT-компиляции во время выполнения. JIT-компиляция может занять значительно больше времени для больших ядер под отладчиком. Чтобы использовать режим предварительной компиляции:
• Для отладки на графическом процессоре:
Укажите устройство, которое вы будете использовать для выполнения программы. Для бывшего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). Для получения дополнительной информации обратитесь к разделу «Установка автономного компилятора OpenCLTM (OCLOC)» руководства. Руководство по установке.
• Для отладки на ЦП:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Начать сеанс отладки
Запустите сеанс отладки:
1. Запустите дистрибутив Intel® для GDB* следующим образом:
преобразование массива gdb-oneapi
Вы должны увидеть приглашение (gdb).
2. Чтобы убедиться, что ядро выгружено на нужное устройство, выполните следующие действия. Когда вы выполняете команду запуска из командной строки (gdb), передайте Процессор, графический процессор or ускоритель аргумент:
- Для отладки на процессоре:
запустить процессор
Exampвывод:
[SYCL] Использование устройства: [ЦП Intel(R) Core(TM) i7-9750H @ 2.60 ГГц] из [Intel(R) OpenCL]- Для отладки на графическом процессоре:
запустить графический процессор
Exampвывод:
[SYCL] Использование устройства: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] из [Intel(R) LevelZero]- Для отладки на FPGA-эмуляторе:
запустить акселератор
Exampвывод:
[SYCL] Использование устройства: [Устройство эмуляции Intel(R) FPGA] из [Платформа эмуляции Intel(R) FPGA для программного обеспечения OpenCL(TM)]ПРИМЕЧАНИЕ Параметры процессора, графического процессора и ускорителя относятся к приложению Array Transform.
3. Чтобы выйти из дистрибутива Intel® для GDB*:
покидать
Для вашего удобства общие команды Intel® Distribution для GDB* представлены в разделе Справочный лист.
Чтобы отладить Array Transform sampи узнайте больше о Intel® Distribution для GDB*, ознакомьтесь с базовыми сценариями отладки с помощью Учебник.
Узнать больше
Документ | Описание |
Учебное пособие. Отладка с помощью Intel® Distribution для GDB* | В этом документе описаны основные сценарии, которым необходимо следовать при отладке SYCL* и OpenCL с помощью Intel® Distribution для GDB*. |
Руководство пользователя дистрибутива Intel® для GDB* | В этом документе описаны все распространенные задачи, которые можно выполнить с помощью Intel® Distribution для GDB*, и приведены необходимые технические подробности. |
Примечания к выпуску дистрибутива Intel® для GDB* | Примечания содержат информацию о ключевых возможностях, новых функциях и известных проблемах Intel® Distribution для GDB*. |
Страница продукта oneAPI | На этой странице содержится краткое описание наборов инструментов oneAPI и ссылки на полезные ресурсы. |
Справочный лист дистрибутива Intel® для GDB* | В этом одностраничном документе кратко описаны необходимые условия для дистрибутива Intel® для GDB* и полезные команды. |
Якоби Сample | Это небольшое приложение SYCL* имеет две версии: с ошибками и с исправлением. Используйте букву sample для выполнения отладки приложений с помощью Intel® Distribution для GDB*. |
Уведомления и отказ от ответственности
Для технологий Intel может потребоваться активированное оборудование, программное обеспечение или сервис.
Ни один продукт или компонент не может быть абсолютно безопасным.
Ваши затраты и результаты могут отличаться.
© Корпорация Intel. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Другие имена и торговые марки могут быть заявлены как собственность других лиц.
Настоящий документ не предоставляет никакой лицензии (явной или подразумеваемой, посредством лишения права возражения или иным образом) на какие-либо права интеллектуальной собственности.
Описанные продукты могут содержать дефекты конструкции или ошибки, известные как errata, которые могут привести к отклонению продукта от опубликованных спецификаций. Текущие охарактеризованные errata доступны по запросу.
Intel отказывается от всех явных и подразумеваемых гарантий, включая, помимо прочего, подразумеваемые гарантии товарного состояния, пригодности для определенной цели и ненарушения прав, а также любые гарантии, вытекающие из хода работы, делового оборота или использования в торговле.
OpenCL и логотип OpenCL являются товарными знаками Apple Inc., используемыми с разрешения Khronos.
Документы/Ресурсы
![]() |
Дистрибутив Intel для GDB на хосте ОС Linux [pdf] Руководство пользователя Распространение GDB на хосте ОС Linux, GDB на хосте ОС Linux, Хосте ОС Linux, Хосте ОС, Хосте |