Apprenons à nous connaître

Simplement, rapidement et gratuitement

Formation Langage C/C++, programmation Multicore

Cette formation n'accepte que les entreprises.

Vous disposez d'un droit d'accès, d'opposition et de rectification des informations vous concernant. Vous pouvez exercer ces droits auprès de nos services à support@skills.hr.

Pour plus d'informations, consultez notre politique de confidentialité.

star--3

Formation Langage C/C++, programmation Multicore avec TechnoWide

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

À propos de cette formation

Bordeaux

33

> 1 830€ HT

> 0€ HT (Individuel)

3 jours

21 heures

Action de formation

Éligible OPCO

En savoir plus

Objectifs pédagogiques

  • 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
Contenu de la formation
  • Présentation
    • 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.

L'organisme de formation

star--1
TechnoWide

Assurer votre succès !

Découvrir TechnoWide

Public concerné

  • 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.

Conditions d'accès

Accessibilité

Les personnes atteintes de handicap souhaitant suivre cette formation sont invitées à nous contacter directement, afin d'étudier ensemble les possibilités de suivre la formation.

Capacité

1 à 10 places

Délai d'accès

3 semaines

Diplôme / Certification

  • Pas de certification

Plus qu'une formation !

Équipe pédagogique

Votre formateur est un consultant et architecte logiciel avec plus de 10 d'expériences pédagogiques et techniques.

Ressources pédagogiques

  • Moyens pédagogiques : Réflexion de groupe et apports théoriques du formateur, Travail d'échange avec les participants sous forme de réunion-discussion, Utilisation de cas concrets issus de l'expérience professionnelle, Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation et des jeux pédagogiques, Remise d'un support de cours.
  • Moyens techniques en Présentiel : Accueil des stagiaires dans une salle dédiée à la formation, équipée d'ordinateurs, d'un vidéo projecteur d'un tableau blanc et de paperboard.
  • Moyens techniques en Distanciel : A l'aide du logiciel Teams, un micro et une caméra pour l'apprenant, Suivez une formation en temps réel et entièrement à distance. Lors de la classe en ligne, les apprenants interagissent et communiquent entre eux et avec le formateur. Les formations en distanciel sont organisées en Inter-Entreprise comme en Intra-Entreprise. L'accès à l'environnement d'apprentissage (support de cours, labs) ainsi qu'aux preuves de suivi et d'assiduité (émargement, évaluation) est assuré.
PDF du programme

D'autres formations qui pourraient vous intéresser

Organismes de formation de confiance !

Nos prestataires de formations couvrent l’ensemble des secteurs professionnels et sont répartis partout en France. Découvrez comment ils peuvent vous accompagner !