Maître de Conférences en Informatique à l'Université d'Angers
Ce site est en cours de reconstruction certains liens peuvent ne pas fonctionner ou certaines images peuvent ne pas s'afficher.
Connaître, c'est comprendre toute chose au mieux de nos intérêts.
Friedrich Nietzsche (1844 - 1900)
La programmation sur GPU (Graphics Processing Unit) a été rendue possible grâce à l'ouverture des opérations du pipeline graphique au programmeur ainsi que par la modification de l'architecture des cartes graphiques. Le GPU peut alors être considéré comme un co-processeur capable de seconder le processeur lorsque des traitements sont hautement parallélisables.
CUDA (Compute Unified Device Architecture) de NVidia, qui permet notamment de programmer des calculs sur le GPU en langage C, est devenu un standard incontournable et une alternative très intéressante en terme de coût et d'efficacité pour le calcul parallèle par rapport aux clusters de machines.
En 2008, le supercalculateur Bull NovaScale était un cluster associant :
Le cours est organisé en cinq chapitres
L'évaluation (entre 2h30 et 3h) consiste en la parallélisation d'un programme en utilisant OpenMP et MPI.
On part d'un programme séquentiel et on vous demande de le paralléliser.
On demande également l'écriture de programmes (shell) de test ainsi que le calcul des métriques comme l'accélération théorique de Amdhal et la métrique de Karp-Flatt.