Accueil > Développement Logiciel, Devops > Programmer vos Applications en Multicore
Formation #DEV05

Formation Programmer vos Applications en Multicore

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

Durée : 4 jours

Code : DEV05


Sessions programmées :

Du 12 au 15 Jan. 2021

Du 23 au 26 Mars 2021

Du 25 au 28 Mai 2021

Du 20 au 23 Juil. 2021

Du 19 au 22 Oct. 2021

Du 28 au 31 Déc. 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 : DEV05


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

  • Découvrir les architectures Multicore et leur programmation
  • Connaitre les techniques de mise en œuvre d'une approche multithread ou multiprocessus
  • Etre en mesure de programmer ses applications en Multicore
Programme
1/ Introduction
  • Appréhender les enjeux de la programmation en Multicore
  • Les technologies utilisables : processus, threads et parallélisme
  • Fonctionnement d’un processeur
  • Les architectures en « Hyperthreading »
  • Les architectures des processeurs INTEL et AMD
  • Les architectures NVidia et API
  • Les aspects synchronisation
2/ Modéliser les applications Multicore
  • Importance de la modélisation
  • Parallélisation des traitements
  • Loi de Amdahl (ex : calcul)
  • Les mécanismes asynchrones
  • Développement d’une nouvelle application : précautions et modélisation
  • Ne pas utiliser les « singletons »
  • Modification d’une application existante en Multicore
  • Choisir une architecture (un compromis synchronisation et performance)
  • Choisir entre multiprocessus et multithreads
3/ Threads
  • Organisation d'un système à base de threads
  • Les threads dans les systèmes et les langages (exemple : Java, .NET et C++)
  • Apport des threads dans une application industrielle
  • Ordonnancer les threads dans les systèmes (principe du « round robin »)
  • Gérer les stacks et « call stack »
  • Les déboggeurs multi-threads
  • Gérer les objets de synchronisation (sections critiques, Mutex ou Sémaphores)
  • Développement de « Thread safe »
  • Usages du développement en approche multithread
  • Les APIs :
  • De threads avec Windows
  • Java
  • DOT Net
  • De POSIX
4/ Les processus
  • Espaces d'adressage des processus, organisation
  • Conditions de choix d’une approche multi-processus
  • Les différents concepts de communication inter processus (IPC)
  • Techniques de Debugging multiprocess et les nouveaux outils comme Visual Studio 2008
  • Avantage et inconvénients des techniques multiprocess
  • Les « Domain » DOT Net
5/ Programmation parallèle
  • Apports et objectifs de cette programmation
  • « Parallel FX » la bibliothèque DOT Net pour paralléliser
  • Architecture PFX et philosophie
  • Composants TPL et PLINQ
  • La librairie « OpenMP » C++
  • Directives « OpenMP » vacants
  • Utiliser des GPUs
  • Cartes graphiques pour le calcul
  • Kits de NVidia (CUDA) et ATI
6/ Synthèse et conclusion
  • Conclusion des techniques étudiées
  • C++ avec le Multicore : Quel avenir
  • Synthèse des différentes approches (Design, threads, multiprocessus et programmation parallèle)
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

Public cible

  • Développeurs
  • Architectes logiciels
  • Chefs de projet
Dates

Dates

  • Du 12 au 15 Jan. 2021
  • Du 23 au 26 Mars 2021
  • Du 25 au 28 Mai 2021
  • Du 20 au 23 Juil. 2021
  • Du 19 au 22 Oct. 2021
  • Du 28 au 31 Déc. 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