@@ -986,10 +986,11 @@ class TwostageGaussSeidel {
986
986
Kokkos::subview (localZ, Kokkos::ALL (), range_type (j, j + 1 ));
987
987
single_vector_view_t Rj (localRj.data (), num_rows);
988
988
single_vector_view_t Zj (localZj.data (), num_rows);
989
+ my_exec_space
990
+ .fence (); // Wait for writes to R and Z to land, TODO: remove
989
991
sptrsv_solve (handle->get_gs_sptrsvL_handle (), crsmatL.graph .row_map ,
990
992
crsmatL.graph .entries , crsmatL.values , Rj, Zj);
991
- execution_space ()
992
- .fence (); // TODO: call sptrsv_solve on stream and remove
993
+ Kokkos::fence (); // TODO: call sptrsv_solve on stream and remove
993
994
}
994
995
} else {
995
996
using namespace KokkosSparse ::Experimental;
@@ -1002,10 +1003,11 @@ class TwostageGaussSeidel {
1002
1003
Kokkos::subview (localZ, Kokkos::ALL (), range_type (j, j + 1 ));
1003
1004
single_vector_view_t Rj (localRj.data (), num_rows);
1004
1005
single_vector_view_t Zj (localZj.data (), num_rows);
1006
+ my_exec_space
1007
+ .fence (); // Wait for writes to R and Z to land, TODO: remove
1005
1008
sptrsv_solve (handle->get_gs_sptrsvU_handle (), crsmatU.graph .row_map ,
1006
1009
crsmatU.graph .entries , crsmatU.values , Rj, Zj);
1007
- execution_space ()
1008
- .fence (); // TODO: call sptrsv_solve on stream and remove
1010
+ Kokkos::fence (); // TODO: call sptrsv_solve on stream and remove
1009
1011
}
1010
1012
}
1011
1013
0 commit comments