Fecha: 23 y 24 de octubre, de 9:30 a 16:00 horas.
Lugar: CMM / Sala multimedia
Cupos: 20

 
Tras una exitosa década siendo utilizadas como aceleradores hardware, las GPUs constituyen hoy en día una atractiva alternativa para la computación de altas prestaciones a bajo coste. En este contexto CUDA es una arquitectura de cálculo paralelo de NVIDIA que aprovecha el potencial de la GPU para proporcionar un incremento extraordinario del rendimiento del sistema.
El presente workshop, dictado por Manuel Ujaldón, pretende familiarizar a un programador básico de lenguaje C sobre la aceleración de aplicaciones de propósito general en GPUs con CUDA, abarcando tanto aspectos teóricos como prácticos. Durante el primer día se describirán las diferentes plataformas y generaciones de hardware  que se han venido utilizando para ello en computación de alto desempeño, para a partir de ahí introducir los kernels, bloques e hilos de CUDA.
El segundo día comenzaremos con ejemplos sencillos como la suma de vectores o el producto de matrices, para finalizar con un taller práctico donde los asistentes programarán sus propios kernels en CUDA utilizando recursos en la nube proporcionados desde Nvidia.
Los programadores que ya hayan trabajado con CUDA previamente pueden asistir a partir del segundo día, donde nos centraremos en la metodología de programación y realizaremos el taller práctico.  En dicho taller se plantearán ejercicios con diferentes niveles  de dificultad para que cada asistente pueda elegir el que mejor  se adapte a sus habilidades.
Este curso será dictado por el Dr. Manuel Ujaldón, profesor titular del departamento de Arquitectura Computacional de la Universidad de Málaga.
Requerimientos: Conocimientos de programación en C, laptop con navegador Web y cliente SSH.
 

Programa

23 de Octubre

9.30 – 11.00 Arquitectura de la GPU: Desarrollos many-core por generaciones hardware
11.00 – 11.30 Coffee break
11.30 – 13.00 Programación CUDA: Hilos, bloques, kernels, mallas
13.00 – 14.30 Almuerzo
14.30 – 16.00 Programación CUDA: Compilación, depuración y optimización

 
24 de Octubre

9.30 – 11.00 Ejemplos de programación de kernels: VectorAdd, ReverseArray, Stencils, Matrix Multiply
11.00 – 11.30 Coffee break
11.30 – 13.00 Taller de programación en la nube (1): (a realizar individualmente): Suma de vectores
13.00 – 14.30 Almuerzo
14.30 – 16.00 Taller de programación en la nube (2): Producto de matrices y algoritmos de reducción

 

Inscripción*

Inscripciones cerradas
*Se dará preferencia en la inscripción al workshop a estudiantes de Postgrado e Investigadores

Sobre Manuel Ujaldón

Manuel trabajó en paralelizadores semiautomáticos y compiladores de paralelismo de datos para aplicaciones irregulares durante el desarrollo de su tesis doctoral, que concluyó en 1996. Durante este período, formó parte de los comités de especificación de HPF y MPI, trabajando como post-doc en el Departamento de Ciencias de la Computación de la Universidad de Maryland en College Park (EEUU). En 2003, se unió a la iniciativa GPGPU utilizando Cg, escribiendo el primer libro en castellano sobre la programación de GPUs para computación de propósito general, centrado en cómo implementar aplicaciones irregulares y algoritmos de álgebra lineal en GPUs. Manuel sustituyó Cg por CUDA tras su irrupción, centrándose desde entonces en aplicaciones de procesamiento de imágenes y relacionadas con la bioinformática y la minería de datos.
En los últimos 5 años ha sido co-autor de más de 40 publicaciones en revistas y congresos internacionales relacionados con estas temáticas. Además, ha impartido más de 30 cursos sobre programación CUDA en universidades de todo el mundo, incluyendo prestigiosos centros europeos, estadounidenses y australianos. Su labor ha sido reconocida por Nvidia con los galardones Nvidia Academic Partnership entre 2008 y 2011, Nvidia Teaching Center entre 2011 y 2013 en las Universidades de Málaga (España) y Newcastle (Australia), Nvidia Research Center en 2012 como investigador principal en la Universidad de Málaga, y finalmente CUDA Fellow a título individual en 2012.
Más información en su página Web personal: http://cms.ac.uma.es/ujaldon/index.php/es
También disponible en inglés en: http://cms.ac.uma.es/ujaldon/index.php/en