Contacta con nosotros

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

Número de participantes


Precio por participante

Próximos cursos

Categorías Relacionadas