Aller au contenu principal
  • Cours pratique
  • Informatique

Formation Python programmation parallèle et calcul distribué dans le Cloud

Exploiter le parallélisme, le calcul distribué et le Cloud avec Python

Demander un devis
Une formatrice accompagne deux participants penchés sur leurs notes, en salle de formation
Durée
4 jours
Niveau
Fondamental
Modalités
Présentiel / Distanciel

Description de la formation Python calcul distribue

Qu’est-ce que le calcul distribué avec Python ?

Le calcul distribué permet de répartir les traitements lourds sur plusieurs cœurs, machines ou nœuds cloud. Python, grâce à ses bibliothèques modernes (NumPy, Dask, Ray, Airflow…), offre des solutions puissantes pour paralléliser et distribuer des workloads intensifs.

Pourquoi suivre une formation Python, calcul distribué ?

Cette formation répond aux besoins croissants d’optimisation des performances dans les environnements de data science et d’ingénierie logicielle. Elle permet d’apprendre à exploiter efficacement les capacités multicœurs, GPU et Cloud pour exécuter des tâches massives, tout en améliorant la scalabilité et la reproductibilité des pipelines de données.

Atelier en salle : une participante présente des notes au tableau

Objectifs pédagogiques

À l'issue de cette formation Python, calcul distribué, vous aurez acquis les connaissances nécessaires pour :

  • Comprendre les fondements du calcul parallèle et distribué en Python.
  • Choisir le modèle adapté (multithreading, multiprocessing, asyncio, vectorisation, GPU).
  • Optimiser des traitements intensifs avec NumPy, Numba et Polars.
  • Construire des pipelines distribués avec Dask et Ray.
  • Orchestrer des workflows parallèles avec Apache Airflow.
  • Déployer et exécuter des workloads dans le Cloud (GCP).

Objectifs opérationnels

Savoir concevoir, optimiser et exécuter des traitements parallèles et distribués en Python, localement et dans le Cloud 

Programme

Contenu du cours

Jour 1

Parallélisme en Python : modèles, limites et bonnes pratiques

Typologie des workloads : 
- CPU-bound
-  I/O-bound 
- GPU-bound
Scalabilité : 
- vertical vs horizontal 
- concepts MIMD / SIMD (vision simplifiée)
Modèle d’exécution Python : 
- GIL et conséquences sur le parallélisme.
Évolution du langage 
- vers un Python no-GIL.
Programmation asynchrone : 
- générateurs
- coroutines 
- asyncio.
Multithreading :
- accès concurrents
- verrous
- contention et limites liées au GIL
Multiprocessing :
- processus indépendants
- pools de processus
- sérialisation
Profilage CPU : 
- cProfile
- line_profiler
- py-spy
Environnements reproductibles : 
- création et gestion via uv

Travaux pratiquesOptimisation d’un traitement d’images : comparaison threading vs multiprocessing.Jour 2

Optimisation locale : vectorisation, JIT et GPU

NumPy avancé : 
- vectorisation, broadcasting
- élimination des boucles Python
Polars : 
moteur multithread Rust
- exécution lazy
- optimisation automatique
Formats colonnes : 
- Parquet et Arrow pour le traitement massif.
Compilation JIT Numba : 
- mode nopython
- boucles parallèles
- limitations
Accélération GPU : 
- kernels Numba CUDA
- blocs/threads

Travaux pratiquesSimulation Monte-Carlo accélérée par Numba.Jour 3

Calcul distribué : Dask, Ray et Airflow

Dask : DataFrame, Bag, Delayed ; scheduler distribué ; tableau de bord.
Dask : gestion des workers, spill-to-disk, shuffle et optimisations.
Ray : tasks, actors, parallélisme dynamique, patterns map/reduce.
Ray : gestion d’état, autoscaling local, debugging distribué.
Airflow : concepts de base — DAG, Operators, Scheduler.
Airflow : orchestration de workflows Python distribués.
Airflow : déclenchement de jobs Dask ou Ray.

Travaux pratiquesCréation d’un DAG Airflow orchestrant un pipeline complet.Jour 4

Cloud : exécution distribuée avec GKE, Cloud Run Jobs et Cloud Batch

Conteneurisation pour workloads calculatoires : Docker multi-stage + uv.
GKE Autopilot : déploiement d’un cluster Dask/Ray sans gestion de noeuds.
Cloud Run Jobs : 
- exécution de conteneurs batch
- montée en charge automatique
Cloud Batch : 
- exécutions massives CPU/GPU
- parallélisation simple sans orchestration manuelle
Google Cloud Storage : 
- stockage Parquet/Arrow
- lecture distribuée
- partitionnement
Monitoring : 
- logs job
- métriques 
- suivi Dask/Ray dans GKE

Travaux pratiquesExécution d’un job sur des données de la blockchain

Travaux pratiques

Chaque module comporte des ateliers concrets représentant environ 50 % de la durée. Les stagiaires expérimentent le parallélisme, la vectorisation, la distribution et le déploiement Cloud via Dask, Ray et GCP.

Programme mis à jour le 19/02/2026

Formations liées