Python – Calcul parallèle
Date de mise à jour :
Identifiant Offre Info : 03_2205288F
Organisme responsable :
Data Value
(ouvre dans un nouvel onglet)
Présentation de la formation
Objectifs
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,…
- 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
- 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...)
- 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
- 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
- Créer un pipeline de traitement de données
- Présentation des librairies Luigi et Airflow
- Concevoir et superviser son workflow
- 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++
Validation et sanction
- 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
- Entreprise
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épublique69002 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