> formation Technologies numériques > formation Développement logiciel > formation Python, C, C_plus_plus > formation C/C_plus_plus, programmer ses applications en Multicore

Avis loadedNote : 4,1Length : 4TotalNote : 65TotalNote20 : 1
Toutes nos formations Python, C, C++

Formation C/C++, programmer ses applications en Multicore

4,1 / 5
Stage pratique
Durée : 3 jours
Réf : MUC
Prix  2021 : 1990 € H.T.
Pauses et déjeuners offerts
  • Programme
  • Participants / Prérequis
  • Intra / sur-mesure
  • avis clients
Programme

Vous découvrirez les architectures Multicore et leur programmation, les techniques de mise en œuvre d'une approche multithread ou multiprocessus et les langages dédiés à la programmation parallèle. Vous étudierez également les contraintes en matière de synchronisation d'accès aux données et les précautions à prendre.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :
  • Maîtriser les enjeux de la programmation Multicore
  • Concevoir et développer des applications à base de threads et de processus
  • Maîtriser les modèles de programmation parallèle et les librairies disponibles
  • Déboguer et profiler des applications Multicore

Travaux pratiques

Les travaux pratiques seront réalisés en C/C++ sous Visual Studio en environnement Windows.
PROGRAMME DE FORMATION

Introduction

  • Enjeux de la programmation Multicore.
  • Tableau des technologies utilisables : processus, thread et parallélisme.
  • Description du fonctionnement d'un processeur.
  • Architecture en "Hyperthreading".
  • Architectures des processeurs INTEL et AMD.
  • Architectures NVidia et API.
  • Architecture en mémoire partagée vs mémoire distribuée.

Modélisation des applications

  • Importance des aspects modélisation.
  • Patterns de mise en parallèle des traitements.
  • Utilisation des mécanismes asynchrones.
  • Développer une nouvelle application : précautions et modélisation. Eviter les "singletons".
  • Modifier une application existante en Multicore.
  • Choix d'architecture : un compromis synchronisation et performance. Choix multiprocessus/multithreads.

Threads

  • Apport des threads dans une application industrielle.
  • Ordonnancement des threads.
  • Gestion des stacks et "call stack" dans les threads.
  • Débogueurs multithreads.
  • Gestion des objets de synchronisation : sections critiques, Mutex et Sémaphores.
  • Développer "thread safe".
  • API de threads TBB, Clik++, C++11, boost threads, pthreads.

Travaux pratiques
Threads et synchronisation en C/C++.

Processus

  • Espaces d'adressage des processus, organisation.
  • Critères de choix d'une approche multiprocessus.
  • Techniques de communication interprocessus (IPC).
  • Outils de debugging multiprocessus.
  • Avantage et inconvénients des techniques multiprocessus.

Travaux pratiques
Gestion de traitements asynchrones avec l'API C/C++.

La programmation parallèle

  • Apport et objectifs de la programmation parallèle.
  • La librairie "OpenMP" C++ (programmation mémoire partagée).
  • La librairie "OpenMPI" (programmation mémoire distribuée).
  • Utiliser les GPU des cartes graphiques pour le calcul.
  • Kits de NVidia (CUDA) et ATI.
  • La librairie "OpenAcc" pour la programmation GPU.
  • La librairie "OpenCL" pour la programmation parallèle CPU et GPU.

Travaux pratiques
Paralléliser des algorithmes avec "OpenMP" en C++. Utilisation de l'API OpenCL.

Synthèse et conclusion

  • Conclusion des techniques étudiées.
  • Avenir du C++ avec le multicore.
Participants / Prérequis

» Participants

Développeurs, architectes logiciels, chefs de projet.

» Prérequis

Bonnes connaissances de C ou de C++. Connaissances de base des concepts liés aux applications Multicore.
Intra / sur-mesure

Demande de devis intra-entreprise
(réponse sous 48h)

Vos coordonnées

En cochant cette case, j’atteste avoir lu et accepté les conditions liées à l’usage de mes données dans le cadre de la réglementation sur la protection des données à caractère personnel (RGPD).
Vous pouvez à tout moment modifier l’usage de vos données et exercer vos droits en envoyant un email à l’adresse rgpd@orsys.fr
En cochant cette case, j’accepte de recevoir les communications à vocation commerciale et promotionnelle de la part d’ORSYS Formation*
Vous pouvez à tout moment vous désinscrire en utilisant le lien de désabonnement inclus dans nos communications.
* Les participants inscrits à nos sessions de formation sont également susceptibles de recevoir nos communications avec la possibilité de se désabonner à tout moment.
Avis clients
picto avis clients
TOUCHARD . 23/06/2021
4 / 5
Beaucoup de sujets abordés pour les 3 jours, mais la répartition est satisfaisante. Bon TDs, mais manque peut-être des exemples simples et complets dans les supports de cours.

ERWANN T. 23/06/2021
5 / 5
Quelques améliorations à fournir sur les supports pédagogiques : support de cours à jours, plus de schémas, graphiques pour visualiser les concepts. La chronologie du cours est pertinente, mais se situer-repérer dedans n’est pas immédiate et nécessite du recul. Moins de détails sur la partie théorique à prévoir pour plus de petits exercices (hors TP) pratiques Bon dynamisme du formateur sur la

SAHAR F. 31/03/2021
4 / 5
contenu tres interessant et la pédagogie, comme indique dans la premier page de support de cours : "implique-moi et j’apprenderai" :-)

LUC N. 31/03/2021
4 / 5
Formateur dynamique, patient et intéressant. Rend abordable le sujet à tous, même débutants. Bon équilibre exercices pratiques - théorie. Concernant la pratique, de plus amples explications sur pourquoi certaines solutions ne marchent pas seraient bienvenues.
Avis clients 4,1 / 5

Les avis clients sont issus des feuilles d’évaluation de fin de formation. La note est calculée à partir de l’ensemble des avis datant de moins de 12 mois.

CLASSE A DISTANCE

En inter et en intra-entreprise
Inscrivez-vous ou contactez-nous !

Pour vous inscrire

Cliquez sur la ville, puis sur la date de votre choix.
[+]
CLASSE A DISTANCE
[+]
PARIS

Horaires

Les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45.
Pour les stages pratiques de 4 ou 5 jours, les sessions se terminent à 15h30 le dernier jour.