Volver a los cursos
AI021 Professional

Guía de Programación CUDA

El recurso oficial y completo para desarrolladores que desean aprender el modelo de programación CUDA y cómo escribir código de alto rendimiento que se ejecute en GPUs de NVIDIA. Esta guía cubre la arquitectura de la plataforma, la interfaz de programación, funciones avanzadas del hardware y especificaciones técnicas.

5.0
30.0h
1762 estudiantes
1 me gusta
Inteligencia Artificial
Comenzar a aprender

Descripción del curso

📚 Resumen del contenido

El recurso oficial y completo para desarrolladores que desean aprender el modelo de programación CUDA y cómo escribir código de alto rendimiento que se ejecute en GPUs de NVIDIA. Esta guía abarca la arquitectura de la plataforma, la interfaz de programación, características avanzadas de hardware y especificaciones técnicas.

Domina el arte del cálculo paralelo con la guía estándar de la industria sobre NVIDIA CUDA.

Autor: Corporación NVIDIA

Agradecimientos: Copyright © 2007-2024 Corporación NVIDIA y afiliados. Todos los derechos reservados.

🎯 Objetivos de aprendizaje

  1. Definir los roles del host (CPU) y del dispositivo (GPU) dentro de un sistema heterogéneo.
  2. Explicar el modelo de programación SIMT y la organización jerárquica de hilos, bloques y rejillas.
  3. Distinguir entre PTX (Ejecución Paralela de Hilos) y código binario (cubins) y explicar cómo la compilación Just-in-Time (JIT) facilita la compatibilidad.
  4. Desarrollar y compilar kernels CUDA: escribir funciones global, configurar la ejecución con notación de tres corchetes angulares y gestionar el flujo de compilación de NVCC.
  5. Optimizar memoria y movimiento de datos: distinguir entre modelos de memoria Unificada, Explícita y Mapeada, e implementar memoria de host bloqueada por página para transferencias eficientes.
  6. Gestionar la ejecución paralela: utilizar flujos CUDA, eventos y Grupos Cooperativos para gestionar tareas asíncronas y sincronizar operaciones entre CPU y GPU.
  7. Realizar aritmética de punteros compleja e identificar cuellos de botella arquitectónicos (von Neumann vs. Harvard).
  8. Implementar patrones de ejecución CUDA avanzados, incluyendo lanzamientos de kernels dependientes programáticamente y transferencias de memoria por lotes heterogéneas.
  9. Utilizar características específicas del hardware como Alcances de Hilos, Proxies Asincrónicos y Pipelines para maximizar la concurrencia.
  10. Configurar y ajustar el rendimiento de la Memoria Unificada mediante prefetching, sugerencias de uso y gestión del tamaño de página.

Lecciones