Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
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
Testimonios (1)
Muy interactivo con diversos ejemplos, con una buena progresión en complejidad desde el inicio hasta el final del entrenamiento.
Jenny - Andheo
Curso - GPU Programming with CUDA and Python
Traducción Automática