Survey on Efficient Linear Solvers for Porous Media Flow Models on Recent Hardware Architectures
Revue des algorithmes de solveurs linéaires utilisés en simulation de réservoir, efficaces sur le architectures matérielles modernes
1
IFP Energies nouvelles, 1-4 avenue de Bois-Préau, 92852
Rueil-Malmaison Cedex – France
2
SimuNova, Helmholtzstr. 10, 01069
Dresden – Germany
3
Institute Scientific Computing, TU Dresden, 01062
Dresden – Germany
e-mail: ani.anciaux-sedrakian@ifpen.fr – peter.gottschling@simunova.com – jean-marc.gratien@ifpen.fr – thomas.guignon@ifpen.fr
* Corresponding author
In the past few years, High Performance Computing (HPC) technologies led to General Purpose Processing on Graphics Processing Units (GPGPU) and many-core architectures. These emerging technologies offer massive processing units and are interesting for porous media flow simulators may used for CO2 geological sequestration or Enhanced Oil Recovery (EOR) simulation. However the crucial point is “are current algorithms and software able to use these new technologies efficiently?”
The resolution of large sparse linear systems, almost ill-conditioned, constitutes the most CPU-consuming part of such simulators. This paper proposes a survey on various solver and preconditioner algorithms, analyzes their efficiency and performance regarding these distinct architectures. Furthermore it proposes a novel approach based on a hybrid programming model for both GPU and many-core clusters. The proposed optimization techniques are validated through a Krylov subspace solver; BiCGStab and some preconditioners like ILU0 on GPU, multi-core and many-core architectures, on various large real study cases in EOR simulation.
Résumé
Depuis quelques années, en calculs haute performance les constructeurs ont recours de plus en plus à des architectures basées sur des unités de calculs multicœurs éventuellement accélérées avec des cartes de type GPGPU. (General Purpose Processing on Graphics Processing Units). L’interêt de telles architectures offrant un grand nombre d’unités de calcul pourrait être grand pour le domaine de la simulation d’écoulements multiphasique en milieu poreux, utilisée par exemple dans les applications de type séquestration géologique du CO2 ou simulateur de récupération avancée de pétrole dans des réservoirs. Il faut néanmoins vérifier si les algorithmes des logiciels actuels sont adaptés pour être efficaces avec ces nouvelles technologies.
La résolution de grands systèmes linéaires creux constitue souvent la partie la plus coûteuse des simulateurs d’écoulement en milieu poreux. En effet, ces systèmes sont souvent mal conditionnés dû au caractère souvent très hétérogène et anisotrope des données géologiques. Les solveurs linéaires constituent pour ces raisons un point crucial pour les performances de ces simulateurs. Dans cet article, nous proposons un panorama des différents algorithmes de solveurs linéaires et de préconditionneurs utilisés dans nos applications. Nous analysons leur efficacité numérique et leur performance en fonction de différentes configurations matérielles. Nous proposons une nouvelle approche, basée sur la programmation hybride, performante sur des architectures hétérogènes à base de processeurs multicœurs ou d’accélérateurs de type GPGPU. Cette approche est validée dans l’implémentation d’un BiCGStab préconditionné avec des algorithmes de type ILU(0), BSSOR, préconditionneur polynomial ou CPR-AMG. Des tests de performances ont alors été effectués sur differents cas d’études d’écoulement en milieu poreux, utilisant des maillages de grande taille.
© 2014, IFP Energies nouvelles