Content area
The cryosphere plays a crucial role in the Earth's climate system, making accurate sea-ice simulation essential for improving climate projections. To achieve higher-resolution simulations, graphics processing units (GPUs) have become increasingly appealing due to their higher floating-point peak performance compared to central processing units (CPUs). However, harnessing the full theoretical performance of GPUs often requires significant effort in redesigning algorithms and careful implementation. Recently, several frameworks have emerged that aim to simplify general-purpose GPU programming. In this study, we evaluate multiple such frameworks, including CUDA, SYCL, Kokkos, and PyTorch, for the parallelization of neXtSIM-DG, a finite-element-based dynamical core for sea ice. Based on our assessment of usability and performance, CUDA demonstrates the best performance while Kokkos is a suitable option for its robust heterogeneous computing capabilities. Our complete implementation of the momentum equation using Kokkos achieves a 6-fold speedup on the GPU compared to our OpenMP-based CPU code, while maintaining competitiveness when run on the CPU. Additionally, we explore the use of lower-precision floating-point types on the GPU, showing that switching to single precision can further accelerate sea-ice codes.
Details
; Lessig, Christian 2
; Richter, Thomas 3
1 Institute of Simulation and Graphics, Otto von Guericke University, Magdeburg, Germany; Institute of Analysis and Numerics, Otto von Guericke University, Magdeburg, Germany
2 Institute of Simulation and Graphics, Otto von Guericke University, Magdeburg, Germany; European Centre for Medium-Range Weather Forecasts, Bonn, Germany
3 Institute of Analysis and Numerics, Otto von Guericke University, Magdeburg, Germany