affiliation={HiePACS – INRIA Bordeaux – Sud-Ouest, Laboratoire Bordelais de Recherche en Informatique – LaBRI , Mechanical Engineering Department, Institute for Computational and Mathematical Engineering – iCME, Department of Mechanical Science and Engineering},
High performance FMM is crucial for the numerical simulation of many physical problems. In a previous study, we have shown that task-based FMM provides the flexibility required to process a wide spectrum of particle distributions efficiently on multicore architectures. In this paper, we now show how such an approach can be extended to fully exploit heterogeneous platforms. For that, we design highly tuned GPU versions of the two dominant operators (P2P and M2L) as well as a scheduling strategy that dynamically decides which proportion of subsequent tasks are processed on regular CPU cores and on GPU accelerators. We assess our method with the StarPU runtime system for executing the resulting task flow on an Intel X5650 Nehalem multicore processor possibly enhanced with one, two or three Nvidia Fermi M2070 or M2090 GPUs. A detailed experimental study on two 30 million particle distributions (a cube and an ellipsoid) shows that the resulting software consistently achieves high performance across architectures.