Aller au contenu principal

Python – Calcul parallèle

Date de mise à jour :
Identifiant Offre Info : 03_2205288F
Organisme responsable : Data Value (ouvre dans un nouvel onglet)

Nouvelle recherche

Présentation de la formation

Objectifs

Développer des compétences avancées pour exploiter efficacement les architectures de calcul parallèle en Python, en maîtrisant les techniques de multithreading, multiprocessing, calcul distribué et traitement GPU afin d'optimiser les performances des applications et workflows de traitement de données.

Programme de la formation

- Etat de l'art de la discipline et concepts de base Historique des supercalculateurs Comprendre les différentes architectures disponibles pour le calcul parallèle (CPU, GPU, TPU, ASIC, FPGA, NUMA... ) Tout n'est pas parallélisable : comprendre les limites de la programmation parallèle Présentation du paysage de calcul parallèle avec Python TP - Les concepts de la programmation parallèle Comprendre la terminologie: programmation asynchrone, concurrente, distribuée,…

- Etat de l'art de la discipline et concepts de base
  • Historique des supercalculateurs
  • Comprendre les différentes architectures disponibles pour le calcul parallèle (CPU, GPU, TPU, ASIC, FPGA, NUMA... )
  • Tout n'est pas parallélisable : comprendre les limites de la programmation parallèle
  • Présentation du paysage de calcul parallèle avec Python
TP

- Les concepts de la programmation parallèle
  • Comprendre la terminologie: programmation asynchrone, concurrente, distribuée, multithreading, multiprocessing, ...
  • Multithreading : paralléliser le code de votre programme - mise en oeuvre des concepts de base
  • Comprendre les limites du multithreading en Python
  • Multiprocessing : paralléliser votre programme sur plusieurs processeurs et mécanismes de synchronisation (verrous, sémaphores, barrières, pools de process...)
TP

- Le calcul sur GPU
Un GPU ne se programme pas comme un CPU.
  • Comprendre les architectures GPU : kernels, mémoire, threads, ...
  • Travailler avec des cartes graphiques externes (eGPU)
  • Mise en œuvre des principales librairies Python pour GPU: Cupy, PyCUDA, Numba et RapidsAI
TP

- Calcul distribué
  • Les principales librairies : Celery, Dask et PySpark
  • Déployer et superviser un cluster de calcul parallèle avec chacune des librairies
  • Exécuter des calculs sur un cluster
TP

- Créer un pipeline de traitement de données
  • Présentation des librairies Luigi et Airflow
  • Concevoir et superviser son workflow
TP

- Tour d'horizon des autres librairies Python pour le calcul parallèle
  • La compilation Just In Time avec Numba
  • Greenlets : vers un meilleur multithreading
  • MPI4Py : Message Passing Interface
  • Pythran : Le transpileur qui convertit votre code Python en C++
TP

Validation et sanction

- Appréhender le paysage de calcul parallèle avec Python
- Maîtriser les concepts et terminologies de la programmation parallèle
- Identifier les goulots d'étranglement et les parties parallélisables de votre programme
- Utiliser efficacement les librairies de calcul parallèle en Python
- Savoir développer des applications parallélisées (multithreading, multiprocessing, calcul distribué, cloud computing)
- Exécuter des calculs sur GPU (cartes graphiques)
- Créer des workflows de traitement de données

Type de formation

Non certifiante

Niveau de sortie

Sans niveau spécifique

Durée, rythme, financement

Modalités pédagogiques

Pédagogie active mêlant exposés, exercices et applications pratiques dans le logiciel Python.

Durée

En centre

35 h

Financement

Conventionnement
Oui
Financeurs
  • Bénéficiaire de l'action

    Programme : Entreprise, Individuel (AIF, POEI, Région individuel, autofinancement)

    Publics : Développeurs, chefs de projets, data scientists développant des applications scientifiques requérant d'importantes capacités de calculs

  • Entreprise

    Programme : Entreprise, Individuel (AIF, POEI, Région individuel, autofinancement)

    Publics : Développeurs, chefs de projets, data scientists développant des applications scientifiques requérant d'importantes capacités de calculs

Conditions d'accès

Publics visés

  • Salarié
  • Tout public

Informations sur les publics

Développeurs, chefs de projets, data scientists développant des applications scientifiques requérant d'importantes capacités de calculs

Niveau d'entrée

Sans niveau spécifique

Conditions spécifiques et prérequis

Pour suivre ce stage dans de bonnes conditions, il est recommandé d'avoir suivi en amont la formation Python – Bases et introduction aux librairies scientifiques ou d'avoir atteint par la pratique un niveau équivalent

Lieu de réalisation de l'action

Modalités d'enseignement

Formation entièrement en présentielle

Adresse

33 Rue de la République
69002 Lyon 2e

Responsable : ASI

Périodes prévisibles de déroulement des sessions

Début

Fin

Adresse d'inscription
41 rue de la Découverte
31676 Labège
État du recrutement
Ouvert
Modalités
Entrées / Sorties à dates fixes