Ifpack2: prepare for new kk_extract_diagonal_blocks_crsmatrix_with_rcb_sequential interface in Kokkos Kernels 5.1.0#15025
Conversation
…th_rcb_sequential interface in Kokkos Kernels 5.1.0 Signed-off-by: Vinh Dang <vqdang@sandia.gov>
|
CDash for AT2 results [Currently only accessible from Sandia networks] |
Signed-off-by: Vinh Dang <vqdang@sandia.gov>
|
Your PR updated files that did not respect package formatting settings. Patchdiff --git a/packages/ifpack2/src/Ifpack2_RILUK_def.hpp b/packages/ifpack2/src/Ifpack2_RILUK_def.hpp
index 9e57100a..5ca85685 100644
--- a/packages/ifpack2/src/Ifpack2_RILUK_def.hpp
+++ b/packages/ifpack2/src/Ifpack2_RILUK_def.hpp
@@ -573,7 +573,7 @@ void RILUK<MatrixType>::initialize() {
#if KOKKOS_VERSION >= 5099
reverse_perm_rcb_ = perm_view_t(Kokkos::view_alloc(Kokkos::WithoutInitializing, "reverse_perm_rcb_"), A_coordinates_lcl.extent(0));
#endif
- coors_rcb_ = coors_view_t(Kokkos::view_alloc(Kokkos::WithoutInitializing, "coors_rcb_"), A_coordinates_lcl.extent(0), A_coordinates_lcl.extent(1));
+ coors_rcb_ = coors_view_t(Kokkos::view_alloc(Kokkos::WithoutInitializing, "coors_rcb_"), A_coordinates_lcl.extent(0), A_coordinates_lcl.extent(1));
Kokkos::deep_copy(coors_rcb_, A_coordinates_lcl);
#if KOKKOS_VERSION >= 5099
local_ordinal_type n_levels = static_cast<local_ordinal_type>(std::log2(static_cast<double>(num_streams_)) + 1);More details about our use of clang-format and other tools can be found in the wiki. |
Signed-off-by: Vinh Dang <vqdang@sandia.gov>
Signed-off-by: Vinh Dang <vqdang@sandia.gov>
ndellingwood
left a comment
There was a problem hiding this comment.
Changes look reasonable, thanks @vqd8a !
|
@vqd8a let's hold off on merge until we address the old interface |
| #if KOKKOS_VERSION >= 50099 | ||
| local_ordinal_type n_levels = static_cast<local_ordinal_type>(std::log2(static_cast<double>(num_streams_)) + 1); | ||
| partition_sizes_rcb_ = KokkosGraph::Experimental::recursive_coordinate_bisection(coors_rcb_, perm_rcb_, reverse_perm_rcb_, n_levels); | ||
| KokkosSparse::Impl::kk_extract_diagonal_blocks_crsmatrix_with_rcb_sequential(lclMtx, perm_rcb_, reverse_perm_rcb_, partition_sizes_rcb_, |
There was a problem hiding this comment.
If this is something we're using outside KokkosSparse, it should not be in KokkosSparse::Impl. Please make a corresponding change in Kokkos Kernels to move this into KokkosSparse or KokkosSparse::Experimental.
There was a problem hiding this comment.
@cwpearson It is now in the Experimental namespace. Could you please review this again? Thanks.
Signed-off-by: Vinh Dang <vqdang@sandia.gov>
@trilinos/ifpack2 @trilinos/kokkos-kernels
This PR is to prepare for the change of the
kk_extract_diagonal_blocks_crsmatrix_with_rcb_sequential()interface in the upcoming KK 5.1.0 release. In the new interface, we will not call therecursive_coordinate_bisection(). Instead, the RCB ordering information is given as inputs. With this change, the RCB ordering information only needs to be computed once inRILUK::initialize().