Formation
Initiation à la programmation sur supercalculateur
avec Python
Public
Ingénieur, chercheur, développeur, data scientist, chef de projet et toute personne souhaitant se former à la programmation parallèle appliquée aux supercalculateurs.
Prérequis
Pratique du langage Python et de ses librairies scientifiques numpy, pandas et matplotlib.
Durée & tarifs
5 jours - 35 heures.
Inter: 2500€ H.T. par personne
Intra: Nous contacter
Objectifs opérationnels
- Utiliser un supercalculateur au quotidien
- Développer des programmes avec MPI
- Utiliser dask et son ecosystème xarray, datashader, prefect...
- Utiliser des GPU pour accéler vos traitements de données
- Déployer vos pipelines de machine learning sur plusieurs noeuds de calculs
- Mettre en oeuvre la compilation Just In Time sur CPU et GPU
Moyens pédagogiques, techniques et évaluations
Nos formations sont majoritairement pratiques (70%).
Chaque concept théorique est illustré par un exemple et suivi d'exercices.
Les supports de cours utilisent des notebooks jupyter et comprennent le cours rédigé, les exercices et
solutions.
Les participants peuvent ainsi redérouler la formation par eux-même après la session.
La formation peut se dérouler en inter-entreprises sur le supercalculateur que nous utilisons pour nos formations ou dans le cas d'une session intra-entreprise, sur votre supercalculateur.
Contactez-nous:
Nous aurons un échange pour définir la prestation qui répondra le mieux à vos attentes.
Dès la contractualisation les inscriptions seront actées dans un délai de 3 mois maximum.
Prochaines dates disponibles: 1er trimestre 2026
Pour les personnes en situation de handicap, merci de le signaler dès le premier contact afin d'envisager les aménagements nécessaires à votre formation.
Programme
Les concepts de la programmation parallèle
- Comprendre les changements du paradigme de programmation induits par la parallélisation
- Panorama des architectures matérielles et logicielles, CPU, GPU, TPU
- Terminologie : multithreading, multiprocessing, processeur, coeur, hyperthreading, NUMA/SMP...
- Profiler votre programme
- Identifier et configurer son matériel pour en tirer les meilleures performances
- Panorama des différentes librairies Python de calcul/traitement parallèle
Le Cray CDC 6600
: le tout premier supercalculateur
Source Wikipédia et Jitze Couperus -
Licence CC BY 2.0
Utiliser un supercalculateur
- Connexion, noeuds de login et calcul
- Utiliser un ordonnanceur (Slurm, PBS...)
- Comprendre l'architecture d'un supercalculateur, noeuds, processeurs, mémoire distribuée, réseau, stockage...
- Exécuter et superviser des jobs avec un ordonnanceur
Frontier
: le tout premier supercalculateur exaflopique
Source Wikipédia et OLCF at ORNL -
Licence CC BY 2.0
Message Passing Interface - MPI
- Présentation des librairies open source MPI
- Les concepts MPI, COMM World, les différents types de messages
- Lancer son programme sur plusieurs noeuds de calculs
- Présentation de différents patrons de conception pour vos pipelines de traitements de données
Jupiter
: le plus puissant supercalculateur européen qui atteint la barre symbolique de l'exaflop (novembre 2025) dont le premier module JEDI se classe
numéro 1 du top Green 500 (juin 2025)
Source Wikipédia et Forschungszentrum Jülich / Sascha Kreklau - Forschungszentrum Jülich -
Licence CC BY 4.0
L'écosystème Dask sur CPU et GPU
- Présentation de dask
- Dask array et dataframes sur CPU et GPU
- Créer un cluster dask CPU et GPU
- Panorama des différentes librairies de l'écosystème Dask
- Visualiser des données avec xarray, Geovista/Pyvista et datashader
- Créer des pipelines de traitement de données
Paralléliser vos pipelines de machine learning
- Rappels sur le machine-learning
- Dask et scikit-learn, sur CPU et GPU
- Paralléliser vos réseaux de neurones Tensorflow et Pytorch sur plusieurs noeuds de calculs
Aurora
: le second (date de mise en service) supercalculateur exaflopique,
classé 3ème au top500 (juin 2025)
numéro 1 au classement io500 (novembre 2025)
Source Wikipédia et Argonne National Laboratory -
Domaine public
Pour aller plus loin
- Utilisation de Paraview
- Compilation Just In Time
