Contacta con nosotros

Temario del curso

Introducción

  • ¿Qué es la programación de GPU?
  • ¿Por qué usar CUDA con Python?
  • Conceptos clave: Threads, Bloques, Grids

Visión general de las características y arquitectura de CUDA

  • Arquitectura de GPU vs CPU
  • Comprensión de SIMT (Single Instruction, Multiple Threads)
  • Modelo de programación de CUDA

Configuración del entorno de desarrollo

  • Instalación del toolkit de CUDA y los controladores
  • Instalación de Python y Numba
  • Configuración y verificación del entorno

Fundamentos de la programación paralela

  • Introducción a la ejecución paralela
  • Comprensión de los threads y las jerarquías de threads
  • Trabajo con warps y sincronización

Trabajo con el compilador Numba

  • Introducción a Numba
  • Escritura de kernels de CUDA con Numba
  • Comprensión de los decoradores @cuda.jit

Construcción de un kernel de CUDA personalizado

  • Escritura y ejecución de un kernel básico
  • Uso de threads para operaciones elemento a elemento
  • Gestión de las dimensiones del grid y del bloque

Gestión de la memoria

  • Tipos de memoria de GPU (global, compartida, local, constante)
  • Transferencia de memoria entre el host y el dispositivo
  • Optimización del uso de la memoria y prevención de cuellos de botella

Tópicos avanzados en la aceleración de GPU

  • Memoria compartida y sincronización
  • Uso de streams para ejecución asíncrona
  • Fundamentos de la programación multi-GPU

Conversión de aplicaciones basadas en CPU a GPU

  • Perfilado del código de CPU
  • Identificación de secciones paralelizables
  • Portado de la lógica a kernels de CUDA

Resolución de problemas

  • Depuración de aplicaciones CUDA
  • Errores comunes y cómo resolverlos
  • Herramientas y técnicas para pruebas y validación

Resumen y próximos pasos

  • Revisión de los conceptos clave
  • Mejores prácticas en programación de GPU
  • Recursos para el aprendizaje continuo

Requerimientos

  • Experiencia en programación con Python
  • Experiencia con NumPy (ndarrays, ufuncs, etc.)

Público objetivo

  • Desarrolladores
 14 Horas

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas