Using Runtime Systems Tools to Implement Efficient Preconditioners for Heterogeneous Architectures - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Oil & Gas Science and Technology - Revue d'IFP Energies nouvelles Année : 2016

Using Runtime Systems Tools to Implement Efficient Preconditioners for Heterogeneous Architectures

Utilisation de moteurs exécutifs pour une implémentation efficace de préconditionneurs sur architectures hétérogènes

Résumé

Solving large sparse linear systems is a time-consuming step in basin modeling or reservoir simulation. The choice of a robust preconditioner strongly impact the performance of the overall simulation. Heterogeneous architectures based on General Purpose computing on Graphic Processing Units (GPGPU) or many-core architectures introduce programming challenges which can be managed in a transparent way for developer with the use of runtime systems. Nevertheless, algorithms need to be well suited for these massively parallel architectures. In this paper, we present preconditioning techniques which enable to take advantage of emerging architectures. We also present our task-based implementations through the use of the HARTS (Heterogeneous Abstract RunTime System) runtime system, which aims to manage the recent architectures. We focus on two preconditoners. The first is ILU(0) preconditioner implemented on distributing memory systems. The second one is a multi-level domain decomposition method implemented on a shared-memory system. Obtained results are then presented on corresponding architectures, which open the way to discuss on the scalability of such methods according to numerical performances while keeping in mind that the next step is to propose a massively parallel implementations of these techniques.
La résolution de grands systèmes linéaires creux est une étape coûteuse de la modélisation de bassin ou la simulation de réservoir, et le choix de préconditionneurs robustes impacte fortement la performance de ceux-ci. Les architectures hétérogènes à base d'architectures de type General Purpose computing on Graphic Processing Units (GPGPU) ou many-coeurs introduisent de nouveaux challenges de programmation qui peuvent être gérés de manière transparente pour le développeur grâce à l'utilisation de moteurs exécutifs. Il faut néanmoins que les algorithmes soient adaptés à ce type d'architectures massivement parallèles. Nous présentons dans cet article les méthodes de préconditionnement permettant de tirer au maximum avantage des architectures émergentes. Nous présentons également une implémentation de celles-ci avec le moteur exécutif HARTS (Heterogeneous Abstract RunTime System) conçu pour gérer de manière efficace les architectures hétérogènes. Nous détaillons les implémentations de deux préconditionneurs. L'un est un préconditionneur ILU(0) porté sur architecture distribuée. L'autre est une méthode de décomposition de domaines multi-niveaux implémentée sur architecture à mémoire partagée. Après avoir détaillé ces deux préconditionneurs, une étude sur la portabilité de telles méthodes et leur scalabilité sur différents modèles d'architectures sera menée.
Fichier principal
Vignette du fichier
ogst150225.pdf (1.08 Mo) Télécharger le fichier
Origine : Fichiers éditeurs autorisés sur une archive ouverte
Loading...

Dates et versions

hal-01396153 , version 1 (14-11-2016)

Licence

Paternité

Identifiants

Citer

Adrien Roussel, Jean-Marc Gratien, Thierry Gautier. Using Runtime Systems Tools to Implement Efficient Preconditioners for Heterogeneous Architectures. Oil & Gas Science and Technology - Revue d'IFP Energies nouvelles, 2016, 71 (6), pp.65:1-13. ⟨10.2516/ogst/2016020⟩. ⟨hal-01396153⟩
320 Consultations
248 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More