Contacta con nosotros

Temario del curso

Introducción

  • ¿Qué es la programación con GPU?
  • ¿Por qué utilizar CUDA con Python?
  • Conceptos clave: Hilos, bloques y rejillas

Visión general de las características y la arquitectura de CUDA

  • Arquitectura GPU frente a CPU
  • Comprensión de SIMT (Instrucción única, múltiples hilos)
  • Modelo de programación de CUDA

Configuración del entorno de desarrollo

  • Instalación del CUDA Toolkit y los controladores
  • Instalación de Python y Numba
  • Configuración y verificación del entorno

Fundamentos de la programación paralela

  • Introducción a la ejecución paralela
  • Comprensión de los hilos y las jerarquías de hilos
  • Trabajo con warps y sincronización

Trabajo con el compilador Numba

  • Introducción a Numba
  • Escribir kernels de CUDA con Numba
  • Comprensión de los decoradores @cuda.jit

Construcción de un kernel personalizado de CUDA

  • Escribir y ejecutar un kernel básico
  • Utilizar hilos para operaciones elemento a elemento
  • Gestionar las dimensiones de la rejilla y los bloques

Gestión de la memoria

  • Tipos de memoria de GPU (global, compartida, local, constante)
  • Transferencia de memoria entre el host y el dispositivo
  • Optimización del uso de la memoria y prevención de cuellos de botella

Temas avanzados en aceleración con GPU

  • Memoria compartida y sincronización
  • Uso de flujos para ejecución asíncrona
  • Conceptos básicos de programación multi-GPU

Conversión de aplicaciones basadas en CPU a GPU

  • Perfilado de código en CPU
  • Identificación de secciones paralelizables
  • Portación de la lógica a kernels de CUDA

Solución de problemas

  • Depuración de aplicaciones de CUDA
  • Errores comunes y cómo resolverlos
  • Herramientas y técnicas para pruebas y validación

Resumen y próximos pasos

  • Repaso de los conceptos clave
  • Mejores prácticas en programación con GPU
  • Recursos para el aprendizaje continuo

Requerimientos

  • Experiencia en programación con Python
  • Experiencia con NumPy (ndarrays, ufuncs, etc.)

Público objetivo

  • Desarrolladores
 14 Horas

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas