Les GPU sont des processeurs graphiques pouvant être utilisés comme accélérateurs dans des architectures hybrides pour d'autres applications que la production ou le traitement d'images. La caractéristique principale de ce type de matériels est de développer une puissance de calcul importante relativement à une faible consommation électrique à travers un parallélisme many-cores extrêmement important. Ces performances font des GPU un matériel très populaire dans les domaines de l'intelligence artificielle, de la réalité virtuelle et de l'informatique embarqué. L'obtention de bonnes performances est conditionnée par l'adéquation du parallélisme de l'algorithme avec celui du matériel. Ce cours permet de donner un aperçu de deux techniques courantes de programmation des GPU : CUDA et OpenACC, tout en mettant l'accent sur l'évaluation et l'amélioration des performances des codes produits.
- Enseignant: Jean-Matthieu Etancelin