0Pricing
CUDA Academy · Lección

Depuración paso a paso de kernels con cuda-gdb

Puntos de interrupción e inspección por hilo

Depuración paso a paso de kernels con cuda-gdb es una lección gratuita de CUDA Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CUDA Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CUDA Academy incluye 4 lecciones en total.

Conozca cuda-gdb

Cuando un kernel no funciona correctamente, cuda-gdb le permite pausarlo y examinarlo internamente, igual que gdb con los programas normales de CPU. 🔍

Compile con información de depuración

cuda-gdb necesita símbolos, así que compile el kernel con -G para añadir toda la información de depuración del dispositivo antes de depurarlo.

nvcc -g -G vecadd.cu -o vecadd

Por qué es importante -G

La opción -G desactiva muchas optimizaciones para que los números de línea y las variables sigan siendo precisos, lo que permite recorrer el código del dispositivo de forma fiable.

Inicie el depurador

Inicie una sesión pasando el binario a cuda-gdb y, después, escriba run para ejecutarlo bajo el control del depurador.

cuda-gdb ./vecadd

Establezca un punto de interrupción en un kernel

Coloque un punto de interrupción dentro del kernel indicando el nombre de la función, de modo que la ejecución se pause en cuanto un hilo llegue a ella.

(cuda-gdb) break vecAddKernel

Muchos hilos, una sola pausa

Miles de hilos pueden alcanzar ese punto de interrupción, así que cuda-gdb se detiene y se centra en un hilo a la vez para inspeccionarlo.

Avance línea por línea

Use next para ejecutar la línea actual y pausar la ejecución en la siguiente, recorriendo paso a paso la lógica del kernel.

(cuda-gdb) next

Inspeccione una variable

Compruebe qué ha calculado realmente un hilo pidiendo a cuda-gdb que print una variable local mientras está pausado dentro del kernel.

(cuda-gdb) print i

Cambie el hilo seleccionado

Cambie la atención a un hilo específico con cuda thread, seleccionando exactamente el bloque y el lane que desea inspeccionar.

(cuda-gdb) cuda block 0 thread 5

Lea los índices integrados

Puede imprimir threadIdx y blockIdx igual que las variables normales para confirmar exactamente qué elemento de datos procesa este hilo.

(cuda-gdb) print threadIdx.x

Continúe la ejecución

Cuando termine de examinar el programa, escriba continue para reanudarlo hasta el siguiente punto de interrupción o hasta que finalice.

(cuda-gdb) continue

Comprobación rápida

¿Qué opción del compilador añade información de depuración del dispositivo para cuda-gdb?

Repaso

Ha compilado con -G, establecido un punto de interrupción en un kernel, avanzado línea por línea, cambiado de hilo e impreso índices. Ese es el flujo de trabajo básico de cuda-gdb. 🎉

Preguntas frecuentes

¿La lección «Depuración paso a paso de kernels con cuda-gdb» es gratis?

Sí — el texto completo de «Depuración paso a paso de kernels con cuda-gdb» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CUDA Academy, actualiza a CoddyKit PRO. El curso de CUDA Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Depuración paso a paso de kernels con cuda-gdb»?

Puntos de interrupción e inspección por hilo Practicas CUDA Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar CUDA Academy?

No se requiere experiencia previa. CUDA Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Depuración paso a paso de kernels con cuda-gdb»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de CUDA Academy?

Sí. Cada lección de CUDA Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Depuración paso a paso de kernels con cuda-gdb
  2. Cómo encontrar fugas con memcheck
  3. Cómo detectar condiciones de carrera con racecheck
  4. Cómo detectar errores de sincronización con synccheck
← Volver a CUDA Academy