Formation Programmer vos applications en Multicore


  • CRÉEZ DES APPLICATIONS BÉNÉFICIANT DES PERFORMANCES NOUVELLES DES PROCESSEURS
REFERENCE
 
 
DPMC
DUREE
 
 
3 jours
TARIFS
 
 
En Intra
Niveau : Intermédiaire
Cours à distance: Possible
OBJECTIFS :
 
Cette formation programmation multicore vous permettra de comprendre au sein des systèmes et processeurs les architectures Multicore et leurs programmations. Vous découvrirez les techniques de mise en oeuvre d'une approche multithread ou multiprocess et les techniques et langages dédiés à la programmation parallèle. Vous découvrez également Ainsi que les contraintes en matière de synchronisation d'accès aux données et les précautions à prendre pour conserver une performance optimale des applications. Enfin un chapitre avancé sur la programmation massivement parallèle vous permettra de tirer un réel profit opérationnel de cette formation.
PRÉ-REQUIS :
 

Connaître un langage objet et être sensibilisé au sujet. Connaître un des trois langages utilisés dans le cours : C#, Java ou C++. La lecture des diagrammes UML est un plus.

PROGRAMME :
 

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 POSIX
Travail 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 Net
Travail pratique Gestion 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 PLINQ
Travail pratiqueParalléliser des algorithmes avec PFX C#La librairie « OpenMP » C++
Directives « OpenMP » disponibles
Travail 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, AMP
TRAVAIL PRATIQUE Paralléliser des algorithmes avec OpenCL Apprendre à 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

TRAVAUX PRATIQUES :
 
L'outil Open source BOUML sera utilisé pour la modélisation UML, Visual Studio express(tm) pour la manipulation des langages C# et C++, NetBeans(tm) 6.x pour Java. Les exemples seront démontrés grâce aux langages UML, Java, C++ et Dot Net.
Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions. Avis des participants à la formation Programmer vos applications en Multicore : Note moyenne : 5/5
5/5
Avis certifié A suivi un cours chez PLB
CE
Mon avis sur le contenu du stage: RAS Mon avis sur le formateur: RAS
EN INTRA SEULEMENT
FORMATION PROGRAMMATION MULTICORE
Contactez-nous pour obtenir les prochaines disponibilités de nos consultants formateurs
S’inscrire à la formation
CETTE FORMATION SUR-MESURE Ce cours est réalisable en intra-entreprise, dans vos locaux ou nos salles de cours CONTACTER NOTRE SERVICE INTRA
D'autres formations
SUR LE MÊME THÈME

3 j

 

Développement

Langage Dart (Google)
En créant le langage Dart, l'objectif de Google est de proposer un langage moderne pour le développement d'applications Web et aussi pour combler certaines lacunes de...

5 j

 
La technologie Smalltalk est très proche de la technologie Java. En utilisant les similitudes entre les deux langages, on peut accélérer l'apprentissage de Smalltalk et...

5 j

 
Cette formation Smalltalk propose une introduction à la programmation orientée objet en s'appuyant sur le langage Smalltak. Les concepts des technologies objet seront...

5 j

 

Développement

Programmation en Cobol
Les années passent et le nombre de lignes de Cobol demeure le plus élevé. Cette formation COBOL intensive vous permettra d'acquérir une maîtrise approfondie...
Plus de formations sur le même thème

Des questions ?

ON VOUS RAPPELLE

 

0

Formations
Informatique
et Management
en ligne à ce jour

+ 0

Stagiaires dans nos
salles de cours sur
l'année

0%

De participants
satisfaits ou très
satisfaits de nos
formations

0

Formateurs experts
validés PLB