English

Sapporo2: A versatile direct $N$-body library

Instrumentation and Methods for Astrophysics 2015-10-15 v1 Mathematical Software

Abstract

Astrophysical direct NN-body methods have been one of the first production algorithms to be implemented using NVIDIA's CUDA architecture. Now, almost seven years later, the GPU is the most used accelerator device in astronomy for simulating stellar systems. In this paper we present the implementation of the Sapporo2 NN-body library, which allows researchers to use the GPU for NN-body simulations with little to no effort. The first version, released five years ago, is actively used, but lacks advanced features and versatility in numerical precision and support for higher order integrators. In this updated version we have rebuilt the code from scratch and added support for OpenCL, multi-precision and higher order integrators. We show how to tune these codes for different GPU architectures and present how to continue utilizing the GPU optimal even when only a small number of particles (N<100N < 100) is integrated. This careful tuning allows Sapporo2 to be faster than Sapporo1 even with the added options and double precision data loads. The code runs on a range of NVIDIA and AMD GPUs in single and double precision accuracy. With the addition of OpenCL support the library is also able to run on CPUs and other accelerators that support OpenCL.

Keywords

Cite

@article{arxiv.1510.04068,
  title  = {Sapporo2: A versatile direct $N$-body library},
  author = {Jeroen Bédorf and Evghenii Gaburov and Simon Portegies Zwart},
  journal= {arXiv preprint arXiv:1510.04068},
  year   = {2015}
}

Comments

15 pages, 7 figures. Accepted for publication in Computational Astrophysics and Cosmology

R2 v1 2026-06-22T11:20:02.088Z