ORSYS formation
CONTACT - +352 26 49 79 1204
CONTACT - 📞 +352 26 49 79 1204    drapeau francais   drapeau anglais

Consult our trainings :

Python, programmation parallèle et calcul distribué Training

Stage pratique
New
Duration : 4 days
Ref : PYP
Price  2020 : Contact us
  • Program
  • Participants / Prerequisite
  • Intra/Tailored
Program

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

  • 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

Méthodes pédagogiques

70% du temps est consacré à la mise en pratique des concepts et librairies présentées. L’utilisation des notebooks Jupyter et l’exécution de code dans le Cloud apportent une réelle interactivité.
PROGRAMME DE 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.

Participants / Prerequisite

» Participants

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

» Prerequisite

Bonnes connaissances du langage Python et si possible de ses librairies scientifiques Numpy, Scipy et Pandas.
Intra/Tailored

Contact Informations

By checking this box, I certify that I have read and accepted the conditions for the use of my data regarding the General Data Protection Regulation (GDPR).
You can at any time modify the use of your data and exercise your rights by sending an email to rgpd@orsys.fr
By checking this box, I agree to receive commercial and promotional communications from ORSYS Training*. You can unsubscribe at any time by using the link included in our communications.

Book your place

Click on a session for reserving.

Time schedule

Generally, courses take place from 9:00 to 12:30 and from 14:00 to 17:30.
However, on the first day attendees are welcomed from 8:45, and there is a presentation of the session between 9:15 and 9:30.
The course itself begins at 9:30. For the 4- or 5-day hands-on courses, the sessions finish at 15:30 on the last day
linkedin orsys
twitter orsys
it! orsys
instagram orsys
pinterest orsys
facebook orsys
youtube orsys
LA LETTRE DE
LA TRANSFORMATION DIGITALE
Recevez la newsletter