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.