We present our experience of a platform-portable sparse linear algebra ibrary – Gingko. Previously, we already ported essential parts of our library like SpMV or Krylov solvers to oneAPI based on sycl-1.2.1. We present challenges and our solutions when porting functionality and in stayin up to date due to the changed SYCL 2020, issues with per-kernel code splitting, and supporting varying hardware. We generate kernels suitable for different devices and give our approach of pre-compiled kernels. To wrap up, we show some experimental results of preconditioners or Algebraic Multigrad.
Resources:
https://github.com/ginkgo-project/ginkgo/