Notice: Undefined index: mode_acces in /var/www/html/GEISER/fiche_ue/fiche_ue.php on line 6

Notice: Undefined index: mode_acces in /var/www/html/GEISER/fiche_ue/fiche_ue.php on line 7


TitreCompilation, Modèles et Langages pour les systèmes parallèles (CML)
DiplomeMaster informatique
Code apogéeDILS9CMLStructurexxDernière mise à jour le23 Novembre 2017
Responsable pédagogiqueFABIANI Erwan (Maître de conférences, 27ème section)
Parcours
  • Parcours Master 2 LSE 2017-2022
TypeObligatoire
Semestre9Volume horaire48Crédits ECTS4
Nombre d'heures Cours magistraux (CM)16 Travaux dirigés (TD)16 Travaux pratiques (TP)16 
Pré-requisArchitectures parallèles, Algorithmique Parallèle et distribuée
Co-requis 
Objectif Terminal

Cette UE porte sur les modèles, les langages et la compilation pour la programmation ou la conception de systèmes parallèles :

  • Au niveau modèles et langages, l'objectif est de connaître les différents modèles de programmation pour architectures parallèles et d'étudier leur adéquation avec la spécification d'application et la problématique de leur exploitation pour un modèle d'exécution
  • Au niveau conception et compilation, l'objectif est de passer en revue les principales techniques de compilation exploitant au mieux les ressources d'une architectures parallèle fixe ou d'un circuit spécialisé.
Objectif Pédagogique

A l'issue de cette UE :

  • On sait identifier le modèle de programmation sous-jacent à un langage à parallélisme explicite
  • On sait exprimer une application dans différents modèles de programmation parallèle
  • On sait analyser les avantages et inconvénients d'un modèle de programmation pour l'expression d'une application parallèle
  • On sait appliquer les principales techniques de compilation pour un modèle d'exécution parallèle fixé
  • On sait utiliser un compilateur pour le calcul haute performance (HPC)
Contenu détaillé de l'enseignement
  1. Modèles d'éxécution, modèles de programmation et langages
    • Streams, Graphes flot de données
    • Processus communiquants, FSM
    • modèle de calcul: réseau de kahn
    • MIMD (SM, MP)
    • SIMD, SPMD
    • Equations récurrentes, modèle systolique
  2. Compilation pour le calcul à haute performance
    • Analyse de dépendance, transformation de boucles
    • Parallélisation de nids de boucles : algorithme d'Allen Et Kennedy, approches polyédrales
    • Structures de données et options des compilateurs
    • Analyse de performances
    • Granularité de parallélisme
    • Optimisation de la localité des données en mémoire
    • Optimisation de l'allocation de mémoire
    • Ordonnancement et allocation de tâches
Méthodes d'enseignementCM, TD et TP
Evaluation session 1Examen écrit 2h (2/3) et contrôle continu (projets, devoirs) (1/3)
Evaluation session 2Examen écrit 2h
Références Bibliographiques
  • Algorithmes et architectures systoliques - P.Quinton et Y. Robert, Masson, 1989
  • Algorithmique parallèle - Arnaud Legrand et Yves Robert, Dunod, 2003
  • Multiprocessor Systems-on-chips - Ahmed Jerraya et Wayne Wolf, 2005