Programmer vos Applications en Multicore
Oasis de la connaissance cabinet de formation continue à Casablanca vous propose une Formation Programmer vos Applications en Multicore formation pour les particuliers et les entreprises en individuel ou en groupe, à la fin de la formation vous serez capable de créer des Projet en Programmer vos Applications en Multicore formation en ligne Programmer vos Applications en Multicore ecole d’architecture Maroc
Les architectures multi core
- Les enjeux de la programmation Multicore dans les années à venir
- Tableau général des technologies utilisables : processus, threads et parallélisme
- Description et rappel du fonctionnement d’un processeur
- Les architectures en « Hyperthreading »
- Les architectures des processeurs INTEL et AMD
- Les architectures NVidia et API
- Les aspects synchronisation à prévoir : cas généraux
Modélisation des applications multi core
- Importance des aspects modélisation
- Parallélisation des traitements (ex : calcul)
- Utilisation des mécanismes asynchrones : processus, threads …
- Développer une nouvelle application : précautions et modélisation
- Eviter les « singletons »
- Modifier une application existante en Multicore : problèmes rencontrés
- Choix d’architecture : un compromis synchronisation et performance
- Choix multiprocessus / multithreads
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
- Ordonnancement des threads dans les systèmes : technique du « round robin »
- Gestion des stacks et « call stack » dans les threads
- Les déboggeurs multi-threads : ex Visual Studio et NetBeans
- Gestion des objets de synchronisation : sections critiques, Mutex et Sémaphores
- Développer « Thread safe »
- Règles pour développer en approche multithread
- Les APIs de threads avec Windows, Java et DOT Net
- Les APIs de POSIXTravail pratiqueThreads et synchronisation en DOT Net, Java et C++
Processus
- Espaces d’adressage des processus, organisation
- Critères de choix d’une approche multi-processus
- Ensemble des techniques de communication inter processus (IPC)
- Techniques de Debugging multiprocess, nouveaux outils (ex : Visual Studio 2005)
- Avantage et inconvénients des techniques multi processus
- Particularité : Les « Domain » DOT NetTravail pratiqueGestion de traitements asynchrones avec l’API windows
La programmation parallèle
- L’apport et les objectifs de la programmation parallèle
« Parallel FX » la bibliothèque DOT Net pour paralléliser - Architecture PFX et philosophie
- Composants TPL et PLINQTravail pratiqueParalléliser des algorithmes avec PFX C#La librairie « OpenMP » C++
- Directives « OpenMP » disponiblesTravail pratiqueParalléliser des algorithmes avec « OpenMP » en C++Utiliser les GPUs des
- cartes graphiques pour le calcul
- Les kits de NVidia (CUDA) et ATI
- Exemple d’applications utilisant les bibliothèques
- Exemple de code et commentaires
La programmation massivement parallèle
- L’architecture des unités graphiques GPU
- Les nouvelles architectures CPU de type SSE(Intel®) et NEON(ARM®)
- Les framewoks dédiés CUDA, OpenCL, AMPTRAVAIL
- PRATIQUEParalléliser des algorithmes avec OpenCLApprendre à utiliser OpenCL sur les GPU et les CPU de dernière génération
- Parallèlisation et vectorisation d’un programme
- Le plugin VisualStudio & Eclipse d’Intel
- Apprendre à programmer et à déboguer en OpenCL
Les limites matérielles
Synthèse et conclusion
- Conclusion des techniques étudiées
- L’avenir de C++ avec le multicore
- Synthèse des approches de Design, threads, multiprocessus et programmation parallèle
Durée de la formation Programmer vos Applications en Multicore :
Pack de formation Programmer vos Applications en Multicore initiale – 36 heures
1 semaine – 1 mois – 3 mois
Pack de formation Programmer vos Applications en Multicore avancé – 72 heures
1 mois – 3 mois – 6 mois
Pack de formation Programmer vos Applications en Multicore expert – 144 heures
3 mois – 6 mois 12 mois
Pack de formation entreprises – 2 jours