Universidad de Alicante
28 y 29 de enero de 2010
28 y 29 de enero de 2010
Presentación
Un gran número de computadores actuales presentan un sistema de memoria con una estructura jerarquizada y, a menudo, no uniforme, e incorporan aceleradores hardware lo que los convierte en arquitecturas heterogéneas. La programación eficiente de estos sistemas constituye un difícil reto, incluso para los expertos en computación paralela.
Este Workshop/Escuela pretende ser un punto de encuentro para los participantes en la red CAPAP-H, aprovechándose el evento para impartir seminarios sobre CUDA y UPC, dos de las herramientas con futuro más prometedor para atacar el problema de la programación de estas arquitecturas.
Programa
| Hora inicio | Hora fin | Jueves, 28-1-2010 | Viernes, 29-1-2010 |
| 09:00 | 09:30 | Tutorial UPC | |
| 09:30 | 10:00 | Acreditación e inauguración | |
| 10:00 | 10:30 | Tutorial CUDA | |
| 10:30 | 11:00 | ||
| 11:00 | 11:30 | Café | |
| 11:30 | 12:00 | Café | Tutorial UPC |
| 12:00 | 12:30 | Tutorial CUDA | |
| 12:30 | 13:00 | ||
| 13:00 | 13:30 | Almuerzo | Almuerzo |
| 13:30 | 14:00 | ||
| 14:00 | 14:30 | ||
| 14:30 | 15:00 | ||
| 15:00 | 15:30 | Tutorial CUDA | Tutorial UPC |
| 15:30 | 16:00 | ||
| 16:00 | 16:30 | ||
| 16:30 | 17:00 | Café | |
| 17:00 | 17:30 | Tutorial CUDA | |
| 17:30 | 18:00 | ||
| 18:00 | 18:30 | Reunión miembros de CAPAP-H | |
| 18:30 | 19:00 | ||
| 19:00 | 19:30 | ||
| 19:30 | 20:00 |
Tutorial CUDA. Manuel Ujaldón (Universidad de Málaga)
Tras casi una década de evolución hacia la computación de propósito general, la GPU ha terminado consolidándose
como plataforma alternativa para la ejecución de multitud de aplicaciones científicas con una envidiable relación
rendimiento/coste.
A lo largo de este tutorial repasaremos brevemente la trayectoria de la GPU para después detenernos en su estado actual, complementando sus vertientes hardware y software desde el punto de vista del paradigma CUDA ideado por Nvidia y recientemente apadrinado por OpenCL. En la segunda parte abordaremos la programación de código CUDA
en sus distintas facetas: sintaxis, compilación, depuración, optimización y análisis de rendimiento. Finalizaremos con una serie de ejemplos sobre los que aplicaremos las principales técnicas descritas, siempre partiendo de una versión base sencilla que iremos refinando de forma sucesiva.
Material del curso: Sesiones 1 y 2 (GPU) Sesiones 3 y 4 (CUDA)
Tutorial UPC. Basilio Fraguela y María José Martín (Universidad de A Coruña)
Ni el paradigma de programación de pase de mensajes ni el de memoria compartida se adaptan de forma óptima a los sistemas distribuidos de nodos multinúcleo a los que tienden las arquitecturas actuales de alto rendimiento. Recientemente se ha propuesto el paradigma de memoria compartida-distribuida, que intenta responder a esta problemática aunando lo mejor de los paradigmas existentes, de forma que mejora sustancialmente la productividad en el desarrollo de aplicaciones paralelas, así como el rendimiento en arquitecturas multicore.
En este tutorial introduciremos este nuevo paradigma de programación, para luego centrarnos en uno de los lenguajes más populares que lo soporta. Se trata de Unified Parallel C (UPC), una extensión del ISO C para la que ya existen varios compiladores tanto comerciales como académicos. Empezaremos con una visión general del lenguaje, repasando sus principales características, para continuar con una visión en profundidad de toda la especificación, ilustrándola con ejemplos. Finalizaremos con una sesión de prácticas guiadas sobre el supercomputador Finis Terrae facilitado por el Cesga.
Material del curso: Introducción a UPC Turorial UPC Prácticas de UPC

