Notice
Parallélisation par l'intermédiaire d'une fenêtre à mémoire partagée (MPI 3.0) : application à un code de mécanique des fluides
- document 1 document 2 document 3
- niveau 1 niveau 2 niveau 3
Descriptif
JADIM est un code de calcul de mécanique des fluides développé en Fortran 90 à l'Institut de Mécanique des Fluides de Toulouse (IMFT). Ce code qui résout les équations de Navier-Stokes tridimensionnelles, incompressibles et instationnaires en utilisant une méthode de volumes finis en maillages structurés permet une description fine de nombreux phénomènes physiques présents dans les écoulements multiphasiques incompressibles. JADIM est un code en partie parallélisée par la technique Single Program Multiple Data (SPMD) avec la librairie MPI et tourne sur plusieurs milliers de processus sur les centres de calcul régional et nationaux.
Actuellement cette parallélisation est réalisée sur la plupart des variables du code sauf pour celles stockant la géométrie et les conditions aux limites. Ces variables ne sont pas distribuées en mémoire, ce qui signifie que tous les processus du même nœud de calcul les stockent. Cette caractéristique devient limitant en mémoire pour les simulations avec de très grands maillages, au-delà de 100 millions de cellules.
Une réponse directe à ce problème est de dépeupler les nœuds de calculs, et ainsi perdre en efficacité de calcul. Une autre, plus indirecte, est d'étendre la parallélisation distribuée (SPMD) aux variables qui stockent la géométrie et les conditions aux limites, ce qui est long et fastidieux car cela nécessite de reprendre l'ensemble du code.
Une réponse plus originale a été d'utiliser une nouvelle approche de programmation introduite dans la norme MPI 3.0 nommée Remote Memory Access (RMA), en particulier la fonctionnalité qui permet de partager une zone de mémoire à différents processus d'un même nœud de calcul [1], [2].
Au cours de cet exposé, nous présenterons l'approche RMA et nous expliquerons comment nous l'avons adapté à notre besoin [3]. Nous ferons une rapide présentation de son implémentation dans le code de mécanique des fluides JADIM appliqué aux variables contenant la géométrie et les conditions aux limites [3].
Enfin, nous regarderons ce que cette méthode a apporté pour (i) la performance de la mémoire : les gains mémoire obtenus pour un calcul au sein d'un même nœud de calcul et (ii) la conséquence sur les tailles de maillage, et (iii) la performance en temps de calcul du code : les gains obtenus en temps de calculs pour un calcul entre le code JADIM non parallélisé par RMA et parallélisé par RMA.
Références
[1] William Gropp, Torsten Hoefler, Rajeev Thakur and Ewing Lusk : Using Advanced MPI, Modern Features of the Message-Passing Interface
[2] MPI : A Message-Passing Interface Standard Version 3.0, University of Tennessee
[3] M. Beauvillier, P. Elyakime, D. Legendre, Développement d'un outil de simulation numérique HPC pour l'étude des bombardiers d'eau
Thème
Documentation
Dans la même collection
-
Table ronde et discussions : infrastructures de calcul et ateliers de la donnée de recherche Data G…
CastexStéphanieRenardArnaudAlbaretLucieRenonNicolasDufayardJean-FrançoisPARTIE 2 : Les ateliers de la données
-
Table ronde et discussions : infrastructures de calcul et ateliers de la donnée de recherche Data G…
CastexStéphanieRenardArnaudAlbaretLucieRenonNicolasDufayardJean-FrançoisPARTIE 7 : Conclusion
-
Table ronde et discussions : infrastructures de calcul et ateliers de la donnée de recherche Data G…
CastexStéphanieRenardArnaudAlbaretLucieRenonNicolasDufayardJean-FrançoisPARTIE 4 : Des interactions croisées, liens entre le calcul et les données.
-
Table ronde et discussions : infrastructures de calcul et ateliers de la donnée de recherche Data G…
CastexStéphanieRenardArnaudAlbaretLucieRenonNicolasDufayardJean-FrançoisPARTIE 1 : Introduction et présentation des intervenants
-
Table ronde et discussions : infrastructures de calcul et ateliers de la donnée de recherche Data G…
CastexStéphanieRenardArnaudAlbaretLucieRenonNicolasDufayardJean-FrançoisPARTIE 6 : L'accompagnement autour de la gestion des données
-
Table ronde et discussions : infrastructures de calcul et ateliers de la donnée de recherche Data G…
CastexStéphanieRenardArnaudAlbaretLucieRenonNicolasDufayardJean-FrançoisPARTIE 3 : les liens entre les structures
-
Table ronde et discussions : infrastructures de calcul et ateliers de la donnée de recherche Data G…
CastexStéphanieRenardArnaudAlbaretLucieRenonNicolasDufayardJean-FrançoisPARTIE 5 : Des interactions croisées, à propos des compétences
-
Présentation du dashboard ReproVIP pour visualiser la reproductibilité dans l'imagerie médicale
BonnetAxelLa plateforme d'imagerie virtuelle VIP [1] (https://vip.creatis.insa-lyon.fr) est un portail web de simulation et d'analyse d'images médicales. Elle existe depuis plus de 10 ans et a évolué pour
-
MesoNET : Structuration nationale des mésocentres de Calcul et de Données
RenardArnaudMesoNET répond aux besoins régionaux de calcul pour la recherche académiques, la formation et les entreprises en proposant des équipements structurants.
-
Fast Polynomial Evaluation (présentation + demo)
VigneronFrançoisWe propose a new algorithm for quickly evaluating polynomials. The FPE algorithm pre-conditions a complex polynomial P of degree d in time O(d log d), with a low multiplicative constant independent
-
Présentation des performances paralléles du code QDD CUDA Fortran sur différentes Architectures GPU
PaipuriMahendraQDD est l'acronyme de Quantum Dissipative Dynamics, un ensemble de théories développées pour prendre en compte les corrélations dynamiques incohérentes dans les clusters et les molécules.
-
Using High Performance Computing to decipher the impact of ageing process on collagens
DepenveillerCamillePlant cells have to face environmental stress, and in this context, being able to decipher the organization of the plant plasma membrane is a key point to better understand this adaptability of plasma