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

  1. Introducción a CUDA
    • Breve historia
    • Conceptos básicos
    • Diferencias con respecto a C/C++
  2. Modelo de programación CUDA
    • Código secuencial
    • Esquemas paralelos
    • Esquema para la GPGPU
  3. Tipos de memorias
    • Local
    • Constante
    • Compartida
    • Global
  4. Uso de memoria compartida
  5. Modelo heterogéneo general de programas CUDA.
    • Consideraciones
    • Uso de GPU + CPU

Requisitos previos

Duración:

6 horas en una sesión.

Cupo límite:

50 personas.