Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tpetra::CrsMatrix::localSolve: Fix CUDA debug-mode run-time errors
@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.
- Loading branch information