Add Sparse Direct Solver Support via TPLs
We (Exawind's OpenTurbine project) would like for KokkosKernels to provide an interface to general sparse matrix solvers, similar to how it provides the gesv interface for dense solvers. cuSOLVER, rocSOLVER, etc all provide reasonably optimized solvers, so the goal would just be for KokkosKernels to provide a wrapper around the TPLs.
Why: For our problem size, dense matrices are incredibly large and slow to solve, but we are small enought that we don't need the complexity of multi-node solutions like Tpetra and Amesos2. Using Kokkos as an interface like we do for our sparse matrix multiplication and addition kernels would give us a big performance boost while keeping our TPLs lightweight.
Hi @ddement
if your library already has access to Amesos2, you might note that you can drive it to use TPLs like SuperLU (not the _dist variant) to get single node solvers working. Tpetra itself can also be configured without MPI support...
If you really want to stick to Kokkos Core and Kernels instead that's fine but we might want to have a discussion with you and understand the requirements and timeline you desire.
@lucbv We can do Amesos2+Tpetra (I'm working on that right now), but there's a push for us to keep dependencies/build complexity to a minimum, so we wanted to explore this avenue in order to avoid pulling in Trilinos.
I'm up for a discussion whenever works best for you. If planning would work better as a Teams meeting, we can do that as well.
Hey, sorry for getting back to this late, was on travel recently. Do you have time this week to setup a meeting?
@lucbv Hey, sorry this got put on the back burner - we were able to work around this by using Amesos2 for a while, but we'd still much prefer to be Kokkos+KokkosKernels only. Do you have any time in the next week or so to meet up and discuss?
Next week Monday afternoon and Wednesday would be good for me if you want to setup a meeting?