Volumes horaires
- CM 24.0
- Projet -
- TD -
- Stage -
- TP 12.0
- DS -
Crédits ECTS
Crédits ECTS 3.0
Objectif(s)
Cet enseignement porte sur l'appropriation des technologies liées aux accélérateurs. Il aborde les aspects matériels (architecture des accélérateurs, niveaux de mémoire), logiciels (CUDA, OpenCL) et les aspects algorithmiques (tiling, reduction, pipelining). Le processus de conception d'une application utilisant des accélérateurs est également introduit.
Christophe PICARD
Contenu(s)
- Introduction au parallélisme et premiers éléments d'architecture
Organisation de la mémoire et Organisation des structures de calculs - Présentation de différents outils de programmation
Elements de langages en OpenCL/CUDA - Optimisations mémoire des calculs
Hiérarchie de la mémoire et organisation des traitements. - Patrons de programmation parallèle
Etude de différentes patrons parallèles. - Programmation hétérogène
Découpage des tâches entre les CPU et les accélérateurs - Projet
Programmation en C/C++, Algorithmique
CONTRÔLE CONTINU :
Type d'évaluation : Projet
SESSION NORMALE :
Type d'examen : écrit
Durée : 2h00
Documents autorisés : aucun
Matériel: aucun
SESSION DE RATTRAPAGE :
Type d'examen : écrit
Durée : 2h00
Documents autorisés : aucun
Matériel: aucun
N1 = 0,75 * NPR + 0,25 E1
N2 = 0,5 * NPR + 0,5 E2
NPR = Evaluation du projet
E1 = Examen écrit
E2 = Examen de rattrapage écrit
L'examen existe uniquement en anglais
Le cours est programmé dans ces filières :
- Cursus ingénieur - Filière MMIS - Semestre 9 (ce cours est donné uniquement en anglais )
Code de l'enseignement : 5MMGPUHP
Langue(s) d'enseignement :
Vous pouvez retrouver ce cours dans la liste de tous les cours.
Parallel Computing: Principles and Practice - T. J. Fountain
Patterns for Parallel Programming - Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill
Introduction to Parallel Computing - Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta
CUDA by Example: An Introduction to General-Purpose GPU Programming - Jason Sanders, Edward Kandrot
Heterogeneous Computing with OpenCL de Benedict Gaster