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.
Michaël Unser, Alexis Marie Frederic Goujon, Sebastian Jonas Neumayer
Icíar Lloréns Jover, Michaël Unser, Shayan Aziznejad, Thomas Jean Debarre