Fin d'Inscription : Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)
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 28 au 31 Mai 2024
Du 10 au 13 Sept. 2024
Fin d'Inscription : Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.