Objectif :
Cette formation permet de se familiariser avec les outils et stratégies de programmation parallèle sur cartes graphiques programmables via le langage CUDA.
Bénéfices attendus :
Connaître les principes généraux des GPGPUs.
Se familiariser avec la programmation sur GPGPU.
Se familiariser avec les stratégies d’optimisation sur GPGPU.
Public :
Ingénieurs, techniciens et scientifiques désirant s’initier à la programmation sur carte graphique.
Une première expérience en C++ est nécessaire.
Programme :
Introduction
Historique des architectures modernes
La fin de la loi de Moore
Architecture de base des GPGPUS
Le langage CUDA
Principes généraux
Notion de kernel
Notion de fonction device
Blocs et Threads
Gestion de la mémoire
Types de mémoire
Mise en pratique : exercices, évaluation
Stratégie de parallélisation
Opération point à point
Réduction
Opération à voisinage
Flux asynchrone et multi-buffering
Évènements asynchrones
Mise en pratique : exercices, évaluation
Outils annexes
cuBLAS
cuFFT
Thrust
CUB
Mise en pratique : exercices, évaluation