Accueil > Développement Logiciel, Devops > Python, programmation parallèle et calcul distribué
Formation #DEV86

Formation Python, programmation parallèle et calcul distribué

Formation avec Restauration incluse
(Déjeuner, Petit Déjeuner et Pauses Cafés)

Durée : 4 jours

Code : DEV86


Sessions programmées :

Du 16 au 19 Fév. 2021

Du 20 au 23 Avril 2021

Du 22 au 25 Juin 2021

Du 28 Sept. au 01 Oct. 2021

Du 09 au 12 Nov. 2021

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
  • Pour les entreprises AU MAROC :
    Au minimum 10 JOURS OUVRÉS avant la date de formation
  • Pour les entreprises HORS MAROC :
    Au minimum 15 JOURS OUVRÉS avant la date de formation

Formation dans votre entreprise.

Durée : 4 jours

Code : DEV86


Vous souhaitez réaliser cette formation en vos locaux avec le même programme ?

Vous souhaitez personnaliser le programme de cette formation pour qu'elle réponde aux spécificités de votre entreprise ?

Objectifs

  • Appréhender le paradigme de la programmation parallèle
  • Identifier les goulots d'étranglement et les parties parallélisables de votre programme
  • Posséder une bonne compréhension du paysage des librairies de calcul parallèle disponibles pour Python
  • Savoir développer des applications parallélisées
  • Exécuter des calculs sur GPU (cartes graphiques)
  • Créer des workflows de traitement de données
Programme
1/ Etat de l'art de la discipline et concepts de base
  • Comprendre les différentes architectures disponibles pour le calcul parallèle (CPU, GPU, TPU, ASIC, FPGA, NUMA... )
  • Tout n'est pas parallélisable : les limites
  • Présentation du paysage de calcul parallèle avec Python
2/ Les concepts de la programmation parallèle
  • Comprendre la terminologie :
  • programmation asynchrone
  • concurrente
  • distribuée
  • multithreading
  • multiprocessing, ...
  • Multithreading : paralléliser le code de le programme et mettre en oeuvre des concepts de base
  • Comprendre les limites du multithreading en Python
  • Multiprocessing : paralléliser le programme sur plusieurs processeurs et mécanismes de synchronisation (verrous, sémaphores, barrières, pools de process...)
  • Premier cluster de calcul distribué avec les Managers et Proxy
3/ 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
4/ Le Calcule sur GPU
  • Comprendre les architectures GPU : kernels, mémoire, threads, ...
  • Les librairies OpenCL et CUDA
  • Travailler avec des cartes graphiques externes (eGPU)
  • Mise en œuvre des principales librairies Python pour GPU : Cupy, PyCUDA, Numba et RapidsAI
5/ Tour d'horizon des autres librairies Python pour le calcul parallèle
  • La compilation Just In Time avec Numba
  • MPI4Py : Message Passing Interface
  • PyOpenCL : implémenter un code avec des systèmes hétérogènes
  • Joblib : Les pipelines légers
  • Greenlets : vers un meilleur multithreading
  • Pythran : Le transpileur qui convertit votre code Python en C++
6/ Créer des workflows de tâches
  • Présentation des librairies Luigi et Airflow
  • Concevoir et superviser son workflow
7/ Exécution des calculs dans le Cloud
  • Tour d'horizon sur l’offre Internet pour le Cloud
  • Administration d'un cluster avec Ansible
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Développeurs
  • Data scientists
  • Data analysts
  • Chefs de projets
Dates

Dates

  • Du 16 au 19 Fév. 2021
  • Du 20 au 23 Avril 2021
  • Du 22 au 25 Juin 2021
  • Du 28 Sept. au 01 Oct. 2021
  • Du 09 au 12 Nov. 2021
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
    • Pour les entreprises AU MAROC : Au minimum 10 JOURS OUVRÉS avant la date de formation
    • Pour les entreprises HORS MAROC : Au minimum 15 JOURS OUVRÉS avant la date de formation