Devis Demander un devis
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

À partir de 1 830€ HT (Entreprise)

À partir de 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

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.
Objectifs 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 Demander un devis

D'autres formations qui pourraient vous intéresser

star--2
Formation Le langage C avec OpenGL

9

Très bien

Lieux sur devis

À partir de 3100€ HT

5 jours | 35 heures
  • Action de formation

  • Formation éligible OPCO

Options de formation

Des Organismes de formation de confiance !

Nous recensons aujourd’hui des formations dans plus d’une 100ène de catégories et sous catégories afin d’être le plus représentatif par rapport au besoin en compétences des entreprises.

Comparer
Comparez jusqu'à 3 cours