-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make KokkosSparse::trsv wrap cuSPARSE's sparse triangular solve #48
Comments
@trilinos/tpetra @trilinos/ifpack2 Ifpack2's unit tests were failing for me in a debug build (Kokkos_ENABLE_DEBUG:BOOL=ON), because Kokkos::DualView was complaining about "concurrent modification" on device and host. The issue was that Tpetra::CrsMatrix::localSolve was sync'ing to device, then running KokkosSparse::trsv. The latter function currently runs on host only, however. This commit fixes the test failure by changing localSolve, first to sync to host before the local solve, then to sync back to device after the local solve. General Tpetra preference is to move away from implementing things like sparse triangular solve in Tpetra. Ifpack2 has already started supporting this. See also the relevant kokkos-kernels issue, kokkos/kokkos-kernels#48.
Deprecate and get rid of it. Calling it straight from ShyLU/HTS or LocalSparse containers such as in Ifpack2 is better option. |
Ok we gonna do that and add MKL as well. The more complicated but better performing variants are gonna stay in a separate package. |
@crtrott Please feel free to move the current sequential sparse triangular solve to Tpetra if you want to remove it from KK. Just please put it in Tpetra::Details. Thanks! |
@lucbv Is this issue still valid? |
Or any TPL. Alternately, get rid of KokkosSparse::trsv. The current implementation is sequential and implicitly assumes UVM.
The text was updated successfully, but these errors were encountered: