Contacta con nosotros

Temario del curso

Cómputo en GPU y arquitectura CUDA

  • Diferencias arquitectónicas entre CPU y GPU
  • Modelo de multiprocesadores de secuencia de streaming (SM) de NVIDIA GPU
  • Visión general del modelo de programación CUDA
  • Cómputo heterogéneo y el paradigma host-dispositivo

Configuración del entorno de desarrollo CUDA

  • Instalación del CUDA Toolkit 13.x
  • Compilador NVCC y flujo de trabajo de construcción
  • Verificación del entorno mediante consultas de dispositivo
  • Integración con IDE y herramientas de desarrollo

Escritura y lanzamiento de kernels CUDA

  • Sintaxis y calificadores de funciones kernel
  • Configuración de lanzamiento y ejecución
  • Suma de vectores y patrones básicos de paralelismo de datos
  • Marcos de verificación de errores de CUDA

Jerarquía de hilos y modelo de ejecución de CUDA

  • Organización de mallas, bloques y hilos
  • Indexación de hilos y cálculo de identificadores globales
  • Ejecución de warps y modelo SIMT
  • Capacidad de ocupación y utilización 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-dispositivo y dispositivo-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
  • Precarga asíncrona con cudaMemPrefetchAsync
  • Sugerencias de comportamiento de memoria para patrones de acceso

Perfilado del sistema con Nsight Systems

  • Análisis de la 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 de sistema

Optimización de kernels con Nsight Compute

  • Perfilado interactivo de kernels en Nsight Compute
  • Análisis de flujo de datos y ancho de banda de memoria
  • Estadísticas de utilización de cómputo y estado de warps
  • 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 para 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 verificación de accesos a memoria
  • cuda-gdb para depuración de 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 y reporte de rendimiento
  • Consideraciones de despliegue para producción

Requerimientos

  • Competencia básica en programación C/C++, incluyendo tipos de variables, bucles, sentencias condicionales, funciones y manipulación de arreglos
  • Conocimiento 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 GPUs ni de CUDA

Audiencia objetivo

  • Desarrolladores e ingenieros de software que buscan acelerar aplicaciones C/C++ con GPUs
  • Investigadores científicos y profesionales de HPC que transitan de entornos solo de 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