Comience a utilizar Intel® Distribution para GDB* en Linux* OS Host
Comeza a usar Intel® Distribution for GDB* para depurar aplicacións. Siga as instrucións a continuación para configurar o depurador para depurar aplicacións con núcleos descargados en dispositivos CPU e GPU.
Intel® Distribution for GDB* está dispoñible como parte do Intel® oneAPI Base Toolkit. Para obter máis información sobre os kits de ferramentas oneAPI, visite páxina do produto.
Visita o Notas de lanzamento páxina para obter información sobre as principais capacidades, novas funcións e problemas coñecidos.
Podes usar un SYCL* sampcódigo de archivo, Array Transform, para comezar coa distribución Intel® para GDB*. O sample non xera erros e simplemente ilustra as funcións do depurador. O código procesa elementos da matriz de entrada dependendo de se son pares ou impares e produce unha matriz de saída. Podes usar o sampli para depurar tanto na CPU como na GPU, especificando o dispositivo elixido mediante un argumento de liña de comandos. Teña en conta que a depuración da GPU pode requirir dous sistemas e unha configuración adicional para a depuración remota.
Requisitos previos
Se pretende depurar a GPU, instale os controladores de GPU máis recentes e configure o seu sistema para utilizalos. Consulte o Guía de instalación de Intel® oneAPI Toolkits para Linux* OS. Siga as instrucións Instalar controladores de GPU Intel para instalar controladores de GPU que coincidan co seu sistema.
Ademais, pode instalar unha extensión para Visual Studio Code* para depurar GPU con Intel® Distribution for GDB*. Consulte o Usando Visual Studio Code con Intel® oneAPI Toolkits Guide.
Configura o depurador de GPU
Para configurar o depurador da GPU, debes ter acceso root.
NOTA Durante a depuración do núcleo, a GPU está detida e a saída de vídeo non está dispoñible na súa máquina de destino. Debido a isto, non pode depurar a GPU do sistema de destino se a tarxeta GPU do sistema tamén se usa para a saída gráfica. Neste caso, conéctese á máquina mediante ssh.
1. Se pretende depurar na GPU, é necesario un núcleo Linux que admita a depuración da GPU.
a. Siga as instrucións en Software Intel® para capacidades de GPU de propósito xeral para descargar e instalar os controladores necesarios.
b. Activa o soporte de depuración de i915 no núcleo:
a. Abre un terminal.
b. Abre o grub file en /etc/default.
c. No grub file, busque a liña GRUB_CMDLINE_LINUX_DEFAULT="".
d. Introduza o seguinte texto entre comiñas (""):
i915.debug_eu=1
NOTA De forma predeterminada, o controlador da GPU non permite que as cargas de traballo se executen nunha GPU por máis tempo que un determinado período de tempo. O controlador elimina esas cargas de traballo de longa duración restablecendo a GPU para evitar que se bloquee. O mecanismo de verificación de bloqueo do controlador está desactivado se a aplicación se está a executar no depurador. Se planea executar longas cargas de traballo informáticas sen que se adjunte un depurador, considere a solicitude GPU: Desactivar Hangcheck engadindo
i915.enable_hangcheck=0
ao mesmo Liña GRUB_CMDLINE_LINUX_DEFAULT.
c. Actualiza GRUB para que estes cambios teñan efecto:
sudo update-grub
d. Reinicie.
2. Configura o teu ambiente CLI mediante a fonte do script setvars situado na raíz da instalación do teu kit de ferramentas.
Linux (sudo):
fonte /opt/intel/oneapi/setvars.sh
Linux (usuario):
fonte ~/intel/oneapi/setvars.sh
3. Ambiente de configuración
Use as seguintes variables de ambiente para habilitar a compatibilidade do depurador para Intel® oneAPI Level Zero:
exportar ZET_ENABLE_PROGRAM_DEBUGGING=1
exportar IGC_EnableGTLocationDebugging=1
4. Comprobación do sistema
Cando todo estea listo, execute o seguinte comando para confirmar que a configuración do sistema é fiable:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
Unha posible saída dun sistema ben configurado é a seguinte:
…
Comproba os resultados:
===================================================== =================================
Nome de verificación: debugger_sys_check
Descrición: esta comprobación verifica se o ambiente está preparado para usar gdb (Distribución Intel(R) para GDB*).
Estado do resultado: PASS
Atopouse o depurador.
libipt atopado.
libiga atopada.
A depuración de i915 está activada.
Variables ambientais correctas. ===================================================== ==================================
1 VERIFICACIÓN: 1 APROBADO, 0 FALLADO, 0 ADVERTENCIAS, 0 ERROS
Saída da consola file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt Saída JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json…
Compile o programa con información de depuración
Podes usar o sample, Array Transform, para comezar rapidamente co depurador da aplicación.
1. Para conseguir o sample, escolla calquera das seguintes formas:
- Use a oneAPI CLI Samples Navegador para seleccionar Transformación de matriz na categoría Iniciación.
- Descargar desde GitHub*.
2. Navega ata o src do sampo proxecto:
cd array-transform/src
3. Compile a aplicación activando a información de depuración (marcador -g) e desactivando as optimizacións (marcador -O0).
Recoméndase desactivar a optimización para un ambiente de depuración estable e preciso. Isto axuda a evitar a confusión causada polos cambios no código despois das optimizacións do compilador.
NOTA Aínda podes compilar o programa coa optimización activada (marcador -O2), o que pode ser útil se tes como obxectivo a depuración da montaxe da GPU.
Podes compilar o programa de varias maneiras. As opcións 1 e 2 usan a compilación just-in-time (JIT), que se recomenda para depurar o sample. A opción 3 usa a compilación anticipada (AOT).
- Opción 1. Podes usar o CMake file para configurar e construír a aplicación. Consulte o LERME do sample para as instrucións.
NOTA O CMake file provisto do sample xa pasa as bandeiras -g -O0.
- Opción 2. Para compilar o array-transform.cpp sample sen o CMake file, emita os seguintes comandos:
icpx -fsycl -g -O0 array-transform.cpp -o array-transform
Se a compilación e a ligazón se fan por separado, manteña as marcas -g -O0 no paso da ligazón. O paso da ligazón é cando icpx traduce estas marcas para pasalas ao compilador do dispositivo no tempo de execución. ExampLe:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o array-transform
- Opción 3. Podes usar a compilación AOT para evitar tempos de compilación JIT máis longos no tempo de execución. A compilación JIT pode levar moito máis tempo para núcleos grandes baixo o depurador. Para usar o modo de compilación anticipada:
• Para a depuración nunha GPU:
Especifique o dispositivo que utilizará para a execución do programa. Por example, -device dg2-g10 para gráficos Intel® Data Center GPU Flex 140. Para obter a lista de opcións admitidas e máis información sobre a compilación de AOT, consulte o Guía e referencia para desenvolvedores do compilador Intel® oneAPI DPC++.
Por exampLe:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform
A compilación anticipada require o compilador sen conexión OpenCLTM (OC Compiler LOC). Para obter máis información, consulte a sección "Instalar OpenCLTM Offline Compiler (OCLOC)" do ficheiro Guía de instalación.
• Para a depuración nunha CPU:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Iniciar unha sesión de depuración
Inicia a sesión de depuración:
1. Inicie Intel® Distribution para GDB* do seguinte xeito:
gdb-oneapi array-transform
Debería ver o indicador (gdb).
2. Para asegurarse de que o núcleo está descargado no dispositivo correcto, siga os seguintes pasos. Cando execute o comando de execución desde o indicador (gdb), pase o comando cpu, gpu or acelerador argumento:
- Para depurar a CPU:
executar a CPU
Exampsaída do le:
[SYCL] Usando o dispositivo: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] de [Intel(R) OpenCL]- Para a depuración na GPU:
executar gpu
Exampsaída do le:
[SYCL] Usando o dispositivo: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] de [Intel(R) LevelZero]- Para a depuración no emulador FPGA:
executar o acelerador
Exampsaída do le:
[SYCL] Usando o dispositivo: [Intel(R) FPGA Emulation Device] de [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]NOTA Os parámetros da CPU, da GPU e do acelerador son específicos da aplicación Array Transform.
3. Para saír de Intel® Distribution for GDB*:
saír
Para a súa comodidade, ofrécense os comandos comúns de Intel® Distribution for GDB* no Ficha de referencia.
Para depurar o Array Transform sample e obtén máis información sobre Intel® Distribution for GDB*, percorre escenarios básicos de depuración usando o Titoría.
Máis información
Documento | Descrición |
Tutorial: Depuración con Intel® Distribution para GDB* | Este documento describe os escenarios básicos a seguir ao depurar SYCL* e OpenCL con Intel® Distribution para GDB*. |
Guía de usuario de Intel® Distribution for GDB* | Este documento describe todas as tarefas comúns que pode completar con Intel® Distribution for GDB* e ofrece detalles técnicos necesarios. |
Notas de lanzamento de Intel® Distribution for GDB* | As notas conteñen información sobre as principais capacidades, novas funcións e problemas coñecidos de Intel® Distribution for GDB*. |
Páxina de produto oneAPI | Esta páxina contén unha breve introdución sobre as ferramentas oneAPI e ligazóns a recursos útiles. |
Folla de referencia de Intel® Distribution for GDB* | Este documento dunha páxina describe brevemente os requisitos previos de Intel® Distribution for GDB* e os comandos útiles. |
Jacobi Sample | Esta pequena aplicación SYCL* ten dúas versións: con erros e corrixidas. Usa o sample para exercer a depuración de aplicacións con Intel® Distribution for GDB*. |
Avisos e exencións de responsabilidade
As tecnoloxías Intel poden requirir a activación de hardware, software ou servizo habilitado.
Ningún produto ou compoñente pode ser absolutamente seguro.
Os teus custos e resultados poden variar.
© Intel Corporation. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Outros nomes e marcas pódense reclamar como propiedade doutros.
Este documento non concede ningunha licenza (expresa ou implícita, por exclusión ou doutra forma) sobre ningún dereito de propiedade intelectual.
Os produtos descritos poden conter defectos de deseño ou erros coñecidos como erratas que poden provocar que o produto se desvíe das especificacións publicadas. As erratas caracterizadas actuais están dispoñibles baixo petición.
Intel renuncia a todas as garantías explícitas e implícitas, incluídas, entre outras, as garantías implícitas de comerciabilidade, adecuación para un fin determinado e non infracción, así como calquera garantía derivada do curso do rendemento, do curso da negociación ou do uso no comercio.
OpenCL e o logotipo de OpenCL son marcas comerciais de Apple Inc. utilizadas con permiso de Khronos.
Documentos/Recursos
![]() |
Intel Distribution for GDB en Linux OS Host [pdfGuía do usuario Distribución para GDB en Linux OS Host, GDB en Linux OS Host, Linux OS Host, OS Host, Host |