Iterative Poisson Solvers for Self-gravity with the GPU Code Astaroth
Iterative Poisson Solvers for Self-gravity with the GPU Code Astaroth
Ruben Krasnopolsky, Touko Puro, Wei-Wen Li, Hsien Shang, Miikka S. Väisälä, Mordecai-Mark Mac Low, Matthias Rheinhardt, Maarit Korpi-Lagg
AbstractWe present the development and benchmarking of Poisson solvers for graphics processing units (GPUs). Implemented in the Astaroth platform, the solvers feature high computational efficiency. We present novel combinations of discretizations and smoothers and document practical and performance-focused implementations aimed at reducing time-to-solution for self-gravitating systems. We describe the solver architectures and validate their accuracy against known analytic solutions. We measure convergence and timing per iteration for various solver algorithms, including conjugate gradient, successive overrelaxation, and multigrid in Cartesian coordinates, along with biconjugate gradient stabilized in spherical coordinates. We also couple the solvers to the Astaroth hydrodynamics to simulate a classic time-dependent problem in star formation, measuring accuracy and time-to-solution, for self-gravity on three-dimensional structured grids. Our results demonstrate that the solvers achieve performance similar to other algorithms implemented in Astaroth, and provide a solid foundation for integration into production-scale astrophysical simulations.