L'objectif de cette formation est d'apporter les connaissances nécessaires sur les thèmes majeurs pour parvenir à l'optimisation du système:
- Comment optimiser un programme pour obtenir de meilleures performances, et
- Programmation de systèmes Parallèles - comment migrer un programme vers un système parallèle pour réduire le temps d'exécution en divisant le travail entre plusieurs processus.
Contenu de la formation
- Architecture de système parallèle
- Compilateurs et outils de suivi
- Analyses des programmes et Optimisation
- Optimisation des performances
- Programmation des systèmes parallèles à mémoire partagée utilisant OpenMP
- Programmation de systèmes parallèle à mémoire distribuée
Objectif
À l'issue de ce cours, les étudiants sont en principe capables de:
- Comprendre l'architecture de base des systèmes parallèles
- Utiliser les outils systèmes afin d'identifier des problèmes de performances
- Evaluer la performance des programmes
- De mieux utiliser les compilateurs et bibliothèques mathématiques disponibles
- Comprendre les techniques de base d'optimisation
- Reconnaître les avantages et les pièges du traitement parallèle.
- Ecrire des programmes multitâches avec OpenMP
- Ecrire des programmes multiprocesseurs utilisant MPI (Message Passing Interface)
Public cible
Cette formation est destine aux programmeurs qui travaillent actuellement en C et Fortran et qui veulent appréhender les problèmes de performance dans leurs applications, et d'améliorer les temps d'exécution par l'optimisation des programmes et leur exécution en parallèle.
Compétences requises
Les participants devront avoir une expérience de programmation suffisante en C et Fortran et savoir utiliser les commandes Linux/Unix (cp, ls, make etc)