Réservez les formations disponibles partout en France !

location-dot
location-dot
location-dot
À partir de
location-dot
image OF
  1. Accueil
  2. Numérique
  3. Développement et langage informatique
  4. Python
  5. Python – calcul parallèle
Python – calcul parallèle

Python – calcul parallèle

Qualiopi
En centre
Non éligible CPF
Sélectionnez une session :

Choisissez une date pour pouvoir réserver !

Objectifs
Programme

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. 

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 es concepts de la programmation parallèle (suite)
✓ 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


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++
Travaux pratiques
Exercices de base illustrant les principes de chacune des librairies
 

Public visé

Développeurs, chefs de projets, data scientists développant des applications scientifiques requérant d'importantes capacités de calculs 

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 

Méthodes pédagogiques

Cette formation est majoritairement pratique. L'ensemble des TP sera réalisé sur des machines
louées dans le cloud et dotées de cartes graphiques NVIDIA ainsi que sur les postes des participants. Les
concepts présentés font l'objet de TP d'illustration afin de permettre leur assimilation. Environ 70% du
temps est consacré à la pratique des librairies présentées. L'interactivité est garantie au travers de TP
réalisés en majeure partie sur les notebooks Jupyter/Lab.

 

Modalités d'évaluation

Formulaire d'autoévaluation en amont et aval de la formation, exercices pratiques de fin de séquences, questionnaires d’évaluation à chaud et à froid 

Choisissez une date pour pouvoir réserver !

Autres formations disponibles :
Prochaines sessions disponibles :04 déc.05 déc.06 déc.09 déc.
Qualiopi
En centre
Non éligible CPF
Prochaines sessions disponibles :09 déc.16 déc.23 déc.30 déc.
Qualiopi
En centre
Non éligible CPF
Prochaines sessions disponibles :09 déc.16 déc.23 déc.30 déc.
Qualiopi
En centre
Non éligible CPF
Prochaines sessions disponibles :09 déc.
Qualiopi
En centre
Éligible CPF
formation
Toulouse (31000)
Python, perfectionnement
Prochaines sessions disponibles :09 déc.09 déc.09 déc.
Qualiopi
En centre
Non éligible CPF
logo ouformer
Réalisation :Definima
Utilisation des cookies

Nous utilisons des cookies pour vous fournir l'ensemble de nos services, notamment la recherche et les alertes. En acceptant, vous consentez à notre utilisation de ces cookies.

Refuser
Accepter