Master 2013 2014
Stages de la spécialité SAR
Simulations astrophysiques sur architecture hybride CPU-GPU


Site :Trac-Simulations astrophysiques sur architecture hybride CPU-GPU
Lieu :Equipe PEQUAN / LIP6
Encadrant : Pierre FORTIN (http://www-pequan.lip6.fr/~fortin/)
Dates :du 01/04/2014 au 31/08/2014
Rémunération :Rémunération standard UPMC

Description

En astrophysique, l’étude de la dynamique des galaxies s’appuie sur la simulation numérique à grande échelle de « N » corps correspondant à des éléments de galaxie. Le calcul des interactions (i.e. la force gravitationnelle) entre ces N corps correspond au problème à N-corps. L’algorithme falcON (Force ALgorithm of Complexity O(N)) [1] permet d’obtenir des simulations très efficaces dans ce contexte astrophysique. Cet algorithme combine en effet les avantages respectifs de diverses méthodes, toutes basées sur un octree (comme l’algorithme de Barnes-Hut ou les méthodes multipoles rapides), et s’appuie sur un double parcours récursif de cet octree. Le code correspondant (disponible dans la plate-forme NEMO [2] [3]), est ainsi le plus rapide au monde en séquentiel (d’un facteur au moins 10 avec ses concurrents [4]).

Récemment, nous avons très efficacement parallélisé ce code sur CPU multi-coeurs grâce à du parallélisme de tâches (OpenMP, Intel TBB) et grâce à une programmation SPMD des unités vectorielles (via ispc - Intel SPMD Program Compiler) [5]. Nous obtenons ainsi des performances équivalentes (sur CPU multi-coeurs) aux meilleurs algorithmes actuels sur GPU. Nous souhaitons désormais pouvoir associer les avantages algorithmiques de falcON à la puissance de calcul des GPU.

La nouvelle architecture APU (Accelerated Processing Unit, ou Fusion) de la société AMD associe sur une même puce un CPU et un GPU. Ceci permet au CPU et au GPU d’accéder à une même mémoire physique, et d’éviter ainsi les transferts de données via le bus PCI qui pénalisent les performances de nombreuses applications sur GPU : les toutes dernières consoles de jeux (Sony PlayStation 4 et Microsoft Xbox One) sont ainsi basées sur ces nouveaux APU. Cette caractéristique matérielle permet notamment de mettre en place de nouveaux algorithmes hybrides CPU-GPU qui peuvent exploiter, en parallèle et au mieux, les points forts de chaque architecture.

Le but de ce stage est donc de déployer le plus efficacement possible notre version parallèle de l’algorithme falcON sur APU. Une analyse de l’algorithme sera nécessaire au préalable pour identifier les calculs à effectuer sur la partie GPU de l’APU, et ceux à conserver sur la partie CPU. Une implémentation (par exemple en OpenCL) et des tests de performances devront montrer les gains obtenus par rapport à la version pour CPU multi-coeur. Des réponses algorithmiques adéquates devront alors être apportées pour résoudre les problèmes de performance rencontrés.

Aucune compétence en astrophysique n’est requise pour ce stage.

Ce stage pourra conduire à une thèse dans le domaine du calcul scientifi-que haute performance, par exemple au sein de l’Institut du Calcul et de la Simulation de l’UPMC (http://www.ics.upmc.fr/).

Bibliographie

[1] W. Dehnen. A hierarchical O(N) force calculation algorithm. Journal of Computational Physics, 179 :2742, 2002.

[2] NEMO - A Stellar Dynamics Toolbox :http://bima.astro.umd.edu/nemo

[3] gyrfalcON (public version) : http://bima.astro.umd.edu/nemo/man_...

[4] P. Fortin, E. Athanassoula, and J.-C. Lambert. Comparisons of different codes for galactic N-body simulations. Astronomy & Astrophysics, 531, A120, 2011.

[5] B. Lange, P. Fortin. Parallel dual tree traversal on multi-core and many-core architectures for astrophysical N-body simulations. En cours de soumission.