0Pricing
CUDA Academy · Lección

Códigos de retorno frente a errores asíncronos

Por qué los kernels fallan silenciosamente de forma predeterminada.

Códigos de retorno frente a errores asíncronos 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.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Two Ways CUDA Fails

CUDA reports trouble in two flavors: an immediate return code from API calls, and delayed async errors from kernels. Knowing both is key. 🧭

API Calls Return a Code

Most CUDA runtime calls hand back a cudaError_t. A value of cudaSuccess means all good; anything else signals a problem you can act on.

cudaError_t err = cudaMalloc(&d, n);

Check It Right Away

For synchronous calls like cudaMalloc, the returned code is final. Compare it to cudaSuccess immediately and react before moving on.

if (err != cudaSuccess) return 1;

Kernels Return Nothing

A kernel launch with triple brackets has no return value you can test. So launch failures cannot be reported the same easy way.

myKernel<<<g, b>>>(d); // no code to check

Why Kernels Are Async

Launches are asynchronous: the CPU queues the work and races ahead. The GPU may not have even started when your next line runs.

Errors Arrive Late

Because work runs later, a kernel crash becomes an async error. It surfaces on a future call, not at the launch line itself.

Silent by Default

If you never check, a broken kernel fails silently. Your program seems to run while producing garbage or zeros in the output.

Two Kinds of Launch Errors

Launches can fail in two stages: a bad configuration caught at launch, and a runtime fault like out-of-bounds caught while executing.

Sticky Errors

A serious fault leaves the context in a sticky error state. Every later CUDA call then returns the same error until you restart.

Sync to Force Async Errors

To pull a hidden fault into the open, call cudaDeviceSynchronize. It waits for the kernel and returns any runtime error it hit.

cudaError_t e = cudaDeviceSynchronize();

A Reliable Habit

The rule of thumb: check the return code of every API call, and sync to catch kernels. Together they leave no failure unseen.

Quick Check

Test your grasp of how kernels report failure.

Recap: Two Error Paths

API calls give an instant return code, while kernels fail asynchronously. Check codes and synchronize so nothing slips by unnoticed. 🎉

Preguntas frecuentes

¿La lección «Códigos de retorno frente a errores asíncronos» es gratis?

Sí — el texto completo de «Códigos de retorno frente a errores asíncronos» 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 «Códigos de retorno frente a errores asíncronos»?

Por qué los kernels fallan silenciosamente de forma predeterminada. 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 «Códigos de retorno frente a errores asíncronos»?

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. Códigos de retorno frente a errores asíncronos
  2. cudaGetLastError después del lanzamiento
  3. Una macro CUDA_CHECK reutilizable
  4. Descifrar cudaGetErrorString
← Volver a CUDA Academy