Parallel dual tree traversal on multi-core and many-core architectures for astrophysical N-body simulations
Sorbonne Universites, UPMC Univ Paris 06, Institut du Calcul et de la Simulation, 75005 Paris, France
hal-00947130, (14 February 2014)
@techreport{lange:hal-00947130,
hal_id={hal-00947130},
url={http://hal.upmc.fr/hal-00947130},
title={Parallel dual tree traversal on multi-core and many-core architectures for astrophysical N-body simulations},
author={Lange, Benoit and Fortin, Pierre},
language={Anglais},
affiliation={Laboratoire d’Informatique de Paris 6 – LIP6 , Institut du Calcul et de la Simulation – ICS},
pdf={http://hal.upmc.fr/hal-00947130/PDF/article.pdf}
}
In astrophysical N-body simulations, Dehnen’s algorithm, implemented in the serial falcON code and based on a dual tree traversal, is faster than serial Barnes-Hut tree-codes, but outperformed by parallel CPU and GPU tree-codes. In this paper, we present a parallel dual tree traversal, implemented in the pfalcON code, targeting multi-core CPUs and manycore architectures (Xeon Phi). We focus here on both performance and portability, while preserving Dehnen’s original algorithm. We first use task parallelism, with either OpenMP or Intel TBB, for the dual tree traversal. We then rely on the SPMD (single-program, multiple-data) model for the SIMD vectorization of the near field part thanks to the Intel SPMD Program Compiler. We compare the pfalcON performance to related work, and finally obtain performance results that match one of the best current tree-code implementations on GPU.
February 27, 2014 by hgpu