Swarm-NG: a CUDA Library for Parallel n-body Integrations with focus on Simulations of Planetary Systems
Saleh Dindar, Eric B. Ford, Mario Juric, Young In Yeo, Jianwei Gao,, Aaron C. Boley, Benjamin Nelson, Jorg Peters

TL;DR
Swarm-NG is a CUDA-based C++ library optimized for parallel integration of multiple small n-body planetary systems, enabling efficient simulations for planetary formation, stability analysis, and exoplanet observations.
Contribution
It introduces a GPU-accelerated framework specifically designed for many few-body systems, with optimized integrators and customizable algorithms for planetary system simulations.
Findings
Achieves high performance on NVIDIA GPUs for small n-body systems.
Provides optimized 4th order Hermite and symplectic integrators.
Facilitates large-scale planetary system studies with efficient parallelization.
Abstract
We present Swarm-NG, a C++ library for the efficient direct integration of many n-body systems using highly-parallel Graphics Processing Unit (GPU), such as NVIDIA's Tesla T10 and M2070 GPUs. While previous studies have demonstrated the benefit of GPUs for n-body simulations with thousands to millions of bodies, Swarm-NG focuses on many few-body systems, e.g., thousands of systems with 3...15 bodies each, as is typical for the study of planetary systems. Swarm-NG parallelizes the simulation, including both the numerical integration of the equations of motion and the evaluation of forces using NVIDIA's "Compute Unified Device Architecture" (CUDA) on the GPU. Swarm-NG includes optimized implementations of 4th order time-symmetrized Hermite integration and mixed variable symplectic integration, as well as several sample codes for other algorithms to illustrate how non-CUDA-savvy users may…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
