Contacta con nosotros

Temario del curso

Computación en GPU y arquitectura CUDA

  • Diferencias arquitectónicas entre CPU y GPU
  • Modelo de streaming multiprocesador (SM) de GPU de NVIDIA
  • Vista 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 compilación
  • Verificación del entorno con consultas de dispositivo
  • Integración con IDE y herramientas de desarrollo

Escribir y lanzar kernels CUDA

  • Sintaxis y modificadores de funciones kernel
  • Configuración del lanzamiento y ejecución
  • Suma de vectores y patrones básicos de paralelismo de datos
  • Másicos de verificación de errores 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 identificador global
  • Ejecución de warts y modelo SIMT
  • Ocupación y uso de recursos

Arquitectura y gestión de memoria en GPU

  • Tipos de memoria: global, compartida, constante, registros
  • Asignación y liberación de memoria del dispositivo
  • Transferencias host-a-dispositivo y 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
  • Consejos de uso de memoria para patrones de acceso

Perfiliado del sistema con Nsight Systems

  • Análisis de línea temporal en Nsight Systems
  • Identificación de puntos de sincronización CPU-GPU
  • Visualización de la ejecución de kernels y transferencias de memoria
  • Interpretación de datos de rendimiento a nivel del sistema

Optimización de kernels con Nsight Compute

  • Perfiliado interactivo de kernels en Nsight Compute
  • Análisis de ancho de banda y rendimiento de memoria
  • Ocupación de cómputo y estadísticas de estado de warps
  • Análisis guiado y reglas de optimización

Flujos concurrentes y operaciones asíncronas

  • Flujos CUDA y el flujo predeterminado
  • Superposición de ejecución de kernels con transferencias de datos
  • Sincronización de flujos y eventos CUDA
  • Patrones de diseño para tuberías multi-flujo

Gestión de errores y herramientas de depuración

  • Códigos de error de la 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 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 integral

  • Diseño de una solución completa acelerada por GPU
  • Integración del perfilado durante todo el desarrollo
  • Metricas y reportes de benchmarking de rendimiento
  • Consideraciones de despliegue para producción

Requerimientos

  • Competencia básica en programación C/C++, incluidos tipos de variables, bucles, sentencias condicionales, funciones y manipulaciones de arreglos
  • 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

  • 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 de cómputo solo en 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