
Python - Programmation Parallèle et le Calcul Distribué
Formation créée le 18/07/2023. Dernière mise à jour le 01/09/2023.
Version du programme : 1
Programme de la formation
Objectif de formation: Cette formation vise à fournir aux participants les compétences nécessaires pour exploiter la puissance de la programmation parallèle et du calcul distribué en utilisant Python. Les participants apprendront les concepts, les techniques et les outils pour accélérer l'exécution des programmes, optimiser les ressources et résoudre des problèmes de grande envergure en utilisant des approches parallèles et distribuées.
Objectifs de la formation
- Comprendre les concepts et les principes de la programmation parallèle et du calcul distribué
- Utiliser les bibliothèques de programmation parallèle en Python pour exploiter les ressources multicœurs
- Maîtriser les techniques de calcul distribué avec dask pour résoudre des problèmes de grande envergure
- Optimiser les performances des programmes Python en utilisant des techniques d'optimisation appropriées
- Acquérir les compétences nécessaires pour concevoir et mettre en œuvre des solutions parallèles et distribuées en Python
Profil des bénéficiaires
- développeurs Python
- ingénieurs logiciels
- data scientists
- toute personne souhaitant améliorer les performances de ses programmes Python
- Connaissance de base de la programmation Python
- Compréhension des concepts fondamentaux de la programmation informatique
Contenu de la formation
-
Introduction à la Programmation Parallèle et au Calcul Distribué (3 heures)
- Les concepts clés de la programmation parallèle et du calcul distribué
- Les avantages et les défis de l'utilisation de ces approches en Python
- Les modèles de programmation parallèle (ex. : multiprocessing, multithreading) et les architectures distribuées (ex. : client-serveur, calcul en grille)
-
Bibliothèques de Programmation Parallèle en Python (4 heures)
- Utilisation de la bibliothèque multiprocessing pour exploiter les ressources multicœurs
- La gestion des processus, des tâches et de la communication entre les processus
- L'utilisation de la bibliothèque concurrent.futures pour exécuter des tâches asynchrones et parallèles
- Travaux pratiques : Programmation parallèle avec multiprocessing et concurrent.futures
-
Calcul Distribué avec Python (4 heures)
- L'utilisation de la bibliothèque de calcul distribué dask pour gérer des tâches distribuées
- La création et la manipulation de tableaux de données distribués avec dask.dataframe
- L'exécution de calculs parallèles sur des clusters de machines avec dask.distributed
- Travaux pratiques : Calcul distribué avec dask sur un cluster de machines
-
Optimisation des Performances en Python (3 heures)
- Les techniques d'optimisation des performances en Python
- L'utilisation de la compilation JIT (Just-In-Time) avec Numba
- L'accélération des calculs avec NumPy, pandas et autres bibliothèques optimisées
- Travaux pratiques : Optimisation des performances de code en Python
Professionnel expert technique et pédagogique.
- Feuilles de présence
- Mises en situation
- Formulaires d'évaluation de la formation
- Certificat de réalisation de l’action de formation
- Émargement numérique
- Documents supports de formation projetés
- Exposés théoriques
- Etude de cas concrets
- Mise à disposition en ligne de documents supports à la suite de la formation
- Espace intranet de formation