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.

Contactez-nous

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

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 premier supercalculateur a avoir passé la barre de l'exaflop

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, premier au top Green 500

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

Pour aller plus loin

  • Utilisation de Paraview
  • Compilation Just In Time
A venir Calcul en cours...

Contactez-nous