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 GPU y Arquitectura CUDA
- Diferencias arquitectónicas entre CPU y GPU
- Modelo de multiprocesador de streaming NVIDIA GPU
- Visión general del modelo de programación CUDA
- Computación heterogénea y el paradigma host-dispositivo
Configuración del Entorno de Desarrollo CUDA
- Instalación del Toolkit de CUDA 13.x
- Compilador NVCC y flujo de trabajo de compilación
- Verificación del entorno con consultas de dispositivo
- Integración IDE y herramientas de desarrollo
Escribiendo y Lanzando Kernels CUDA
- Sintaxis y calificadores de funciones kernel
- Lanzamiento de configuración y ejecución
- Suma de vectores y patrones básicos paralelos a datos
- Macros de verificación de errores CUDA
Jerarquía de Hilos CUDA y Modelo de Ejecución
- Organización de grids, bloques e hilos
- Indexación de hilos y cálculo de ID global
- Ejecución de warps y modelo SIMT
- Ocupancia y utilización de recursos
Arquitectura y Gestión de Memoria GPU
- Tipos de memoria: global, compartida, constante, registros
- Asignación y liberación de memoria de dispositivo
- Transferencias host-a-dispositivo y dispositivo-a-host
- Memoria compartida para colaboración intra-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
- Prefijado asíncrono con cudaMemPrefetchAsync
- Pistas de asesoramiento de memoria para patrones de acceso
Perfileo a Nivel de Sistema con Nsight Systems
- Análisis de línea de tiempo de Nsight Systems
- Identificación de puntos de sincronización CPU-GPU
- Visualización de ejecución de kernels y transferencias de memoria
- Interpretación de datos de rendimiento a nivel de sistema
Optimización de Kernels con Nsight Compute
- Perfileo interactivo de kernels de Nsight Compute
- Análisis de ancho de banda y rendimiento de memoria
- Utilización de cómputo y estadísticas de estado de warp
- Análisis guiado y reglas de optimización
Secuencias Concurrentes y Operaciones Asíncronas
- Secuencias CUDA y la secuencia predeterminada
- Superposición de ejecución de kernels con transferencias de datos
- Sincronización de secuencias y eventos CUDA
- Patrones de diseño de tubería multi-secuencia
Manejo de Errores y Herramientas de Depuración
- Códigos de error de API CUDA y estrategias de recuperación
- Compute-sanitizer para verificación de acceso a memoria
- cuda-gdb para depuración de kernels
- Aserciones y detección sincrónica de errores
Flujo de Trabajo de Optimización Impulsada por Perfiles
- Metodología iterativa de perfileo
- Identificación y priorización de cuellos de botella
- Pruebas de regresión de rendimiento
- Documentación de decisiones de optimización
Proyecto de Aplicación Acelerada de Extremo a Extremo
- Diseño de una solución completa acelerada por GPU
- Integración de perfileo durante todo el desarrollo
- Evaluación y reporte de rendimiento
- Consideraciones de despliegue para producción
Requerimientos
- Competencia básica en programación C/C++ incluyendo tipos de variables, bucles, declaraciones condicionales, funciones y manipulaciones de arrays
- Familiaridad con compilar y ejecutar programas desde la línea de comandos
- No se requiere experiencia previa en programación de GPUs o CUDA
Audiencia
- Desarrolladores de software e ingenieros que buscan acelerar aplicaciones C/C++ con GPUs
- Investigadores científicos y profesionales de HPC que transicionan de solo 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