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
Computación en GPU y Arquitectura de CUDA
- Diferencias arquitectónicas entre CPU y GPU
- Modelo de streaming multiprocesador de GPU NVIDIA
- Visión general del modelo de programación de CUDA
- Computación heterogénea y el paradigma host-dispositivo
Configuración del Entorno de Desarrollo CUDA
- Instalación del Kit de Desarrollo CUDA 13.x
- Compilador NVCC y flujo de trabajo de compilación
- Verificación del entorno con consultas de dispositivo
- Integración de IDE y herramientas de desarrollo
Escribiendo y Lanzando Kernels CUDA
- Sintaxis y calificadores de funciones de kernel
- Configuración de lanzamiento y ejecución
- Suma de vectores y patrones básicos de paralelismo de datos
- Macruras de comprobación de errores de CUDA
Jerarquía de Hilos CUDA y Modelo de Ejecución
- Organización de grid, bloque e hilo
- Indexación de hilos y cálculo del ID global
- Ejecución de warp y modelo SIMT
- Ocupación y utilización de recursos
Arquitectura y Gestión de Memoria GPU
- Tipos de memoria: global, compartida, constante y registros
- Asignación y liberación de memoria del dispositivo
- Transferencias entre host y dispositivo, y viceversa
- Memoria compartida para la colaboración dentro del bloque
Memoria Unificada y Migración de Datos
- Modelo de memoria unificada y asignaciones gestionadas
- Migración de páginas y paginación bajo demanda
- Prefetching asíncrono con cudaMemPrefetchAsync
- Sugerencias de consejo de memoria para patrones de acceso
Perfilado a Nivel de Sistema con Nsight Systems
- Análisis de la línea de tiempo en Nsight Systems
- Identificación de puntos de sincronización entre CPU y GPU
- Visualización de la ejecución del kernel y transferencias de memoria
- Interpretación de datos de rendimiento a nivel de sistema
Optimización de Kernels con Nsight Compute
- Perfilado interactivo de kernels en Nsight Compute
- Análisis de ancho de banda y capacidad de transferencia de memoria
- Estadísticas de estado del warp y utilización del cálculo
- Análisis guiado y reglas de optimización
Streams Concurrentes y Operaciones Asíncronas
- Streams de CUDA y el stream predeterminado
- Solapar la ejecución del kernel con transferencias de datos
- Sincronización de streams y eventos CUDA
- Patrones de diseño para tuberías multi-stream
Manejo de Errores y Herramientas de Depuración
- Códigos de error de la API de CUDA y estrategias de recuperación
- Compute-sanitizer para la comprobación de accesos a memoria
- cuda-gdb para la depuración de kernels
- Asertions y detección sincrónica de errores
Flujo de Trabajo de Optimización Basado en Perfiles
- Metodología iterativa de perfilado
- Identificación y priorización de cuellos de botella
- Pruebas de regresión de rendimiento
- Documentación de las decisiones de optimización
Proyecto Final de Aplicación Acelerada de Extremo a Extremo
- Diseño de una solución completa acelerada por GPU
- Integración del perfilado durante todo el desarrollo
- Pruebas de referencia (benchmarking) e informes de rendimiento
- Consideraciones de implementación para entornos de producción
Requerimientos
- Competencia básica en programación C/C++, incluyendo tipos de variables, bucles, declaraciones condicionales, funciones y manipulación de matrices
- Familiaridad con la compilación y ejecución de programas desde la línea de comandos
- No se requiere experiencia previa en programación de GPU o CUDA
Público objetivo
- Desarrolladores e ingenieros de software que buscan acelerar aplicaciones C/C++ con GPU
- Investigadores científicos y profesionales de HPC que transitan de sistemas solo con CPU a computación heterogénea
- Líderes técnicos que evalúan la aceleración por GPU para cargas de trabajo en producción
8 Horas