Mercury-Opal: the GPU-accelerated version of the n-body code for planet formation Mercury-Arxes
Paolo Simonetti, Diego Turrini, Romolo Politi, Scigé J. Liu, Sergio Fonte, Danae Polychroni, Stavro Lambrov Ivanovski
TL;DR
Mercury-Opal introduces a GPU-accelerated OpenACC port of the Mercury-Arxes n-body code to enable detailed planet-formation simulations with fully interacting bodies. The authors port five major loop blocks to the GPU while keeping the Bulirsch-Stoer-based close-encounter handling on the CPU, achieving up to a 2.2x wall-time speedup over the CPU serial run and a ~16x relative speedup when normalizing to a 1-body case. They provide extensive profiling and performance measurements, show careful data management between host and device, and validate energy conservation over long integrations, confirming numerical stability and physical fidelity. The work demonstrates that GPU acceleration, even with partial offloading and careful data handling, can substantially improve throughput for complex n-body planetary formation simulations and offers a portable, cross-platform path via OpenACC for broad community use.
Abstract
Large n-body simulations with fully interacting objects represent the next frontier in computational planetary formation studies. In this paper, we present Mercury-Opal, the GPU-accelerated version of the n-body planet formation code Mercury-Arxes.The porting to GPU computing has been performed through OpenACC to ensure cross-platform support and minimize the code restructuring efforts while retaining most of the performance increase expected from GPU computing. We tested Mercury-Opal against its parent code Mercury-Arxes under conditions that put GPU computing at disadvantage and nevertheless show how the GPU-based execution provides advantages with respect to CPU-serial execution even for limited computational loads.
