Optimisation d’un code de dynamique des fluides
By   |  October 15, 2013

Le code NSIBM résout les équations de Navier-Stokes incompressibles par une méthode de volumes finis sur un maillage cartésien non-structuré. Le code utilise la méthode des frontières immergées (Immersed Bounday Method) qui permet de traiter des  géométries complexes fixes ou mobiles tout en conservant un maillage cartésien. Le code est parallélisé en MPI et s’appuie sur la librairie METIS pour partitionner le maillage.

L’utilisation de NSIBM pour simuler par exemple l’écoulement laminaire à Reynolds 500 dans un faisceau de cylindres en 2D est illustré sur la figure 1. La figure représente les lignes de courant et le champ de pression.

Fig. 1 – Lignes de courant et pression pour un écoulement dans un faisceau de cylindres.

Interface avec PETSc

Comme beaucoup de codes de dynamique des fluides incompressibles, NSIBM passe la partie la plus importante du temps de calcul dans la résolution de systèmes linéaires, pour calculer la pression et la vitesse à chaque pas de temps (la convergence est beaucoup plus difficile pour la pression).  Ces systèmes sont de grande taille et creux, ce qui justifie l’utilisation de  méthodes itératives. On sait que, dans ce cas, un composant crucial est le préconditionnement, qui consiste à résoudre un système voisin du système initial, pour en accélérer la résolution.  La version de départ de NSIM utilisait la bibliothèque PSBLAS (de l’université de Rome). Une interface vers la bibliothèque PETSc, qui propose un vaste choix de méthodes de résolution et de préconditionnement, et qui permet de manière très simple d’expérimenter différentes méthodes, a été réalisée.

L’utilisation de PETSc  a permis de résoudre la pression (pour la vitesse, la méthode “bi CG STABilised” s’est avérée suffisamment performante) par une méthode multigrilles algébrique, dont l’efficacité pour ce type de problèmes est bien connue. Elle a également permis de mettre en place une optimisation qui consiste à réutiliser le préconditionneur pour résoudre plusieurs systèmes successifs, tant que la convergence de la méthode itérative est suffisamment rapide. Comme la bonne performance des méthodes multigrilles se paye par un coût élevé de construction, pouvoir réutiliser le préconditionneur sur plusieurs pas de temps conduit à un gain substantiel sur le temps de calcul. La figure 2 compare les performances de PSBLAS avec celles de PETSc, d’abord dans le cas où l’on n’utilise pas de solveur multigrilles, puis dans un cas où ce solveur est mis en œuvre, avec réutilisation du préconditionneur sur plusieurs pas de temps, On constate que le temps de calcul a été réduit d’un facteur supérieur à 2,5, qui s’accompagne d’une meilleure scalabilité du code.

Fig. 2 – Performances des différentes méthodes algébriques.

Visualisation en temps réel

Une intervention de nature différente a consisté à faire communiquer NSIBM avec l’outil de visualisation haute performance VisIt. Visit fournit une bibliothèque simple, libsim, qui permet à un code de calcul d’échanger directement des données avec le client de visualisation Visit (les deux pouvant être situés sur la même machine ou sur des machines distantes). Il est ainsi possible de visualiser les résultats de la simulation en temps réel, mais aussi de contrôler la simulation depuis la fenêtre de visualisation. Cela facilite la mise au point du code, et peut aussi limiter la quantité de donnés à sauvegarder.

Les perspectives

Ce travail permet d’illustrer ce que peut apporter la collaboration entre un développeur de codes de calcul qui connaît l’application et des ingénieurs spécialistes du HPC et des supercalculateurs. D’autres limites à la performance parallèle de NSIBM ont été identifiées, mais les remèdes n’ont pas encore pu être mis en œuvre faute de temps. Ils concernent en premier lieu le partitionnement du maillage, qui dans l’état actuel du code consomme trop de ressources.

F. Houssen (1), Y. Hoarau (2), R. David (2), M. Kern (1)
(1) Maison de la Simulation ;
(2) Université de Strasbourg.

[Cet article fait partie du dossier Journée Meso-Challenges 2013 : le compte-rendu !]

© HPC Today 2024 - All rights reserved.

Thank you for reading HPC Today.

Express poll

Do you use multi-screen
visualization technologies?

Industry news

Brands / Products index