Contacta con nosotros

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

Número de participantes


Precio por participante

Próximos cursos

Categorías Relacionadas