S9 LSE Modèles et Langages pour le parallélisme
Présentation
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 architecture parallèle fixe ou d'un circuit spécialisé.
Pré-requis nécessaires
Architectures parallèles
Algorithmique parallèle et distribuée
Objectifs
Etudier les modèles d'exécution, modèles de programmation et langages
- Streams, Graphes flot de données
- Processus communicants, FSM
- modèle de calcul: réseau de kahn
- MIMD (SM, MP)
- SIMD, SPMD
- Équations récurrentes, modèle systolique
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
Compétences visées
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)
Bibliographie
- 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
Langue d'enseignement
Français