Ecole d’été d’informatique 2025
Portable Performance Programming on GPU
Contexte scientifique
Le thème principal de cette école concerne la programmation des architectures matérielles complexes (calculateur avec accélérateurs) pour des codes de simulation.
Ces dernières années, la variété des architectures de super-calculateur a augmenté. Cependant, le dénominateur commun de toutes les architectures à très hautes performances est l’utilisation d’unités de calcul spécialisées, en complément du processeur généraliste. Le terme générique d’accélérateur est utilisé pour décrire de telles machines.
L’hétérogénéité des calculateurs est source de difficultés de programmation mais la complémentarité des unités de calcul pour traiter les différentes tâches permet d’obtenir des performances, tant calculatoires qu’énergétiques, inatteignables par des machines homogènes plus classiques.
Ce problème est rencontré par toutes les applications scientifiques HPC, et des actions sont mises en place dans tous les instituts de recherche, en particulier au CEA, à EDF et à l’INRIA.
Contenu
Orienté calcul haute performance (HPC), le programme vise à former des participants sur l’utilisation efficace de techniques GPU sur un super-calculateur actuel.
Le programme est articulé selon 3 axes principaux :
– Connaissance de l’architecture des machines accélérées, notamment des particularités des GPU et des différences fondamentales avec des CPU.
– Technique de programmation optimisée portable CPU-GPU : utilisation de la bibliothèque Kokkos.
– Architecture des codes pour le calcul accéléré : techniques de réorganisation de codes existants pour faciliter le portage efficace sur GPU.
Ces 3 domaines de compétences sont complémentaires et indispensables pour l’obtention de codes efficaces sur les machines accélérées. La connaissance de l’architecture matérielle permet d’anticiper les paradigmes performants, la bibliothèque Kokkos est une des réponses pratiques possibles (mais pas la seule) au comment programmer de telles architectures, tandis que l’aspect architecture logicielle est essentiel quant à la bonne utilisation du matériel.
Les travaux dirigés seront illustrés sur un super-calculateur muni de GPU.
Programme préliminaire
– Lundi 23 juin 2025
– 9h – 12h : Cours sur les architectures matérielles
– 14h – 17h : Expérimentations et manipulation sur la machine Romeo
– 17h – 18h : Visite calculateur Romeo
– Mardi 24 juin 2025
– 9h – 12h : Cours Kokkos, D. Lebrun-Grandié
– 14h – 17h : Travaux pratiques Kokkos, D. Lebrun-Grandié
– 17h – 18h : Séminaire retour d’expérience CEA
– Mercredi 25 juin 2025
– 9h – 12h : Cours Kokkos, D. Lebrun-Grandié
– 14h – 17h : Travaux pratiques Kokkos, D. Lebrun-Grandié
– 17h – 18h : Séminaire retour d’expérience EDF
– Jeudi 26 juin 2025
– 9h – 12h : Cours Kokkos avancé, D. Lebrun-Grandié
– 14h – 17h : Travaux pratiques Kokkos, D. Lebrun-Grandié
– 17h – 18h : Séminaire retour d’expérience CEA
– Vendredi 27 juin 2025
– 9h – 12h : Cours Architecture Logicielle pour des codes Accélérés
– 14 – 16h : Travaux pratiques architecture de codes
Informations pratiques
Date
23 juin – 27 juin 2025
Lieu
Reims
Inscription
Pour pouvoir participer, merci de remplir le formulaire d’inscription et l’envoyer avant le 30 mai 2025 à Régis Vizet.
Pré-requis
Connaissance en programmation parallèle et C++.
Bien que les concepts ne soient pas étroitement liés à un langage de programmation, les techniques pratiques seront uniquement présentées en C++. Par exemple, les technologies équivalentes en Fortran pour la programmation GPU sont souvent moins matures et rendraient difficile la partie pratique. Les séminaires pourront par contre relater des développements en Python ou Fortran.
Contacts
Sécretariat des écoles
Régis Vizet – CEA
tel: 01 69 26 47 45
Fax: 01 69 26 70 05
Coordinateurs de l’école d’informatique 2025
Cédric Chevalier