Spherical harmonic transform on heterogeneous architectures using hybrid programming

Spherical Harmonic Transforms (SHT) are at the heart of many scientific and practical applications ranging from climate modeling to cosmological observations. In many of these areas a new wave of exciting, cutting-edge science goals have been recently proposed calling for simulations and analyses of actual experimental or observational data at very high resolutions, accompanied by producing or processing unprecedented volumes of the data. Both these aspects pose formidable challenge for the currently existing implementations of the transforms. This paper describes a multi CPU-GPUs implementation of an inverse SHT, based on hybrid programming combining MPI and CUDA, and discusses its tests as motivated by these forthcoming applications. We present performance comparisons of the multi GPU version and a hybrid, MPI/OpenMP version of the same transform. We find that one NVIDIA Tesla S1070 can accelerate overall execution time of the SHT by as much as 3 times with respect to the MPI/OpenMP version executed on one quad-core processor (Intel Nehalem 2.93 GHz) and, owing to very good scalability of both versions, 128 Tesla cards perform as good as 256 twelve-core processor (AMD Opteron 2.1 GHz). Key-words: Spherical Harmonic Transforms, hybrid architectures, hybrid programming, OpenMP, CUDA, Multi-GPU ∗ INRIA Saclay-̂Ile de France, F-91893 Orsay, France (mikolaj.szydlarski@inria.fr). † Laboratoire de Recherche en Informatique, Bat 490, Université Paris-Sud 11, France (pierre.esterie@lri.fr). ‡ Laboratoire de Recherche en Informatique, Bat 490, Université Paris-Sud 11, France (joel.falcou@lri.fr). § INRIA Saclay-Ile de France, Bat 490, Université Paris-Sud 11, France (laura.grigori@inria.fr). ¶ CNRS, Laboratoire Astroparticule et Cosmologie, Université Paris Diderot, France (radek@apc.univ-paris7.fr). in ria -0 05 97 57 6, v er si on 1 1 Ju n 20 11 Spherical harmonic transform on heterogeneous architectures using hybrid programming Résumé : Les transformations en harmoniques sphériques (SHT) sont au cœur de nombreuses applications scientifiques et pratiques allant de la modélisation du climat aux observations cosmologiques. Ces domaines nécessitent des simulations et des analyses de données expérimentales engendrant des larges volumes de données. Ceci représente un défi important pour les implémentations actuelles des transformations en harmoniques sphériques. Ce papier décrit la mise en œuvre multi CPU-GPU d’une SHT inverse, basée sur une programmation hybride, combinant MPI et CUDA. Nous comparons les performances de la version multi GPU par rapport à une version hybride MPI / OpenMP de la même transformation. Nous constatons qu’une NVIDIA Tesla S1070 peut exécuter la SHT 3 fois plus rapidement que la version MPI / OpenMP exécutée sur un processeur quad-core (Intel Nehalem cadencé à 2,93 GHz) . De plus, en raison d’un très bon passage à l’échelle des deux versions, 128 cartes Tesla donnent d’aussi bonnes performances que 256 processeurs à 12 coeurs (AMD Op te ron 2,1 GHz). Mots-clés : transformations en harmoniques sphériques, Multi-GPU, CUDA, OpenMP, architectures hybrides, programmation hybride in ria -0 05 97 57 6, v er si on 1 1 Ju n 20 11 Spherical harmonic transform on heterogeneous architectures using hybrid programming 3