Temario del curso
Computación en GPU y arquitectura CUDA
- Diferencias arquitectónicas entre CPU y GPU.
- Modelo de multiplicadores de transmisión (streaming multiprocessor) de 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 de CUDA Toolkit 13.x.
- Compilador NVCC y flujo de trabajo de construcción.
- Verificación del entorno mediante consultas del dispositivo.
- Integración con IDE y herramientas de desarrollo.
Escribir y lanzar kernels de CUDA
- Sintaxis y calificadores de funciones kernel.
- Configuración del lanzamiento y ejecución.
- Suma de vectores y patrones básicos paralelos.
- Marcos de comprobación de errores de CUDA.
Jerarquía de hilos de CUDA y modelo de ejecución
- Organización de cuadrícula (grid), bloque e hilo.
- Indexación de hilos y cálculo del identificador global.
- Ejecución de warps y modelo SIMT.
- Ocupación y utilización de recursos.
Arquitectura de memoria de GPU y gestión
- Tipos de memoria: global, compartida, constante, registros.
- Asignación y liberación de memoria del dispositivo.
- Transferencias de host a dispositivo y de dispositivo a host.
- Memoria compartida para la 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.
- Prefetch asíncrono con cudaMemPrefetchAsync.
- Avisos de memory advice para patrones de acceso.
Perfilado a nivel de sistema con Nsight Systems
- Análisis de la línea temporal de Nsight Systems.
- Identificación de puntos de sincronización CPU-GPU.
- Visualización de la ejecución del kernel y las transferencias de memoria.
- Interpretación de datos de rendimiento a nivel de sistema.
Optimización de kernels con Nsight Compute
- Perfilado interactivo de kernels con Nsight Compute.
- Análisis del throughput y ancho de banda de memoria.
- Estadísticas de utilización de cómputo y estado de warp.
- Análisis guiado y reglas de optimización.
Streams concurrentes y operaciones asíncronas
- Streams de CUDA y el stream predeterminado.
- Superposición de ejecución de kernels con transferencias de datos.
- Sincronización de streams y eventos de CUDA.
- Patrones de diseño de pipelines multi-stream.
Gestión de errores y herramientas de depuración
- Códigos de error de la API de CUDA y estrategias de recuperación.
- Compute-sanitizer para verificar accesos a memoria.
- cuda-gdb para depurar kernels.
- Aserciones y detección síncrona de errores.
Flujo de trabajo de optimización basado en perfilado
- Metodología iterativa de perfilado.
- 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 del perfilado durante todo el desarrollo.
- Evaluación de rendimiento e informes.
- Consideraciones para el despliegue en producción.
Requerimientos
- Competencia básica en programación C/C++, incluidos tipos de variables, bucles, sentencias condicionales, funciones y manipulaciones 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.
Audiencia objetivo
- Desarrolladores e ingenieros de software que buscan acelerar aplicaciones C/C++ con GPU.
- Investigadores científicos y profesionales de HPC (High-Performance Computing) que transitan del uso exclusivo de CPU a la computación heterogénea.
- Líderes técnicos que evalúan la aceleración por GPU para cargas de trabajo en producción.
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 2900 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales