> Formations > Technologies numériques > Développement logiciel > Python > Formation Python HPC super calculateur

Formation : Python HPC super calculateur

Python HPC super calculateur




Python est devenu en quelques années le langage de programmation privilégié de toutes les disciplines scientifiques. Bien qu’il soit interprété, ses librairies scientifiques sont particulièrement performantes car écrites dans des langages compilés, comme C/Cython et très bien parallélisées. Aujourd’hui la lenteur du langage n’est plus un frein et il fonctionne sur les plus puissants des supercalculateurs de la planète. Nous vous proposons d’apprendre les concepts de la programmation parallèle appliquée au HPC au travers des meilleures librairies Python utilisables sur ces environnements.


INTER
INTRA
SUR MESURE

Cours pratique en présentiel ou à distance

Réf. PYC
  5j - 35h00
Prix : 3030 CHF H.T.




Python est devenu en quelques années le langage de programmation privilégié de toutes les disciplines scientifiques. Bien qu’il soit interprété, ses librairies scientifiques sont particulièrement performantes car écrites dans des langages compilés, comme C/Cython et très bien parallélisées. Aujourd’hui la lenteur du langage n’est plus un frein et il fonctionne sur les plus puissants des supercalculateurs de la planète. Nous vous proposons d’apprendre les concepts de la programmation parallèle appliquée au HPC au travers des meilleures librairies Python utilisables sur ces environnements.


Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
Posséder une bonne compréhension des concepts des supercalculateurs et de leur programmation
Connaître les librairies Python adaptées au calcul sur HPC
Développer des algorithmes sur supercalculateur avec les librairies MPI4Py, Dask, Xarray, Dask+Scikit-Learn, PyTorch…
Exécuter des workflows avec Prefect
Visualiser des données volumineuses avec DataShader

Public concerné
Ingénieurs, développeurs, chercheurs, data scientistes, data analystes et toute personne ayant de forts besoins en capacité de calculs avec Python.

Prérequis
Pratique du langage Python, connaissance des librairies numpy et pandas.
Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en faisant  ce test.

Méthodes et moyens pédagogiques
Méthodes pédagogiques
Les travaux pratiques seront réalisés sur un supercalculateur (type Exaion).

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Programme de la formation

1
Découvrir les supercalculateurs

  • Rétrospective du tout premier supercalculateur au plus puissant d’aujourd’hui.
  • Qu'est-ce qu’un supercalculateur ?
  • Principes et caractéristiques fondamentales : capacités de calcul, capacité réseau et capacité de stockage.
  • Les différents classements : Top500, Green500, io500.
  • Comment se programme un supercalculateur : les ordonnanceurs/gestionnaires de ressources : SLURM, PBS, ...
  • Présentation du supercalculateur Exaion sur lequel nous travaillerons.
Travaux pratiques
Prise en main du supercalculateur Exaion : connexion, installation d’un environnement virtuel et exécution de premiers jobs avec Slurm.

2
Programmation MPI

  • Présentation rapide des bases du calcul parallèle avec Python : multithreading, multiprocessing, GIL.
  • Les concepts MPI et les différentes librairies disponibles.
  • Les différentes primitives : send/receive, scatter/gather, broadcast/reduce, pools de process...
Travaux pratiques
Implémentation de différentes problématiques mettant en œuvre les principales primitives : traitement d’un lot d’images, calcul des décimales de PI...

3
Programmation MPI, les applications

  • Présentation d'exemples d’applications MPI.
Travaux pratiques
Poursuite des travaux pratiques mettant en œuvre les principales primitives.

4
Dask et son écosystème

  • Prise en main de dask : les concepts de base, dask array et dataframe.
  • Les autres composants de dask : delayed, futures et bags.
  • Dask sur HPC : Scheduler et workers, créer un cluster dask : Cluster MPI/Slurm...
  • Panorama des différentes librairies de l’écosystème Dask.
  • Manipuler des fichiers NetCDF avec XArray.
Travaux pratiques
Analyse de séries temporelles et climatiques, classifications et régressions avec Dask+Scikit-Learn, visualisation de données cartographiques.

5
Dask et les données volumineuses

  • Visualiser des données volumineuses avec DataShader et Xarray.
  • Créer des pipelines/workflows avec Prefect.
  • DaskML : déployer vos algorithmes de machine learning sur HPC.
Travaux pratiques
Poursuite des travaux pratiques sur les analyses et les visualisations de données.

6
Calculer sur GPU

  • Les concepts du calcul sur GPU avec Python : matériels, librairies.
  • Fonctionnement d’un GPU.
  • Dask sur GPU : Créer un cluster CUDA.
  • Machine-learning avec PyTorchLightning et RapidsAI.
Travaux pratiques
Mise en œuvre de base avec les librairies PyCuda et Cupy. Manipulation de dataframes avec Dask-CUDF. Machine learning appliqué sur plusieurs nœuds de calculs et plusieurs GPU.


Dates et lieux

Dernières places
Date garantie en présentiel ou à distance
Session garantie
Du 23 au 27 juin 2025
FR
Classe à distance
S’inscrire
Du 29 septembre au 3 octobre 2025
FR
Classe à distance
S’inscrire
Du 17 au 21 novembre 2025
FR
Classe à distance
S’inscrire