Descriptif
Le calcul scientifique parallèle permet de résoudre des problèmes mathématiques en tirant parti de la puissance des architectures parallèles *(i.e. clusters composés de plusieurs processeurs).* Il s'agit d'un outil essentiel de la recherche et de l'industrie, utilisé dans des domaines aussi variés que la physique, le génie civil, la climatologie, l'aéronautique et la finance. Pour traiter des problèmes de taille et de complexité croissante avec précision, il est indispensable d'exploiter au mieux les ressources de calcul disponibles en adaptant les algorithmes de résolution numérique pour permettre un calcul efficace. L'objectif de ce cours est d'introduire les aspects théoriques et pratiques du calcul scientifique parallèle à mémoire distribuée, avec un accent particulier sur la résolution numérique parallèle de problèmes d'équations aux dérivées partielles*.* Le cours débutera par une introduction à l'algorithmique parallèle et à la programmation parallèle avec la bibliothèque MPI *(Message Passing Interface)*. Ensuite, on s'intéressera à la résolution parallèle efficace de systèmes linéaires de grande taille, notamment issus de discrétisations par différences finies et éléments finis. Le cours comprend des TPs d'initiation à MPI en C et des TPs/projet de mise en œuvre parallèle et d'analyse de méthodes numériques.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.
30 heures en présentiel