Retour

Python – Calcul parallèle

Objectifs de la formation

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.

Contenu 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 Travaux pratiques Identifier les capacités matérielles de votre ordinateur. Mesurer les performances/limites de votre configuration (disques, mémoire, processeurs, ...). Configurer son environnement de calcul parallèle. Administrer une ferme de serveurs avec ansible - 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...) Travaux pratiques Application des concepts de base aux travers d'exercices pratiques. Mesurer les différences de performances entre les librairies multithreading et multiprocessing. Premier cluster de calcul distribué avec les Managers et Proxy. - 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 Travaux pratiques Identifier quand un GPU devient plus intéressant qu'un CPU. Traitement d'images, calcul matriciel, tester la fiabilité d'un mot de passe, ... - 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 Travaux pratiques Batch de tâches avec Celery. Calcul numérique et analyse de données avec Dask (array et dataframe) Analyse de données avec les DataFrames Spark et la librairie Koalas. - Créer un pipeline de traitement de données Présentation des librairies Luigi et Airflow Concevoir et superviser son workflow Travaux pratiques Réaliser un workflow sur un ensemble de fichiers volumineux et le superviser avec Airflow. &

Résultats de la formation

Attestation de formation

Conditions spécifiques d'accès à la formation

Pour suivre ce stage dans de bonnes conditions, il est recommande d avoir suivi en amont la formationPython - Bases et introduction aux librairies scientifiquesou d avoir atteint par la pratique un niveau equivalent

Formation 100% en ligne

Métier formé

Développement

Niveau d'étude visé

Sans le Bac

Type d'immersion professionnelle

Formation initiale

Organisme de formation

Data Value

Durée de la formation

19 mois

Prochaine(s) session(s)

  • 01/01/2025 - 31/07/2026