v2.11.0 (5354)

Cours scientifiques - AMS301 : Calcul scientifique parallèle

Domaine > Analyse et Calcul Scientifique, Mathématiques et leurs applications.

Descriptif

Le calcul scientifique parallèle est aujourd'hui un outil essentiel dans la recherche et l'industrie pour résoudre une large gamme de problèmes d'ingénierie. Dans le cadre de ce cours, on aborde la résolution parallèle efficace de problèmes structurés et non-structurés (pour e.g. la résolution de problèmes d'EDPs par différences finies et éléments finis, respectivement). En particulier, on s'intéresse au calcul parallèle à mémoire distribuée.
 
La partie théorique du cours se décompose en trois sujets :
  • l'algorithmique parallèle pour la résolution de problèmes structurés et non-structurés ;
  • la résolution de grands systèmes linéraires (méthodes directes/itératives, méthode du gradient conjugué, méthodes de Krylov, GMRES, techniques de préconditionnement, décomposition de domaine) ;
  • une introduction à la programmation parallèle (avec MPI) et aux architectures de calcul modernes.
Deux projets de calcul scientifique : résolution parallèle de problèmes structurés et non-structurés.

Objectifs pédagogiques

A l'issue du cours, les étudiants ...
  • seront capables d'analyser des algorithmes scientifiques avancés pour la résolution parallèle de problèmes structurés et non-structurés ;
  • seront familiers avec les paradigmes du calcul parallèle sur architectures à mémoire distribuée ;
  • seront capables de paralléliser un code de calcul avec MPI et d'en analyser les performances de façon pertinente.

Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées

Analyse numérique et algèbre linéaire.
Commandes Unix de base et programmation en C (par exemple, cours IN102 ou AMS-I04).

Pour les étudiants du diplôme Master 2 Analyse Modélisation et Simulation

Analyse numérique et algèbre linéaire.
Commandes Unix de base et programmation en C (par exemple, cours IN102 ou AMS-I04).

Format des notes

Numérique sur 20

Littérale/grade européen

Pour 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 :

Examen écrit et deux projets de programmation (avec une soutenance orale pour le premier projet, et un rapport écrit pour le deuxième projet)

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
L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 4 ECTS
  • Scientifique acquis : 4

Le coefficient de l'UE est : 1

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 2 Analyse Modélisation et Simulation

Vos modalités d'acquisition :

Examen écrit et deux projets de programmation (avec une soutenance orale pour le premier projet, et un rapport écrit pour le deuxième projet)

Le rattrapage est autorisé (Note de rattrapage conservée)
  • le rattrapage est obligatoire si :
    Note initiale < 7
L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 7 ECTS

Le coefficient de l'UE est : 1

La note obtenue rentre dans le calcul de votre GPA.

L'UE est évaluée par les étudiants.

Programme détaillé

Partie "Calcul scientifique et algorithmique parallèle"

  1. Cours : Introduction au calcul parallèle et à l’algorithmique parallèle. Analyse de problèmes structurés (algorithmes élémentaires, méthode des différences finies)
  2. Cours : Résolution de systèmes linéaires (introduction générale, méthodes directes, parallélisation). Analyse de problèmes structurés (FFT, structure de schémas de différences finies)
  3. Cours : Résolution de systèmes linéaires (méthodes itératives, décompositions régulières, parallélisation). Analyse de problèmes structurés (parallélisation de schémas de différences finies)
  4. Cours : Résolution de systèmes linéaires (méthode du gradient conjugué, méthodes de Krylov)
  5. Cours : Résolution de systèmes linéaires (GMRES, techniques de préconditionnement)
  6. Cours : Analyse de problèmes non-structurés (méthode des éléments finis, théorie et mise en œuvre, parallélisation de schémas d’éléments finis)
  7. Cours : Partitionnement de graphe. Analyse de problèmes non-structurés (parallélisation de schémas d’éléments finis)
  8. Cours : Méthodes de décomposition de domaine
  9. Examen écrit

Partie "Programmation parallèle et projets"

  1. Cours : Introduction à la programmation parallèle et à MPI + TD : Commandes MPI
  2. Cours : MPI, analyse de performance, nouvelles architectures + TD : Utilisation de cluster et commandes MPI
  3. TD : Exercices de MPI
  4. Projet 1 (a)
  5. Projet 1 (b)
  6. Projet 1 (c)
  7. Examen oral (présentation du projet 1)
  8. Projet 2 (a)
  9. Projet 2 (b)
  10. Projet 2 (c)

Mots clés

Algorithmique parallèle ; Simulation numérique ; Résolution de systèmes linéaires ; Programmation parallèle ; MPI

Méthodes pédagogiques

Cours magistraux, travaux dirigés et projets de programmation
Veuillez patienter