Development of performance portable spline solver for exa-scale plasma turbulence simulation - Asahi, Yuuichi; Legouix, Baptiste; Bourne, Emily; Padioleau, Thomas; Bigot, Julien; Grandgirard, Virginie; Obrejan, Kevin (SC24-W: Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis, 2024)
This paper describes the development of performance portable spline building kernels on top of Kokkos-kernels. We wish to solve a single matrix equation with multiple right-hand sides. This problem is quite unique and thus neither Kokkos-kernels (direct method) nor Ginkgo (iterative methods) is optimized for this. We develop the required solvers in Kokkos-kernels with a batched serial implementation and optimize them using kernel fusion and sparse matrix storage. We demonstrate that our spline solver works efficiently on NVIDIA A100 and AMD MI250X GPUs, while keeping a reasonable performance on CPUs. This effort significantly reduces the development and maintenance cost of spline solvers on exa-scale supercomputing systems.