Comience con la distribución Intel® para GDB* en el host del sistema operativo Linux*
Comience a usar Intel® Distribution for GDB* para depurar aplicaciones. Siga las instrucciones a continuación para configurar el depurador para depurar aplicaciones con núcleos descargados en dispositivos de CPU y GPU.
Intel® Distribution for GDB* está disponible como parte del Intel® oneAPI Base Toolkit. Para obtener más información sobre los kits de herramientas oneAPI, visite la Página del producto.
Visita el Notas de la versión página para obtener información sobre capacidades clave, nuevas funciones y problemas conocidos.
Puede utilizar un SYCL* sample código, Array Transform, para comenzar con Intel® Distribution for GDB*. la sample no genera errores y simplemente ilustra las características del depurador. El código procesa elementos de la matriz de entrada dependiendo de si son pares o impares y produce una matriz de salida. Puedes usar la samparchivo para depurar tanto en la CPU como en la GPU, especificando el dispositivo elegido a través de un argumento de línea de comando. Sin embargo, tenga en cuenta que la depuración de GPU puede requerir dos sistemas y una configuración adicional para la depuración remota.
Prerrequisitos
Si su objetivo es depurar en GPU, instale los últimos controladores de GPU y configure su sistema para usarlos. Referirse a Guía de instalación de Intel® oneAPI Toolkits para el sistema operativo Linux*. Sigue las instrucciones Instalar controladores de GPU Intel para instalar controladores de GPU que coincidan con su sistema.
Además, puede instalar una extensión para Visual Studio Code* para depurar GPU con Intel® Distribution para GDB*. Referirse a Uso de Visual Studio Code con la guía de kits de herramientas de Intel® oneAPI.
Configurar el depurador de GPU
Para configurar el depurador de GPU, debe tener acceso de root.
NOTA Durante la depuración del kernel, la GPU se detiene y la salida de video no está disponible en su máquina de destino. Debido a esto, no puede depurar la GPU del sistema de destino si la tarjeta GPU del sistema también se usa para la salida gráfica. En este caso, conéctese a la máquina a través de ssh.
1. Si su objetivo es depurar en GPU, se necesita un kernel de Linux que admita la depuración de GPU.
a. Siga las instrucciones en Software Intel® para capacidades de GPU de uso general para descargar e instalar los controladores necesarios.
b. Habilite el soporte de depuración i915 en Kernel:
a. Abra una terminal.
b. abre la comida file en /etc/default.
c. en la comida file, busque la línea GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Introduzca el siguiente texto entre comillas (""):
i915.debug_eu=1
NOTA De forma predeterminada, el controlador de la GPU no permite que las cargas de trabajo se ejecuten en una GPU durante más de un cierto período de tiempo. El controlador elimina esas cargas de trabajo de ejecución prolongada al restablecer la GPU para evitar bloqueos. El mecanismo de control de bloqueo del controlador está deshabilitado si la aplicación se ejecuta bajo el depurador. Si planea ejecutar cargas de trabajo informáticas largas también sin un depurador adjunto, considere aplicar GPU: deshabilitar control de bloqueo mediante la adición
i915.enable_hangcheck=0
a lo mismo Línea GRUB_CMDLINE_LINUX_DEFAULT.
c. Actualice GRUB para que estos cambios surtan efecto:
sudo update-grub
d. Reiniciar.
2. Configure su entorno CLI obteniendo el script setvars ubicado en la raíz de la instalación de su kit de herramientas.
Linux (sudo):
fuente /opt/intel/oneapi/setvars.sh
Linux (usuario):
fuente ~/intel/oneapi/setvars.sh
3. Entorno de configuración
Utilice las siguientes variables de entorno para habilitar la compatibilidad con el depurador para Intel® oneAPI Level Zero:
exportar ZET_ENABLE_PROGRAM_DEBUGGING=1
exportar IGC_EnableGTLocationDebugging=1
4. Comprobación del sistema
Cuando todo esté listo, ejecute el siguiente comando para confirmar que la configuración del sistema es confiable:
python3 /ruta/a/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
Una posible salida de un sistema bien configurado es la siguiente:
…
Comprueba los resultados:
=====================================================================================
Verifique el nombre: debugger_sys_check
Descripción: esta verificación verifica si el entorno está listo para usar gdb (Intel(R) Distribution for GDB*).
Estado del resultado: APROBADO
Depurador encontrado.
libre encontrado.
libia encontrada.
La depuración i915 está habilitada.
Variables ambientales correctas. ================================================== ================================
1 COMPROBACIÓN: 1 PASA, 0 FALLA, 0 AVISOS, 0 ERRORES
Salida de consola file: /ruta/a/logs/diagnostics_filter_debugger_sys_check_force.txt Salida JSON file: /ruta/a/diagnóstico/logs/diagnostics_filter_debugger_sys_check_force.json …
Compilar el programa con información de depuración
Puedes usar la sample project, Array Transform, para comenzar rápidamente con el depurador de aplicaciones.
1. para obtener la sampes, elija cualquiera de las siguientes formas:
- Utilice la CLI S de oneAPIampNavegador de archivos para seleccionar Transformación de matriz en la categoría Primeros pasos.
- Descargar desde GitHub*.
2. Navegar al src del sample proyecto:
transformación de matriz de cd/src
3. Compile la aplicación habilitando la información de depuración (indicador -g) y desactivando las optimizaciones (indicador -O0).
Se recomienda deshabilitar la optimización para un entorno de depuración estable y preciso. Esto ayuda a evitar la confusión causada por los cambios en el código después de las optimizaciones del compilador.
NOTA Todavía puede compilar el programa con la optimización habilitada (marca -O2), lo que puede ser útil si su objetivo es la depuración del ensamblaje de la GPU.
Puede compilar el programa de varias maneras. Las opciones 1 y 2 usan compilación justo a tiempo (JIT), que se recomienda para depurar el sample. La opción 3 usa la compilación antes de tiempo (AOT).
- Opción 1. Puedes usar el CMake file para configurar y construir la aplicación. Referirse a README de la samppara las instrucciones.
NOTA El CMake file provisto de la sample ya pasa las banderas -g -O0.
- Opción 2. Para compilar array-transform.cpp sampaplicación le sin el CMake file, emita los siguientes comandos:
icpx -fsycl -g -O0 transformación de matriz.cpp -o transformación de matriz
Si la compilación y el enlace se realizan por separado, conserve los indicadores -g -O0 en el paso del enlace. El paso de enlace es cuando icpx traduce estos indicadores para pasarlos al compilador del dispositivo en tiempo de ejecución. Exampen:
icpx -fsycl -g -O0 -c matriz-transform.cpp
icpx -fsycl -g -O0 matriz-transformación.o -o matriz-transformación
- Opción 3. Puede usar la compilación AOT para evitar tiempos de compilación JIT más largos en tiempo de ejecución. La compilación JIT puede llevar mucho más tiempo para kernels grandes bajo el depurador. Para usar el modo de compilación Ahead-of-Time:
• Para la depuración en una GPU:
Especifique el dispositivo que utilizará para la ejecución del programa. por ejemploample, -device dg2-g10 para gráficos Intel® Data Center GPU Flex 140. Para obtener la lista de opciones admitidas y más información sobre la compilación AOT, consulte el Guía y referencia para desarrolladores del compilador Intel® oneAPI DPC++.
Por ejemploampen:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” matriz-transform.cpp -o arraytransform
La compilación anticipada requiere el compilador fuera de línea OpenCLTM (OC Compiler LOC). Para obtener más información, consulte la sección "Instalar OpenCLTM Offline Compiler (OCLOC)" del Guía de instalación.
• Para la depuración en una CPU:
icpx -fsycl -g -O0 -fsycl-objetivos=spir64_x86_64 matriz-transformación.cpp -o matriz-transformación
Iniciar una sesión de depuración
Inicie la sesión de depuración:
1. Inicie Intel® Distribution para GDB* de la siguiente manera:
transformación de matriz gdb-oneapi
Debería ver el indicador (gdb).
2. Para asegurarse de que el kernel se descargue en el dispositivo correcto, realice los siguientes pasos. Cuando ejecute el comando de ejecución desde el indicador (gdb), pase el UPC, GPU or acelerador argumento:
- Para la depuración en la CPU:
ejecutar cpu
Examparchivo de salida:
[SYCL] Uso del dispositivo: [CPU Intel(R) Core(TM) i7-9750H a 2.60 GHz] de [Intel(R) OpenCL]- Para depurar en la GPU:
ejecutar gpu
Examparchivo de salida:
[SYCL] Uso del dispositivo: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] de [Intel(R) LevelZero]- Para la depuración en el emulador FPGA:
ejecutar el acelerador
Examparchivo de salida:
[SYCL] Uso del dispositivo: [Intel(R) FPGA Emulation Device] de [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]NOTA Los parámetros cpu, gpu y acelerador son específicos de la aplicación Array Transform.
3. Para salir de la Distribución Intel® para GDB*:
abandonar
Para su comodidad, los comandos comunes de Intel® Distribution for GDB* se proporcionan en el Hoja de referencia.
Para depurar los Array Transform sampy aprenda más sobre Intel® Distribution for GDB*, recorra los escenarios básicos de depuración usando el Tutorial.
Más información
Documento | Descripción |
Tutorial: Depuración con Intel® Distribution para GDB* | Este documento describe los escenarios básicos a seguir durante la depuración de SYCL* y OpenCL con Intel® Distribution para GDB*. |
Guía del usuario de distribución Intel® para GDB* | Este documento describe todas las tareas comunes que puede realizar con Intel® Distribution for GDB* y proporciona los detalles técnicos necesarios. |
Notas de la versión de Intel® Distribution para GDB* | Las notas contienen información sobre capacidades clave, nuevas funciones y problemas conocidos de Intel® Distribution para GDB*. |
Página del producto oneAPI | Esta página contiene una breve introducción sobre los kits de herramientas de oneAPI y enlaces a recursos útiles. |
Distribución de Intel® para la hoja de referencia de GDB* | Este documento de una página describe brevemente los requisitos previos y los comandos útiles de Intel® Distribution for GDB*. |
jacobi sample | Esta pequeña aplicación SYCL* tiene dos versiones: con errores y corregida. usa la samparchivo para ejercitar la depuración de aplicaciones con Intel® Distribution para GDB*. |
Avisos y exenciones de responsabilidad
Las tecnologías Intel pueden requerir la activación de hardware, software o servicio habilitado.
Ningún producto o componente puede ser absolutamente seguro.
Sus costos y resultados pueden variar.
© Corporación Intel. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Otros nombres y marcas pueden reclamarse como propiedad de terceros.
Este documento no concede ninguna licencia (expresa o implícita, por impedimento legal o de otro modo) sobre ningún derecho de propiedad intelectual.
Los productos descritos pueden contener defectos de diseño o errores conocidos como erratas que pueden hacer que el producto se desvíe de las especificaciones publicadas. Las erratas caracterizadas actuales están disponibles a pedido.
Intel renuncia a todas las garantías expresas e implícitas, incluidas, entre otras, las garantías implícitas de comerciabilidad, idoneidad para un propósito particular y no infracción, así como cualquier garantía que surja del curso del desempeño, el curso de la negociación o el uso en el comercio.
OpenCL y el logotipo de OpenCL son marcas comerciales de Apple Inc. utilizadas con permiso de Khronos.
Documentos / Recursos
![]() |
Distribución de Intel para GDB en Linux OS Host [pdf] Guía del usuario Distribución para GDB en Linux OS Host, GDB en Linux OS Host, Linux OS Host, OS Host, Host |