A sparse octree gravitational N-body code that runs entirely on the GPU processor
Leiden Observatory, Leiden University, P.O. Box 9513, 2300 RA Leiden, The Netherlands
arXiv:1106.1900v1 [astro-ph.IM] (9 Jun 2011)
@article{2011arXiv1106.1900B,
author={B{‘e}dorf}, J. and {Gaburov}, E. and {Portegies Zwart}, S.},
title={"{A sparse octree gravitational N-body code that runs entirely on the GPU processor}"},
journal={ArXiv e-prints},
archivePrefix={"arXiv"},
eprint={1106.1900},
primaryClass={"astro-ph.IM"},
keywords={Astrophysics – Instrumentation and Methods for Astrophysics, Computer Science – Distributed, Parallel, and Cluster Computing},
year={2011},
month={jun},
adsurl={http://adsabs.harvard.edu/abs/2011arXiv1106.1900B},
adsnote={Provided by the SAO/NASA Astrophysics Data System}
}
We present parallel algorithms for constructing and traversing sparse octrees on graphics processing units (GPUs). The algorithms are based on parallel-scan and sort methods. To test the performance and feasibility, we implemented them in CUDA in the form of a gravitational tree-code which completely runs on the GPU.(The code is publicly available at: http://castle.strw.leidenuniv.nl/software.html) The tree construction and traverse algorithms are portable to many-core devices which have support for CUDA or OpenCL programming languages. The gravitational tree-code outperforms tuned CPU code during the tree-construction and shows a performance improvement of more than a factor 20 overall, resulting in a processing rate of more than 2.8 million particles per second.
June 14, 2011 by hgpu