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
Les modalités de contrôle des connaissances (MCC) sont arrêtées chaque année par l'université et font foi dans le document officiel du parcours. Elles ne sont pas reproduites ici : reportez-vous au document MCC officiel, dont le lien figure sur la page de présentation du parcours concerné.
Guide Master Informatique