Détails du cours MAE31

High performance scientific computing

Cette page est essentiellement destinée aux enseignants et regroupe toutes les informations nécessaires à la gestion d'un cours ENSTA.

Identité du cours

Sigle : MAE31
Titre français : Calcul scientifique à haute performance
Titre anglais : High performance scientific computing
Méta infos : modifiée le : 20/03/2017   par : modave   Nb de visiteurs : 12   annee : 2A      periode : 1      Rattachement/module : ModEl      unités : 2      ECTS : 3      type : unknown     
ouvert : Oui     modif. autorisée : Oui     email auto. au responsable : Oui     à évaluer : Oui     en ligne : Non    
domaine ParisTech : 1b,2a    

Equipe pédagogique

Responsable (login) :
Professeur principal :
Professeurs participants : Axel MODAVE,    Adrien LOSEILLE,    Sourour ELLOUMI,    Matthieu HAEFELE,   
Maitres de conférences :

Contenu

a pour prérequis : Cours de mathématique et d'informatique de 1ère année (en particulier, IN101, IN102 et IN103). Avoir suivi les cours de la voie "Simulation et Ingénierie Mathématique" est un atout, mais ce n'est pas requis pour suivre ce module.
Objectifs :

Le calcul à haute performance (HPC) est devenu un outil essentiel dans la recherche et l'industrie pour résoudre une large gamme de problèmes (différents secteurs: aéronautique, énergie, électronique, environnement, etc). Les ressources de calcul croissantes permettent de traiter des problèmes de plus en plus complexes avec une précision de plus en plus grande.

Pour tirer parti au maximum de la puissance de calcul disponible, les algorithmes et les codes de calcul doivent être conçus en tenant compte des spécificités des machines. En pratique, des techniques de programmation et des librairies sont utilisées pour booster les performances. Ce module offre un aperçu d’algorithmes du calcul scientifique et de techniques de programmation.

Objectifs

  • Présentation d’algorithmes du calcul scientifique pour la résolution de problèmes coûteux
  • Initiation au HPC et à la programmation parallèle (à mémoire partagée, avec OpenMP)
  • Entraînement à l'implémentation efficace (de la méthode mathématique au programme informatique)

Contenu

  • Algorithmes du calcul scientifique et lien avec l'implémentation (BLAS, FFT, génération de maillages, graphes, éléments finis discontinus, ...)
  • Techniques de programmation scientifique et analyse de performance (architecture du CPU, vectorisation, OpenMP, profiling, ...)

Une large partie du cours sera consacrée aux projets de programmation, pendant lesquels les étudiants devront implémenter des algorithmes et analyser les performances de leurs implémentations.

Site Internet du cours : http://perso.ensta-paristech.fr/~modave/MAE31/

Mots clés : HPC, Calcul scientifique, Programmation parallèle, C, OpenMP, Projet
Objectives : See french version.
Keywords : HPC, Scientific computing, Parallel programming, C, OpenMP, Projet
Supports : Voir site Internet du cours : http://perso.ensta-paristech.fr/~modave/MAE31/
Biblio :
  • An Introduction to Parallel Programming, Peter Pachenco [lien]
  • Introduction to High-Performance Scientific Computing, Victor Eijkhout [lien]
  • Using OpenMP, Barbara Chapman, Gabriele Jost, Ruud Van Der Pas [lien]
Contrôle : Projets + Examen écrit

Besoins particuliers et remarques éventuelles

Moyens :
Commentaires :

Séances

mar. 21 mars 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Introduction au HPC, architecture du CPU et opérations BLAS
besoin :
Intervenants : Axel MODAVE,
mar. 21 mars 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Exercices de rappel et sur les opérations BLAS
besoin :
Intervenants : Axel MODAVE,
ven. 24 mars 2017   - 14h00 à 15h00 : Cours Magistral (CM)
programme : Algorithmes : Transformée de Fourier discrète
besoin :
Intervenants : Axel MODAVE,
ven. 24 mars 2017   - 15h15 à 17h15 : TD en salle info (TD)
programme : Projet 1
besoin :
Intervenants : Axel MODAVE,
mar. 28 mars 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Vectorisation et évaluation des performances
besoin :
Intervenants : Axel MODAVE,
mar. 28 mars 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Exercices sur la vectorisation + Projet 1
besoin :
Intervenants : Axel MODAVE,
ven. 31 mars 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Algorithmes : Génération de maillages
besoin :
Intervenants : Adrien LOSEILLE,
ven. 31 mars 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Projet 1
besoin :
Intervenants : Axel MODAVE,
mar. 04 avril 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Calcul parallèle et OpenMP
besoin :
Intervenants : Axel MODAVE,
mar. 04 avril 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Exercices sur OpenMP
besoin :
Intervenants : Axel MODAVE,
ven. 07 avril 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Algorithmes : Arbres et graphes
besoin :
Intervenants : Sourour ELLOUMI,
ven. 07 avril 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Projet 2
besoin :
Intervenants : Axel MODAVE,
mar. 18 avril 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : OpenMP avancé
besoin :
Intervenants : Axel MODAVE,
mar. 18 avril 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Exercices sur OpenMP + Projet 2
besoin :
Intervenants : Axel MODAVE,
ven. 21 avril 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Algorithmes : PageRank
besoin :
Intervenants : Sourour ELLOUMI,
ven. 21 avril 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Projet 2
besoin :
Intervenants : Axel MODAVE,
mar. 25 avril 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Algorithmes : Éléments finis discontinus
besoin :
Intervenants : Axel MODAVE,
mar. 25 avril 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Projet 3
besoin :
Intervenants : Axel MODAVE,
ven. 28 avril 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : (à définir)
besoin :
Intervenants : Axel MODAVE,
ven. 28 avril 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Projet 3
besoin :
Intervenants : Axel MODAVE,
mar. 02 mai 2017   - 09h00 à 10h00 : Cours Magistral (CM)
programme : Cours d'ouverture : Optimisation du code MetalWalls et architectures nouvelles
besoin :
Intervenants : Matthieu HAEFELE,
mar. 02 mai 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Projet 3
besoin :
Intervenants : Axel MODAVE,
ven. 05 mai 2017   - 09h00 à 10h00 : Contrôle (CC)
programme : Contrôle écrit
besoin :
Intervenants : Axel MODAVE,
ven. 05 mai 2017   - 10h15 à 12h15 : TD en salle info (TD)
programme : Projet 3
besoin :
Intervenants : Axel MODAVE,