Programmation en GPU
Enseignant
Crédits ECTS :
2
Heures de cours :
12
Heures de TD :
0
Langue :
Français
Modalité d'examen :
mém.
Objectif
Ce cours introduit de façon simple et efficace à la simulation sur cartes graphiques, ou GPU (Graphics Processing Units).
Il est agencé autour de la simulation Monte Carlo fortement adaptée à la parallélisation. Il permet ainsi de se concentrer sur les optimisations permises par l'architecture du GPU.
A l’issue de ce cours, les étudiants doivent être capable de programmer et optimiser un code CUDA/C sur GPU lors de la réalisation d’un projet.
Prérequis: C++
Plan
- Seance 1 (3h) : Premier programme de simulation Monte Carlo sur GPU.
- Seance 2 (3h) : Introduction à la memoire GPU : Registers, shared, global & Unified.
- Seance 3 (3h) : Communication entre threads et entre lanes, asynchronisme et concurrence.
- Seance 4 (3h) : Meilleur programme de simulation Monte Carlo sur GPU.
Références
- CUDA C Programming Guide, Nvidia, 2017
- Jason Sanders & Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison Wesley, 2010
- Shane Cook, CUDA Programming: A Developer's Guide to Parallel Computing with GPUs, Morgan Kaufmann, 2012