Descriptif
Le calcul à haute performance (HPC) est aujourd'hui un outil essentiel dans la recherche et l'industrie pour résoudre une large gamme de problèmes d'ingénierie (ex. en aéronautique, énergie, électronique, environnement, …). Les ressources de calcul croissantes permettent de traiter des problèmes scientifiques de plus en plus complexes, mais les algorithmes et les codes doivent être conçus en tenant compte des spécificités des machines afin tirer parti au maximum de leur puissance de calcul.
Ce cours offre un aperçu d’algorithmes du calcul scientifique à haute performance (ex. génération de maillage, arbres couvrants, méthodes d'ordre élevé pour les EDPs, …) et de techniques de programmation (ex. vectorisation, programmation parallèle avec OpenMP, profilage, …). Une large partie du cours est consacrée aux projets de programmation.
Objectifs pédagogiques
A l'issue du cours, les étudiants seront capables ...
- d'analyser la pertinence d'algorithmes scientifiques pour le calcul à haute performance ;
- de programmer efficacement des algorithmes scientifiques sur des processeurs multi-cœurs standards ;
- d'analyser la performance et les résultats de codes de calcul optimisés.
effectifs minimal / maximal:
10/25Diplôme(s) concerné(s)
- Master 1 Mathématiques et Applications - site Orsay
- Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées
Parcours de rattachement
Pour les étudiants du diplôme Master 1 Mathématiques et Applications - site Orsay
Notions d'algorithmique ; Méthodes numériques standards (par différences finies et éléments finis) ; Commandes Unix de base ; Programmation en C ou C++
Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées
Notions d'algorithmique ; Méthodes numériques standards (par différences finies et éléments finis) ; Commandes Unix de base ; Programmation en C ou C++
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées
Vos modalités d'acquisition :
Projets de programmation + Examen écrit
Le rattrapage est autorisé (Max entre les deux notes écrêté à une note seuil)- le rattrapage est obligatoire si :
- Note initiale < 6
- le rattrapage peut être demandé par l'étudiant si :
- 6 ≤ note initiale < 10
- Crédits ECTS acquis : 3.5 ECTS
- Scientifique acquis : 3.5
Le coefficient de l'UE est : 3.5
La note obtenue rentre dans le calcul de votre GPA.
L'UE est évaluée par les étudiants.
Pour les étudiants du diplôme Master 1 Mathématiques et Applications - site Orsay
Vos modalités d'acquisition :
Projets de programmation + Examen écrit
Le rattrapage est autorisé (Note de rattrapage conservée)- le rattrapage est obligatoire si :
- Note initiale < 7
- le rattrapage peut être demandé par l'étudiant si :
- 7 ≤ note initiale < 10
- Crédits ECTS acquis : 3.5 ECTS
- Scientifique acquis : 3.5
Le coefficient de l'UE est : 3.5
La note obtenue rentre dans le calcul de votre GPA.
L'UE est évaluée par les étudiants.
Programme détaillé
- Initiation au HPC et à la programmation parallèle à mémoire partagée
- Algorithmes du calcul scientifique pour la résolution de problèmes coûteux (ex. BLAS, génération de maillages, réordonnancement et placement mémoire, stockage de graphes, arbres couvrants, méthodes d'ordre élévé pour les EDPs, éléments finis discontinus, …)
- Techniques de programmation et analyse de performance (ex. libraires scientifiques, vectorisation, utilisation optimale du cache, programmation parallèle à mémoire partagée avec OpenMP, profilage, introduction au calcul sur GPU et architectures nouvelles, …)
- Entraînement à l'implémentation efficace (de la méthode mathématique au code de calcul optimisé) à travers trois projets de programmation