From 0895a713edf2b79b08eda749cbc1275c71a84e90 Mon Sep 17 00:00:00 2001 From: James Foucar Date: Fri, 12 Jan 2024 13:35:24 -0700 Subject: [PATCH 1/4] Make spiluk_handle::reset backwards compatible By making block_size default to -1, which means don't change block size. --- sparse/src/KokkosSparse_spiluk_handle.hpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/sparse/src/KokkosSparse_spiluk_handle.hpp b/sparse/src/KokkosSparse_spiluk_handle.hpp index a7298a7773..a2281f394a 100644 --- a/sparse/src/KokkosSparse_spiluk_handle.hpp +++ b/sparse/src/KokkosSparse_spiluk_handle.hpp @@ -132,21 +132,26 @@ class SPILUKHandle { vector_size(-1) {} void reset_handle(const size_type nrows_, const size_type nnzL_, - const size_type nnzU_, const size_type block_size_) { + const size_type nnzU_, const size_type block_size_ = -1) { set_nrows(nrows_); set_num_levels(0); set_nnzL(nnzL_); set_nnzU(nnzU_); - set_block_size(block_size_); + // user likely does not want to reset block size to 0, so set default + // to -1 + if (block_size_ != static_cast(-1)) { + set_block_size(block_size_); + } set_level_maxrows(0); set_level_maxrowsperchunk(0); - level_list = nnz_row_view_t("level_list", nrows_), - level_idx = nnz_lno_view_t("level_idx", nrows_), - level_ptr = nnz_lno_view_t("level_ptr", nrows_ + 1), - hlevel_ptr = nnz_lno_view_host_t("hlevel_ptr", nrows_ + 1), - level_nchunks = nnz_lno_view_host_t(), - level_nrowsperchunk = nnz_lno_view_host_t(), reset_symbolic_complete(), + level_list = nnz_row_view_t("level_list", nrows_); + level_idx = nnz_lno_view_t("level_idx", nrows_); + level_ptr = nnz_lno_view_t("level_ptr", nrows_ + 1); + hlevel_ptr = nnz_lno_view_host_t("hlevel_ptr", nrows_ + 1); + level_nchunks = nnz_lno_view_host_t(); + level_nrowsperchunk = nnz_lno_view_host_t(); iw = work_view_t(); + reset_symbolic_complete(); } virtual ~SPILUKHandle(){}; From da8826fb6fa365c8eb45901f8af76a3811a5e44d Mon Sep 17 00:00:00 2001 From: James Foucar Date: Mon, 15 Jan 2024 15:18:53 -0700 Subject: [PATCH 2/4] Switch default val for block_size for reset_handle --- sparse/src/KokkosSparse_spiluk_handle.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sparse/src/KokkosSparse_spiluk_handle.hpp b/sparse/src/KokkosSparse_spiluk_handle.hpp index a2281f394a..6eacdfc234 100644 --- a/sparse/src/KokkosSparse_spiluk_handle.hpp +++ b/sparse/src/KokkosSparse_spiluk_handle.hpp @@ -132,14 +132,14 @@ class SPILUKHandle { vector_size(-1) {} void reset_handle(const size_type nrows_, const size_type nnzL_, - const size_type nnzU_, const size_type block_size_ = -1) { + const size_type nnzU_, const size_type block_size_ = Kokkos::ArithTraits::max()) { set_nrows(nrows_); set_num_levels(0); set_nnzL(nnzL_); set_nnzU(nnzU_); // user likely does not want to reset block size to 0, so set default // to -1 - if (block_size_ != static_cast(-1)) { + if (block_size_ != Kokkos::ArithTraits::max()) { set_block_size(block_size_); } set_level_maxrows(0); From 8c657830c3bece7709b6a30addd64fa8e9972740 Mon Sep 17 00:00:00 2001 From: James Foucar Date: Mon, 15 Jan 2024 15:19:28 -0700 Subject: [PATCH 3/4] formatting --- sparse/src/KokkosSparse_spiluk_handle.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sparse/src/KokkosSparse_spiluk_handle.hpp b/sparse/src/KokkosSparse_spiluk_handle.hpp index 6eacdfc234..c867e85fcd 100644 --- a/sparse/src/KokkosSparse_spiluk_handle.hpp +++ b/sparse/src/KokkosSparse_spiluk_handle.hpp @@ -131,8 +131,9 @@ class SPILUKHandle { team_size(-1), vector_size(-1) {} - void reset_handle(const size_type nrows_, const size_type nnzL_, - const size_type nnzU_, const size_type block_size_ = Kokkos::ArithTraits::max()) { + void reset_handle( + const size_type nrows_, const size_type nnzL_, const size_type nnzU_, + const size_type block_size_ = Kokkos::ArithTraits::max()) { set_nrows(nrows_); set_num_levels(0); set_nnzL(nnzL_); From 981e68883667d5995463ea34c93714ea022ea076 Mon Sep 17 00:00:00 2001 From: James Foucar Date: Mon, 15 Jan 2024 15:20:52 -0700 Subject: [PATCH 4/4] Fix comment --- sparse/src/KokkosSparse_spiluk_handle.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sparse/src/KokkosSparse_spiluk_handle.hpp b/sparse/src/KokkosSparse_spiluk_handle.hpp index c867e85fcd..2b37d08f6e 100644 --- a/sparse/src/KokkosSparse_spiluk_handle.hpp +++ b/sparse/src/KokkosSparse_spiluk_handle.hpp @@ -139,7 +139,7 @@ class SPILUKHandle { set_nnzL(nnzL_); set_nnzU(nnzU_); // user likely does not want to reset block size to 0, so set default - // to -1 + // to size_type::max if (block_size_ != Kokkos::ArithTraits::max()) { set_block_size(block_size_); }