M2 - Semestre 3 · Base
Programmation parallèle et distribuée
- Code UE
- SMINFO3A
- ECTS
- 4 ECTS
- Volume horaire
- 20h CM - 20h TP
- Responsable(s)
- Parcours
- Algorithmiques et Systèmes Intelligents, IA Sciences des Données et Santé, IA et Facteurs Humains
- Type de carte
- UE de la carte informatique
- Prérequis
- Non renseigné
Description du cours
La première partie de l’enseignement est dédiée à la programmation (template programming C++) vectorielle et parallèle :
- template programming pour l’optimisation ;
- programmation vectorielle via les jeux d’instructions SIMD ;
- programmation des machines à mémoire partagée au travers du standard OpenMP et la bibliothèque Intel Threading Building Blocks (oneTBB). La seconde partie est dédiée à l’algorithmique distribuée et à l’implémentation (langage C++, module Boost.MPI de la bibliothèque Boost) d’algorithmes courants tels que les horloges (scalaires, vectorielles ou matricielles), l’exclusion mutuelle, la détection de terminaison ou bien encore l’élection. Dix TPs de 2h. Trois consacrés au template programming C++ et la programmation vectorielle, quatre consacrés à la programmation multithreadée et, enfin, trois TP consacrés à la programmation distribuée.
Modalités d'évaluation
Session 1 :
- Contrôle continu (CC1) : devoir maison.
- Contrôle terminal (CT1) : 2h, tous documents autorisés.
- Note finale : la note finale est calculée de la façon suivante : 31 × CC1 + 32 × CT 1.
Session 2 :
- Contrôle terminal (CT2) : 2h, tous documents autorisés.
- Note finale : la note finale est calculée de la façon suivante : CT2 uniquement.
Guide Master Informatique