Pipelining the Fast Multipole Method over a Runtime System - Archive ouverte HAL Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2012

Pipelining the Fast Multipole Method over a Runtime System

Résumé

Fast Multipole Methods (FMM) are a fundamental operation for the simulation of many physical problems. The high performance design of such methods usually requires to carefully tune the algorithm for both the targeted physics and the hardware. In this paper, we propose a new approach that achieves high performance across architectures. Our method consists of expressing the FMM algorithm as a task flow and employing a state-of-the-art runtime system, StarPU, in order to process the tasks on the different processing units. We carefully design the task flow, the mathematical operators, their Central Processing Unit (CPU) and Graphics Processing Unit (GPU) implementations, as well as scheduling schemes. We compute potentials and forces of 200 million particles in 48.7 seconds on a homogeneous 160 cores SGI Altix UV 100 and of 38 million particles in 13.34 seconds on a heterogeneous 12 cores Intel Nehalem processor enhanced with 3 Nvidia M2090 Fermi GPUs.
Les méthodes multipôles rapides (FMM) sont une opération fondamentale pour la simulation de nombreux problèmes physiques. Leur mise en œuvre haute performance requiert habituellement d'optimiser attentivement l'algorithme à la fois pour la physique visée et la matériel utilisé. Dans ce papier, nous proposons une nouvelle approche qui atteint une performance élevée et portable. Note méthode consiste à exprimer l'algorithme FMM comme un flot de tâches et d'employer un moteur d'exécution, StarPU, afin de traiter les tâches sur les différentes unités d'exécution. Nous concevons précisément le flot de tâches, les opérateurs mathématiques, leur implémentations sur unité centrale de traitement (CPU) et processeur graphique (GPU) ainsi que les schémas d'ordonnancement. Nous calculons les potentiels et forces pour des problèmes de 200 millions de particules en 48.7 secondes sur une machine homogène SGI Altix UV 100 comportant 16O cœurs et de 38 millions de particules en 13.34 secondes sur une machine hétérogène composée d'un processeur Intel Nehalem accéléré avec 3 GPUs Nvidia Fermi M2090.
Fichier principal
Vignette du fichier
RR-7981.pdf (2.18 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00703130 , version 1 (01-06-2012)

Identifiants

Citer

Emmanuel Agullo, Bérenger Bramas, Olivier Coulaud, Eric Darve, Matthias Messner, et al.. Pipelining the Fast Multipole Method over a Runtime System. [Research Report] RR-7981, INRIA. 2012, pp.24. ⟨hal-00703130⟩
296 Consultations
381 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More