Abstract
Next-generation gravitational wave detectors such as Cosmic Explorer, the
Einstein Telescope, and LISA, demand highly accurate and extensive
gravitational wave (GW) catalogs to faithfully extract physical parameters from
observed signals. However, numerical relativity (NR) faces significant
challenges in generating these catalogs at the required scale and accuracy on
modern computers, as NR codes do not fully exploit modern GPU capabilities. In
response, we extend NRPy, a Python-based NR code-generation framework, to
develop NRPyEllipticGPU -- a CUDA-optimized elliptic solver tailored for the
binary black hole (BBH) initial data problem. NRPyEllipticGPU is the first
GPU-enabled elliptic solver in the NR community, supporting a variety of
coordinate systems and demonstrating substantial performance improvements on
both consumer-grade and HPC-grade GPUs. We show that, when compared to a
high-end CPU, NRPyEllipticGPU achieves on a high-end GPU up to a sixteenfold
speedup in single precision while increasing double-precision performance by a
factor of 2--4. This performance boost leverages the GPU's superior parallelism
and memory bandwidth to achieve a compute-bound application and enhancing the
overall simulation efficiency. As NRPyEllipticGPU shares the core
infrastructure common to NR codes, this work serves as a practical guide for
developing full, CUDA-optimized NR codes.