
Calcul à Hautes Performances sur GPU
Mineure de 3ème année à CentraleSupélec
Stéphane Vialle
Le
calcul scientifique sur GPU (ou "GPGPU") est maintenant totalement
intégré au calcul à haute performance (HPC). Les GPU permettent
d'atteindre des performances très élevées pour un coût limité, mais
demandent de maîtriser une algorithmique et une programmation
spécifique, différentes de celles des CPU. Ce cours vise à faire
acquérir aux élèves ces compétences, autant théoriques que pratiques.
Scientific computing on GPU (or "GPGPU") is now fully part of high
performance computing (HPC). GPU allow to reach high performances with
limited cost. But they require a specific algorithmic and programming
knowledge, different of CPU one. This course aims to give these
theoretical and pratical skills to the students.
-
Objectifs et contenu du cours :
Ce
cours à comme premier objectif d’appréhender par la pratique la
programmation des GPU en CUDA. Il présentera l'architecture des GPU,
leur programmation en CUDA, l'optimisation des codes CUDA et
l'utilisation de bilbiothèque CUDA à haute perfomance. Des mises en
oeuvres régulières jaloneront le cours (TD et TP sur GPU). Les concepts
de la programmation des clusters de GPU seront enseignés, ainsi que les
limitations de cette approche.
- Architecture des GPU
- Bases de la programmation CUDA et bonnes pratiques de la programmation CUDA
- Bibliothèque CUBLAS
- Transferts rapides et recouvrement, programmation optimisée (shared memory, kernels auto-adaptatifs, mode SIMD)
- Modélisation et analyse de performances
1 - GPU architecture
|
 |
2 slides per page |
 |
3 slides per page |
 |
6 slides per page |
2 - CUDA basis
|
 | 2 slides per page |
 | 3 slides per page |
 | 6 slides per page |
3 - CUDA best practices
|
 | 2 slides per page |
 | 3 slides per page |
 | 6 slides per page |
4 - CUBLAS library
|
 |
2 slides per page |
 |
3 slides per page |
 |
6 slides per page |
5 - CUDA: fast transfers & overlapping
|
 |
2 slides per page |
 |
3 slides per page |
 |
6 slides per page |
6 - CUDA: optimized programming
|
 | 2 slides per page |
 | 3 slides per page |
 | 6 slides per page |
7 - Feedback on hybrid programming
|
 | 2 slides per page |
 | 3 slides per page |
 | 6 slides per page
|
8 - Performance models
|  | 2 slides per page |  | 3 slides per page |  | 6 slides per page |
- Règles d'évaluation en compétences à partir des comptes rendus de TP : ici
-
Salles de cours (Metz, Janvier-Mars 2020) :
Campus de Metz |
10/01/2020 - B208
17/01/2020 - B208 & A304
24/01/2020 - A304
31/01/2020 - B208 & A304
07/02/2020 - A304
14/02/2020 - B208 & A304
28/02/2020 - B208 & A304
06/03/2020 - B208 & A304
13/03/2020 - IO
|
- J. Sanders and E. Kandrot. "CUDA by Example: An Introduction to General-Purpose GPU Programming". NVIDIA. 2010.