Systèmes Hautes Performances (ASR 5)

Catalogue des cours de Télécom SudParis

Code

IGFF CSC 5001

Niveau

M2

Graduate

Graduate

Semestre

Fall

Domaine

Informatique

Programme

Programme Ingénieur

Langue

Français/French

Crédits ECTS

4

Heures programmées

45

Charge de travail

90

Coordonnateur(s)

Département

  • Informatique

Equipe pédagogique

Organisation

Cours/TD/TP/projet/examen : 30/0/15/0

Acquis d'apprentissage

À l'issue du module CSC5001, les étudiants sont capables de :

- Expliquer les enjeux, les contraintes et les exigences du Calcul Hautes Performances

- Concevoir une application parallèle performante sur une architecture cible (grappes de machines, machines multicœurs, machines hétérogènes intégrant CPU et GPU) à partir de sa version séquentielle en utilisant les outils classiques du parallélisme (par exemple OpenMP, MPI, CUDA)

- Analyser les performances d'une application parallèle pour proposer des pistes d'amélioration, et présenter la démarche et les résultats sous la forme d'une présentation orale

Compétences CDIO

  • 2.2.3 - Recherche expérimentale
  • 2.2.4 - Tests d'hypothèses et argumentation critique
  • 2.3.4 - Chercher des compromis et décider
  • 4.3.4 - Gestion de projets de développement
  • 4.8.5 - Conception de produits et services autour des nouvelles technologies

Prérequis

- Algorithmique (bonne connaissance), langage C (bonne pratique), Unix (bonne pratique utilisateur), Threads (bonne pratique)

Mots-clés

Grappes,OpenMP, MPI, GPU, HPC

Contenu

- Les fondamentaux du parallélisme
- Principes, concepts, intérêt…
- Architectures matérielles
- Solutions et tendance
- Algorithmique parallèle :
- Modèles de communication
- Parallélisme de données / Parallélisme de tâches
- Les grappes de calcul
- Outils de développement
- OpenMP : Principes, API, Compilation, exécution, tuning, développement d'une application parallèle
- MPI : Principes, API, Compilation, exécution, tuning, développement d'une application parallèle
- GPU : Principes, API CUDA, Compilation, exécution
- Programmation hybride: MPI + OpenMP
- Analyse de performance
- Micro-projet
- Conférences

Evaluation

La plupart des notions abordées dans cette UV sont approfondies lors d’un micro-projet. La réalisation de ce micro-projet est évaluée par un rapport écrit (R) et une soutenance orale (S) incluant une démonstration.
Ce qui n’a pu être abordé dans le micro-projet est évalué par TP noté (TP).
Note finale = ½ Micro-projet + ¼ TP noté 1 + ¼ TP noté 2

Bibliographie

Supports de cours : transparents
Bibliographie :
- A. Grama, A. Gupta, G. Karypis and V. Kumar, Introduction to parallel computing, Addison-Wesley, 2003, 2nd edition
- OpenMP Application Program Interface, Version 2.5, Public draft, November 2004
- Marc Snir et al., MPI : The complete reference, MIT Press, 1996
- Jason Sanders and Edward Kandrot, CUDA by Example, Addison-Wesley, 2011