Venez en toute sécurité dans nos centres ! Voir notre dispositif sanitaire

> Formations > Technologies numériques > Développement logiciel > Python, C, C++ > Formation Python, programmation parallèle et calcul distribué > Formations > Technologies numériques > Formation Python, programmation parallèle et calcul distribué

Python, programmation parallèle et calcul distribué

Python, programmation parallèle et calcul distribué

Télécharger au format pdf Partager cette formation par e-mail


Le succès de Python pour les applications scientifiques (Data science, Big Data, Machine Learning...) requiert de plus en plus de capacités de calculs. Ce cours vous initie au paradigme du calcul parallèle/distribué, des concepts de base aux techniques et librairies les plus avancées de l’écosystème Python.


Inter
Intra
Sur mesure

Cours pratique en présentiel ou en classe à distance

Réf : PYP
Prix : 2390 € HT
  4j - 28h
Pauses-café et
déjeuners offerts




Le succès de Python pour les applications scientifiques (Data science, Big Data, Machine Learning...) requiert de plus en plus de capacités de calculs. Ce cours vous initie au paradigme du calcul parallèle/distribué, des concepts de base aux techniques et librairies les plus avancées de l’écosystème Python.

Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
  • Acquérir les concepts de la programmation parallèle
  • Savoir identifier les portions d’un programme qui sont parallélisables
  • Posséder une vision claire de l’écosystème de calcul parallèle pour Python
  • Développer des applications parallélisées (programmation asynchrone, multithreading, multiprocessing, calcul distribué)
  • Savoir exécuter des calculs sur les GPU des cartes graphiques
  • Savoir exécuter un workflow de tâches dans le Cloud

Public concerné
Développeurs, data scientists, data analysts, chefs de projets.

Prérequis
Bonnes connaissances du langage Python et si possible de ses librairies scientifiques Numpy, Scipy et Pandas.

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Programme de la formation

Le parallélisme et son écosystème Python

  • Les différentes formes du parallélisme et ses architectures (CPU, GPU, ASIC, FPGA, NUMA, OpenMP, MPI... ).
  • Contraintes et limites.
  • L’écosystème de calcul parallèle pour Python.
Travaux pratiques
Profiling d’un programme (cProfile, Kcachegrind et pyprof2calltree). Compiler un programme C avec les instructions SIMD. Bien installer Numpy : comment obtenir un gain de vitesse x40.

Les bases : programmation asynchrone, multithreading et multiprocessing

  • Programmation asynchrone : générateurs et asyncio.
  • Multithreading : accès concurrents, verrous…
  • Limites du multithreading en Python.
  • Multiprocessing : mémoire partagée, pools de process, conditions...
  • Premier cluster de calcul distribué avec les Managers et Proxy.
Travaux pratiques
Réalisation d'une même chaîne de traitement de données avec chaque modèle et d’un cluster de calcul distribué entre les machines des participants.

Calcul distribué : Celery, Dask et PySpark

  • Concepts et configuration.
  • Mise en œuvre de chaque librairie.
Travaux pratiques
Plusieurs exercices seront abordés (calcul matriciel, traitement d’image/texte, Bitcoin, Machine Learning...). Utilisation des notebooks Zeppelin.

Calculer sur GPU

  • Les architectures GPU : kernels, mémoire, threads...
  • Les librairies OpenCL et CUDA.
  • Mise en œuvre des librairies Scikit-cuda, PyCUDA et Numba.
Travaux pratiques
Calcul matriciel et traitement d’images. Machine Learning avec la librairie mxnet : Neural Art. Compilation Just In Time.

Autres librairies de programmation parallèle

  • Message Passing Interface avec MPI4py.
  • PyOpenCL : implémenter un code avec des systèmes hétérogènes.
  • Joblib : Les pipelines légers.
  • Greenlets : vers un meilleur multithreading.
  • Pythran : Compiler vos programmes Python sur architectures multicœurs et vectorisées.
Travaux pratiques
Exercices de base avec chaque librairie.

Créer des workflows de tâches

  • Les primitives disponibles avec Celery, Dask et PySpark.
  • Créer et superviser des workflows avec les librairies Luigi et Airflow.
Travaux pratiques
Création de pipelines de traitements de données avec chaque librairie.

Exécuter des calculs dans le Cloud

  • Panorama de l’offre Internet pour le Cloud.
  • Administrer un cluster avec Ansible.
Travaux pratiques
Effectuer des calculs dans le Cloud.


Solutions de financement
Pour trouver la meilleure solution de financement adaptée à votre situation : contactez votre conseiller formation.
Il vous aidera à choisir parmi les solutions suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.


Avis clients
4,7 / 5
Les avis clients sont issus des évaluations de fin de formation. La note est calculée à partir de l’ensemble des évaluations datant de moins de 12 mois. Seules celles avec un commentaire textuel sont affichées.
DAMIEN R.
14/12/21
5 / 5

Le contenu de la formation est dense et très intéressant, les exercices sont pertinents et permettent de bien comprendre les concepts théoriques abordés. Le support de cours est très complet, facile à utiliser, idéal pour y revenir après, chapeau ! L’animation était très bien réalisé, malgré la formation à distance le suivi était simple et agréable. Le seul point à not
DAVID D.
14/12/21
5 / 5

Le formateur savait parfaitement de quoi il parlait et ses explications étaient très claires.
LE P.
08/06/21
5 / 5

Très complet, assez technique, formateur très compétent.




Horaires
En présentiel, les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
En classe à distance, la formation démarre à partir de 9h.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 15h30 le dernier jour.

Dates et lieux
Pour vous inscrire, sélectionnez la ville et la date de votre choix.
Du 22 au 25 mars 2022
Lyon
S’inscrire
Du 19 au 22 avril 2022
Classe à distance
S’inscrire
Du 19 au 22 avril 2022
Paris La Défense
S’inscrire
Du 17 au 20 mai 2022
Paris La Défense
S’inscrire
Du 17 au 20 mai 2022
Classe à distance
S’inscrire
Du 7 au 10 juin 2022
Lyon
S’inscrire
Du 19 au 22 juillet 2022
Classe à distance
S’inscrire
Du 19 au 22 juillet 2022
Paris La Défense
S’inscrire
Du 30 août au 2 septembre 2022
Lyon
S’inscrire
Du 20 au 23 septembre 2022
Classe à distance
S’inscrire
Du 20 au 23 septembre 2022
Paris La Défense
S’inscrire
Du 11 au 14 octobre 2022
Lyon
S’inscrire
Du 6 au 9 décembre 2022
Classe à distance
S’inscrire
Du 6 au 9 décembre 2022
Paris La Défense
S’inscrire