Programación paralela de GPUs con CUDA
Presentación:
CUDA es una extensión del lenguaje de programación de C/C++ pensado para facilitar la programación de aplicaciones paralelas que puedan correr en GPUs.
 Actualmente las GPUs tienen un papel protagónico en las infraestructuras de HPC debido a su gran poder de cómputo y en su naturaleza intrínsecamente paralela, que permite abordar grandes retos computacionales y resolverlos en un tiempo aceptable.
 En este taller veremos una introducción a la programación de aplicaciones paralelas que corren en GPUs utilizando CUDA como “lenguaje de programación”.
Objetivo:
Que los asistentes al taller aprendan cómo hacer programas paralelos para correr en GPUs
Temario
- Introducción a CUDA- Breve historia
- Conceptos básicos
- Diferencias con respecto a C/C++
 
- Modelo de programación CUDA- Código secuencial
- Esquemas paralelos
- Esquema para la GPGPU
 
- Tipos de memorias- Local
- Constante
- Compartida
- Global
 
- Uso de memoria compartida
- Modelo heterogéneo general de programas CUDA.- Consideraciones
- Uso de GPU + CPU
 
Requisitos previos
- Conocimientos básicos de programación, preferentemente en lenguaje C/C++.
- Saber escribir código fuente y compilarlo en línea de comandos.
- Conocimiento de algún editor de textos (Vim, Emacs, nano).
- Uso básico de la línea de comandos.
Duración:
6 horas en una sesión.
Cupo límite:
50 personas.