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 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 marge 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 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, en particulier 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 de calculs les codes accélérés : techniques de réorganisation de codes existants pour faciliter le portage efficaces 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 réponse pratique au comment programmer de telles architectures, tandis que l’aspect architecture est essentiel quand à 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 2024
– 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 2024
– 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 2024
– 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 12 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