> Formations > Technologies numériques > Développement logiciel > Python > Formation Python HPC super calculateur > Formations > Technologies numériques > 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 en classe à distance
Disponible en anglais, à la demande

Réf. PYC
  5j - 35h00
Prix : 3030 € H.T.
Pauses-café et
déjeuners offerts




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

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.

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...

Programmation MPI, les applications

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

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.

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.

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.


Solutions de financement
Plusieurs solutions existent pour financer votre formation et dépendent de votre situation professionnelle.
Découvrez-les sur notre page Comment financer sa formation ou contactez votre conseiller formation.

Horaires
les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 16h le dernier jour.

Dates et lieux
Sélectionnez votre lieu ou optez pour la classe à distance puis choisissez votre date.
Classe à distance
Dernières places
Session garantie