Logo de l'organisme de formation

La formation au coeur de l'avenir technologique

Représentation de la formation : Python - Programmation Parallèle et le Calcul Distribué

Python - Programmation Parallèle et le Calcul Distribué

Formation présentielle
Durée : 14 heures (2 jours)
Durée :14 heures (2 jours)
HT
Se préinscrire
Durée :14 heures (2 jours)
HT
Se préinscrire
Durée :14 heures (2 jours)
HT
Se préinscrire

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

Pour qui
  • développeurs Python
  • ingénieurs logiciels
  • data scientists
  • toute personne souhaitant améliorer les performances de ses programmes Python
Prérequis
  • 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
Équipe pédagogique

Professionnel expert technique et pédagogique.

Suivi de l'exécution et évaluation des résultats
  • 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
Ressources techniques et pédagogiques
  • 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

Qualité et satisfaction

Taux de satisfaction des stagiaires Progression des compétences visées Taux d'abandon Taux de retour des enquêtes Taux d'interruption en cours de prestation