Introduction à la programmation sur GPU avec OpenACC et OpenMP Présentiel
Dernière mise à jour : 06/10/2025
Description
La formation se déroule sur trois jours et est découpée en parties thématiques. Le contenu du cours est disponible pour les participants avec des Notebooks Jupyter qui permettent d'effectuer des exercices pendant la présentation des concepts de programmation. Un exercice de mise en application complet est proposé aux participants en fin de journée.
1er jour
Nous présentons les concepts de base permettant de faire du portage sur accélérateur graphique (GPU) :
- Différents modèles de programmation disponibles
- Base de l'architecture des GPU
- Directives compilateurs pour la création de régions de calcul sur GPU
- Gestion des transferts de données entre GPU et hôte
2ème et 3ème jours
Nous présentons des concepts plus avancés comme :
- le recouvrement d'activités sur GPU (transferts et calculs)
- la programmation multi-GPU
- l'utilisation de bibliothèques scientifiques accélérées
- la gestion de données structurées complexes
Les participants peuvent effectuer une visite de la salle machine où se situe le supercalculateur Jean Zay du CNRS.
Objectifs de la formation
- Réaliser le portage d'un code de calcul scientifique sur accélérateur graphique
- Identifier les portions de codes pouvant être accélérées et évaluer les performances
- Déterminer les directives OpenACC et OpenMP à utiliser pour avoir un portage juste et performant
Public visé
Prérequis
La formation est donnée en français et les supports sont en anglais. Il est possible pour les personnes non francophones de poser des questions en anglais.
Il est nécessaire de savoir écrire du code de calcul scientifique en C/C++ ou Fortran. Les exemples sont donnés en C et Fortran. Une partie de la formation concerne l'utilisation de plusieurs accélérateurs et nécessite une connaissance en MPI ou OpenMP pour CPU. Il s'agit d'une petite partie de la formation et donc le niveau de maitrise attendu est débutant.
Modalités pédagogiques
Moyens et supports pédagogiques
Les cours contiennent des exercices permettant de mettre en pratique rapidement les concepts appris.
Des Jupyter notebooks du cours et des travaux pratiques, une feuille de triche OpenMP/OpenACC et un fichier PDF du cours seront remis aux participants.
La salle de cours est équipée de PC ; les participants n'ont pas besoin d'apporter de matériel.
Modalités d'évaluation et de suivi
Formateurs
VERY Thibaut
Responsable scientifique
ABRAMKINA Olga
Génie logiciel Intelligence artificielle Science des données Cybersécurité
Responsable scientifique