From 84eb6e70d02b0f7d7c05a16c4d347654e14c23ea Mon Sep 17 00:00:00 2001 From: Luc Berger-Vergiat Date: Wed, 5 Feb 2025 16:01:34 -0700 Subject: [PATCH 1/4] Sparse - Gauss Seidel: moving GS out of experimental namespace Signed-off-by: Luc Berger-Vergiat --- .../sparse/KokkosSparse_wiki_gauss_seidel.cpp | 6 +- perf_test/sparse/KokkosSparse_gs.cpp | 10 +- perf_test/sparse/KokkosSparse_pcg.hpp | 12 +- sparse/src/KokkosSparse_gauss_seidel.hpp | 217 +++++++++++++++++- .../Test_Sparse_block_gauss_seidel.hpp | 16 +- sparse/unit_test/Test_Sparse_gauss_seidel.hpp | 30 +-- 6 files changed, 252 insertions(+), 39 deletions(-) diff --git a/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp b/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp index 0ecf5c1828..0231e24f15 100644 --- a/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp +++ b/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp @@ -60,12 +60,12 @@ int main() { Handle handle; handle.create_gs_handle(KokkosSparse::GS_DEFAULT); // Set up Gauss-Seidel for the graph (matrix sparsity pattern) - KokkosSparse::Experimental::gauss_seidel_symbolic(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, + KokkosSparse::gauss_seidel_symbolic(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, false); // Set up Gauss-Seidel for the matrix values (numeric) // Another matrix with the same sparsity pattern could re-use the handle and // symbolic phase, and only call numeric. - KokkosSparse::Experimental::gauss_seidel_numeric(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, + KokkosSparse::gauss_seidel_numeric(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, A.values, false); // Now, preconditioner is ready to use. Set up an unknown vector // (uninitialized) and randomized right-hand-side vector. @@ -87,7 +87,7 @@ int main() { // * to zero out x (it was uninitialized) // * that b has changed since the previous apply (since there was no // previous apply) - KokkosSparse::Experimental::forward_sweep_gauss_seidel_apply( + KokkosSparse::forward_sweep_gauss_seidel_apply( &handle, numRows, numRows, A.graph.row_map, A.graph.entries, A.values, x, b, firstIter, firstIter, one, 1); firstIter = false; // Now, compute the new residual norm using SPMV diff --git a/perf_test/sparse/KokkosSparse_gs.cpp b/perf_test/sparse/KokkosSparse_gs.cpp index 0ed984a8f8..e3bb981cac 100644 --- a/perf_test/sparse/KokkosSparse_gs.cpp +++ b/perf_test/sparse/KokkosSparse_gs.cpp @@ -243,7 +243,7 @@ void runGS(const GS_Parameters& params) { for (int i = 0; i < params.nstreams; i++) { auto blk_A = DiagBlks[i]; auto blk_nrows = blk_A.numRows(); - KokkosSparse::Experimental::gauss_seidel_symbolic(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, + KokkosSparse::gauss_seidel_symbolic(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, blk_A.graph.entries, params.graph_symmetric); } symbolicLaunchTimeTotal = timer.seconds(); @@ -256,7 +256,7 @@ void runGS(const GS_Parameters& params) { for (int i = 0; i < params.nstreams; i++) { auto blk_A = DiagBlks[i]; auto blk_nrows = blk_A.numRows(); - KokkosSparse::Experimental::gauss_seidel_numeric(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, + KokkosSparse::gauss_seidel_numeric(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, blk_A.graph.entries, blk_A.values, params.graph_symmetric); } numericLaunchTimeTotal = timer.seconds(); @@ -272,17 +272,17 @@ void runGS(const GS_Parameters& params) { // Last two parameters are damping factor (should be 1) and sweeps switch (params.direction) { case GS_SYMMETRIC: - KokkosSparse::Experimental::symmetric_gauss_seidel_apply(instances[i], &kh[i], blk_nrows, blk_nrows, + KokkosSparse::symmetric_gauss_seidel_apply(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, blk_A.graph.entries, blk_A.values, x[i], b[i], true, true, 1.0, params.sweeps); break; case GS_FORWARD: - KokkosSparse::Experimental::forward_sweep_gauss_seidel_apply( + KokkosSparse::forward_sweep_gauss_seidel_apply( instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, blk_A.graph.entries, blk_A.values, x[i], b[i], true, true, 1.0, params.sweeps); break; case GS_BACKWARD: - KokkosSparse::Experimental::backward_sweep_gauss_seidel_apply( + KokkosSparse::backward_sweep_gauss_seidel_apply( instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, blk_A.graph.entries, blk_A.values, x[i], b[i], true, true, 1.0, params.sweeps); break; diff --git a/perf_test/sparse/KokkosSparse_pcg.hpp b/perf_test/sparse/KokkosSparse_pcg.hpp index 12234d5773..291cbf2bd5 100644 --- a/perf_test/sparse/KokkosSparse_pcg.hpp +++ b/perf_test/sparse/KokkosSparse_pcg.hpp @@ -120,7 +120,7 @@ void block_pcgsolve(KernelHandle_t &kh, const crsMatrix_t &point_crsMat, const c // timer.reset(); // block_kh.set_verbose(true); - block_gauss_seidel_numeric(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, + KokkosSparse::block_gauss_seidel_numeric(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, _block_crsMat.graph.row_map, _block_crsMat.graph.entries, _block_crsMat.values); precond_init_time += timer.seconds(); @@ -128,7 +128,7 @@ void block_pcgsolve(KernelHandle_t &kh, const crsMatrix_t &point_crsMat, const c z = y_vector_t("pcg::z", count_total); Space().fence(); timer.reset(); - symmetric_block_gauss_seidel_apply(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, + KokkosSparse::symmetric_block_gauss_seidel_apply(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, _block_crsMat.graph.row_map, _block_crsMat.graph.entries, _block_crsMat.values, z, r, true, true, 1.0, apply_count); @@ -185,7 +185,7 @@ void block_pcgsolve(KernelHandle_t &kh, const crsMatrix_t &point_crsMat, const c if (use_sgs) { Space().fence(); timer.reset(); - symmetric_block_gauss_seidel_apply(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, + KokkosSparse::symmetric_block_gauss_seidel_apply(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, _block_crsMat.graph.row_map, _block_crsMat.graph.entries, _block_crsMat.values, z, r, true, true, 1.0, apply_count); @@ -318,7 +318,7 @@ void pcgsolve(KernelHandle_t &kh, const crsMatrix_t &crsMat, const y_vector_t &y timer.reset(); z = y_vector_t("pcg::z", count_total); if (use_par_sgs) { - gauss_seidel_numeric(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, crsMat.values); + KokkosSparse::gauss_seidel_numeric(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, crsMat.values); Space().fence(); @@ -326,7 +326,7 @@ void pcgsolve(KernelHandle_t &kh, const crsMatrix_t &crsMat, const y_vector_t &y Space().fence(); timer.reset(); - symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, + KokkosSparse::symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, crsMat.values, z, r, true, true, 1.0, apply_count); Space().fence(); @@ -402,7 +402,7 @@ void pcgsolve(KernelHandle_t &kh, const crsMatrix_t &crsMat, const y_vector_t &y Space().fence(); timer.reset(); if (use_par_sgs) { - symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, + KokkosSparse::symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, crsMat.values, z, r, true, true, 1.0, apply_count); } else if (use_sequential_sgs) { // z = LHS (aka x), r RHS (aka y or b) diff --git a/sparse/src/KokkosSparse_gauss_seidel.hpp b/sparse/src/KokkosSparse_gauss_seidel.hpp index 647252e191..22294ebb11 100644 --- a/sparse/src/KokkosSparse_gauss_seidel.hpp +++ b/sparse/src/KokkosSparse_gauss_seidel.hpp @@ -23,8 +23,6 @@ namespace KokkosSparse { -namespace Experimental { - /// /// @brief Gauss-Seidel preconditioner setup (first phase, based on sparsity /// pattern only) @@ -1160,6 +1158,221 @@ void backward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename Kern backward_sweep_gauss_seidel_apply(handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); } + +namespace Experimental { + +template +[[deprecated("gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::gauss_seidel_symbolic instead.")]] +void gauss_seidel_symbolic(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_symbolic(space, handle, num_rows, num_cols, row_map, entries, is_graph_symmetric); +} + +template +[[deprecated("gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::gauss_seidel_symbolic instead.")]] +void gauss_seidel_symbolic(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_symbolic(handle, num_rows, num_cols, row_map, entries, is_graph_symmetric); +} + +template +[[deprecated("block_gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::block_gauss_seidel_symbolic instead.")]] +void block_gauss_seidel_symbolic(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { + KokkosSparse::block_gauss_seidel_symbolic(handle, num_rows, num_cols, block_size, row_map, entries, is_graph_symmetric); +} + +template +[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] +void gauss_seidel_numeric(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_numeric(space, handle, num_rows, num_cols, row_map, entries, values, is_graph_symmetric); +} + +template +[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] +void gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_numeric(handle, num_rows, num_cols, row_map, entries, values, is_graph_symmetric); +} + +template +[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] +void gauss_seidel_numeric(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, scalar_nnz_view_t_ given_inverse_diagonal, + bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_numeric(space, handle, num_rows, num_cols, row_map, entries, values, given_inverse_diagonal, is_graph_symmetric); +} + +template +[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] +void gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, scalar_nnz_view_t_ given_inverse_diagonal, + bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_numeric(handle, num_rows, num_cols, row_map, entries, values, given_inverse_diagonal, is_graph_symmetric); +} + +template +[[deprecated("block_gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::block_gauss_seidel_numeric instead.")]] +void block_gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { + KokkosSparse::block_gauss_seidel_numeric(handle, num_rows, num_cols, block_size, row_map, entries, values, is_graph_symmetric); +} + +template +[[deprecated("symmetric_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::symmetric_gauss_seidel_apply instead.")]] +void symmetric_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::symmetric_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, + y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); +} + +template +[[deprecated("symmetric_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::symmetric_gauss_seidel_apply instead.")]] +void symmetric_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::symmetric_gauss_seidel_apply(handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, + y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); +} + +template +[[deprecated("symmetric_block_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::symmetric_block_gauss_seidel_apply instead.")]] +void symmetric_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, + + lno_row_view_t_ row_map, lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::symmetric_block_gauss_seidel_apply(handle, num_rows, num_cols, block_size, row_map, entries, values, + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); +} + +template +[[deprecated("forward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::forward_sweep_gauss_seidel_apply instead.")]] +void forward_sweep_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::forward_sweep_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, + y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); +} + +template +[[deprecated("forward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::forward_sweep_gauss_seidel_apply instead.")]] +void forward_sweep_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::forward_sweep_gauss_seidel_apply(handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, + y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); +} + +template +[[deprecated("forward_sweep_block_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::forward_sweep_block_gauss_seidel_apply instead.")]] +void forward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, + lno_row_view_t_ row_map, lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::forward_sweep_block_gauss_seidel_apply(handle, num_rows, num_cols, block_size, row_map, entries, values, + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, + update_y_vector, omega, numIter); +} + +template +[[deprecated("backward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::backward_sweep_gauss_seidel_apply instead.")]] +void backward_sweep_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::backward_sweep_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, + update_y_vector, omega, numIter); +} + +template +[[deprecated("backward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::backward_sweep_gauss_seidel_apply instead.")]] +void backward_sweep_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::backward_sweep_gauss_seidel_apply(handle, num_rows, num_cols, row_map, entries, values, + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, + omega, numIter); +} + +template +[[deprecated("backward_sweep_block_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::backward_sweep_block_gauss_seidel_apply instead.")]] +void backward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, + lno_row_view_t_ row_map, lno_nnz_view_t_ entries, + scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, + bool update_y_vector, typename KernelHandle::nnz_scalar_t omega, + int numIter) { + KokkosSparse::backward_sweep_block_gauss_seidel_apply(handle, num_rows, num_cols, block_size, row_map, entries, values, + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, + omega, numIter); +} + } // namespace Experimental } // namespace KokkosSparse #endif diff --git a/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp b/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp index 7c6bddfd4d..d0a14380cf 100644 --- a/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp +++ b/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp @@ -97,29 +97,29 @@ int run_block_gauss_seidel_1( const int apply_count = 100; if (!skip_symbolic) { - KSExp::block_gauss_seidel_symbolic(&kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, + KokkosSparse::block_gauss_seidel_symbolic(&kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, input_mat.graph.entries, is_symmetric_graph); } if (!skip_numeric) { - KSExp::block_gauss_seidel_numeric(&kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, + KokkosSparse::block_gauss_seidel_numeric(&kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, is_symmetric_graph); } switch (apply_type) { case Test::forward_sweep: - KSExp::forward_sweep_block_gauss_seidel_apply( + KokkosSparse::forward_sweep_block_gauss_seidel_apply( &kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, true, omega, apply_count); break; case Test::backward_sweep: - KSExp::backward_sweep_block_gauss_seidel_apply( + KokkosSparse::backward_sweep_block_gauss_seidel_apply( &kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, true, omega, apply_count); break; case Test::symmetric: default: - KSExp::symmetric_block_gauss_seidel_apply( + KokkosSparse::symmetric_block_gauss_seidel_apply( &kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, true, omega, apply_count); break; @@ -331,12 +331,12 @@ void test_block_gauss_seidel_empty() { entries_type entries("Entries", 0); scalar_view_t values("Values", 0); // also, make sure graph symmetrization doesn't crash on zero rows - KSExp::block_gauss_seidel_symbolic(&kh, num_rows, num_rows, block_size, rowmap, entries, false); - KSExp::block_gauss_seidel_numeric(&kh, num_rows, num_rows, block_size, rowmap, entries, values, false); + KokkosSparse::block_gauss_seidel_symbolic(&kh, num_rows, num_rows, block_size, rowmap, entries, false); + KokkosSparse::block_gauss_seidel_numeric(&kh, num_rows, num_rows, block_size, rowmap, entries, values, false); scalar_view_t x("X", num_rows); scalar_view_t y("Y", num_rows); scalar_t omega(0.9); - KSExp::symmetric_block_gauss_seidel_apply(&kh, num_rows, num_rows, block_size, rowmap, entries, values, + KokkosSparse::symmetric_block_gauss_seidel_apply(&kh, num_rows, num_rows, block_size, rowmap, entries, values, x, y, false, true, omega, 3); kh.destroy_gs_handle(); } diff --git a/sparse/unit_test/Test_Sparse_gauss_seidel.hpp b/sparse/unit_test/Test_Sparse_gauss_seidel.hpp index 3704b63fbd..7ef2588c98 100644 --- a/sparse/unit_test/Test_Sparse_gauss_seidel.hpp +++ b/sparse/unit_test/Test_Sparse_gauss_seidel.hpp @@ -66,25 +66,25 @@ void run_gauss_seidel(Handle &kh, crsMat_t input_mat, vec_t x_vector, vec_t y_ve const size_t num_cols = input_mat.numCols(); const int apply_count = 2; - gauss_seidel_symbolic(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, is_symmetric_graph); - gauss_seidel_numeric(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, + KokkosSparse::gauss_seidel_symbolic(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, is_symmetric_graph); + KokkosSparse::gauss_seidel_numeric(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, is_symmetric_graph); switch (apply_type) { case 0: - symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, + KokkosSparse::symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, true, omega, apply_count); break; case 1: - forward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, + KokkosSparse::forward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, true, omega, apply_count); break; case 2: - backward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, + KokkosSparse::backward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, true, omega, apply_count); break; default: - symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, + KokkosSparse::symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, true, omega, apply_count); break; } @@ -137,9 +137,9 @@ void run_gauss_seidel_streams(std::vector &instances, std::vector &instances, std::vector Date: Wed, 5 Feb 2025 16:22:58 -0700 Subject: [PATCH 2/4] Applying clang-format Signed-off-by: Luc Berger-Vergiat --- .../sparse/KokkosSparse_wiki_gauss_seidel.cpp | 10 +- perf_test/sparse/KokkosSparse_gs.cpp | 22 +- perf_test/sparse/KokkosSparse_pcg.hpp | 28 +- sparse/src/KokkosSparse_gauss_seidel.hpp | 289 ++++++++++-------- .../Test_Sparse_block_gauss_seidel.hpp | 11 +- sparse/unit_test/Test_Sparse_gauss_seidel.hpp | 60 ++-- 6 files changed, 231 insertions(+), 189 deletions(-) diff --git a/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp b/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp index 0231e24f15..dbf486bc50 100644 --- a/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp +++ b/example/wiki/sparse/KokkosSparse_wiki_gauss_seidel.cpp @@ -60,13 +60,11 @@ int main() { Handle handle; handle.create_gs_handle(KokkosSparse::GS_DEFAULT); // Set up Gauss-Seidel for the graph (matrix sparsity pattern) - KokkosSparse::gauss_seidel_symbolic(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, - false); + KokkosSparse::gauss_seidel_symbolic(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, false); // Set up Gauss-Seidel for the matrix values (numeric) // Another matrix with the same sparsity pattern could re-use the handle and // symbolic phase, and only call numeric. - KokkosSparse::gauss_seidel_numeric(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, - A.values, false); + KokkosSparse::gauss_seidel_numeric(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, A.values, false); // Now, preconditioner is ready to use. Set up an unknown vector // (uninitialized) and randomized right-hand-side vector. Vector x(Kokkos::view_alloc(Kokkos::WithoutInitializing, "x"), numRows); @@ -87,8 +85,8 @@ int main() { // * to zero out x (it was uninitialized) // * that b has changed since the previous apply (since there was no // previous apply) - KokkosSparse::forward_sweep_gauss_seidel_apply( - &handle, numRows, numRows, A.graph.row_map, A.graph.entries, A.values, x, b, firstIter, firstIter, one, 1); + KokkosSparse::forward_sweep_gauss_seidel_apply(&handle, numRows, numRows, A.graph.row_map, A.graph.entries, + A.values, x, b, firstIter, firstIter, one, 1); firstIter = false; // Now, compute the new residual norm using SPMV Kokkos::deep_copy(res, b); diff --git a/perf_test/sparse/KokkosSparse_gs.cpp b/perf_test/sparse/KokkosSparse_gs.cpp index e3bb981cac..8d0ef1768b 100644 --- a/perf_test/sparse/KokkosSparse_gs.cpp +++ b/perf_test/sparse/KokkosSparse_gs.cpp @@ -244,7 +244,7 @@ void runGS(const GS_Parameters& params) { auto blk_A = DiagBlks[i]; auto blk_nrows = blk_A.numRows(); KokkosSparse::gauss_seidel_symbolic(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, - blk_A.graph.entries, params.graph_symmetric); + blk_A.graph.entries, params.graph_symmetric); } symbolicLaunchTimeTotal = timer.seconds(); timer.reset(); @@ -257,7 +257,7 @@ void runGS(const GS_Parameters& params) { auto blk_A = DiagBlks[i]; auto blk_nrows = blk_A.numRows(); KokkosSparse::gauss_seidel_numeric(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, - blk_A.graph.entries, blk_A.values, params.graph_symmetric); + blk_A.graph.entries, blk_A.values, params.graph_symmetric); } numericLaunchTimeTotal = timer.seconds(); timer.reset(); @@ -272,19 +272,19 @@ void runGS(const GS_Parameters& params) { // Last two parameters are damping factor (should be 1) and sweeps switch (params.direction) { case GS_SYMMETRIC: - KokkosSparse::symmetric_gauss_seidel_apply(instances[i], &kh[i], blk_nrows, blk_nrows, - blk_A.graph.row_map, blk_A.graph.entries, blk_A.values, - x[i], b[i], true, true, 1.0, params.sweeps); + KokkosSparse::symmetric_gauss_seidel_apply(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, + blk_A.graph.entries, blk_A.values, x[i], b[i], true, true, 1.0, + params.sweeps); break; case GS_FORWARD: - KokkosSparse::forward_sweep_gauss_seidel_apply( - instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, blk_A.graph.entries, blk_A.values, x[i], - b[i], true, true, 1.0, params.sweeps); + KokkosSparse::forward_sweep_gauss_seidel_apply(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, + blk_A.graph.entries, blk_A.values, x[i], b[i], true, true, 1.0, + params.sweeps); break; case GS_BACKWARD: - KokkosSparse::backward_sweep_gauss_seidel_apply( - instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, blk_A.graph.entries, blk_A.values, x[i], - b[i], true, true, 1.0, params.sweeps); + KokkosSparse::backward_sweep_gauss_seidel_apply(instances[i], &kh[i], blk_nrows, blk_nrows, blk_A.graph.row_map, + blk_A.graph.entries, blk_A.values, x[i], b[i], true, true, 1.0, + params.sweeps); break; } } diff --git a/perf_test/sparse/KokkosSparse_pcg.hpp b/perf_test/sparse/KokkosSparse_pcg.hpp index 291cbf2bd5..ad5a2ed509 100644 --- a/perf_test/sparse/KokkosSparse_pcg.hpp +++ b/perf_test/sparse/KokkosSparse_pcg.hpp @@ -121,16 +121,17 @@ void block_pcgsolve(KernelHandle_t &kh, const crsMatrix_t &point_crsMat, const c // block_kh.set_verbose(true); KokkosSparse::block_gauss_seidel_numeric(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, - _block_crsMat.graph.row_map, _block_crsMat.graph.entries, _block_crsMat.values); + _block_crsMat.graph.row_map, _block_crsMat.graph.entries, + _block_crsMat.values); precond_init_time += timer.seconds(); z = y_vector_t("pcg::z", count_total); Space().fence(); timer.reset(); - KokkosSparse::symmetric_block_gauss_seidel_apply(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, - _block_crsMat.graph.row_map, _block_crsMat.graph.entries, _block_crsMat.values, - z, r, true, true, 1.0, apply_count); + KokkosSparse::symmetric_block_gauss_seidel_apply( + &block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, _block_crsMat.graph.row_map, + _block_crsMat.graph.entries, _block_crsMat.values, z, r, true, true, 1.0, apply_count); // symmetric_gauss_seidel_apply // (&kh, count_total, count_total, point_crsMat.graph.row_map, @@ -185,9 +186,9 @@ void block_pcgsolve(KernelHandle_t &kh, const crsMatrix_t &point_crsMat, const c if (use_sgs) { Space().fence(); timer.reset(); - KokkosSparse::symmetric_block_gauss_seidel_apply(&block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, - _block_crsMat.graph.row_map, _block_crsMat.graph.entries, _block_crsMat.values, - z, r, true, true, 1.0, apply_count); + KokkosSparse::symmetric_block_gauss_seidel_apply( + &block_kh, _block_crsMat.numRows(), _block_crsMat.numCols(), block_size, _block_crsMat.graph.row_map, + _block_crsMat.graph.entries, _block_crsMat.values, z, r, true, true, 1.0, apply_count); // symmetric_gauss_seidel_apply( // &kh, @@ -318,7 +319,8 @@ void pcgsolve(KernelHandle_t &kh, const crsMatrix_t &crsMat, const y_vector_t &y timer.reset(); z = y_vector_t("pcg::z", count_total); if (use_par_sgs) { - KokkosSparse::gauss_seidel_numeric(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, crsMat.values); + KokkosSparse::gauss_seidel_numeric(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, + crsMat.values); Space().fence(); @@ -326,8 +328,9 @@ void pcgsolve(KernelHandle_t &kh, const crsMatrix_t &crsMat, const y_vector_t &y Space().fence(); timer.reset(); - KokkosSparse::symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, - crsMat.values, z, r, true, true, 1.0, apply_count); + KokkosSparse::symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, + crsMat.graph.entries, crsMat.values, z, r, true, true, 1.0, + apply_count); Space().fence(); } else if (use_sequential_sgs) { @@ -402,8 +405,9 @@ void pcgsolve(KernelHandle_t &kh, const crsMatrix_t &crsMat, const y_vector_t &y Space().fence(); timer.reset(); if (use_par_sgs) { - KokkosSparse::symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, crsMat.graph.entries, - crsMat.values, z, r, true, true, 1.0, apply_count); + KokkosSparse::symmetric_gauss_seidel_apply(&kh, count_total, count_total, crsMat.graph.row_map, + crsMat.graph.entries, crsMat.values, z, r, true, true, 1.0, + apply_count); } else if (use_sequential_sgs) { // z = LHS (aka x), r RHS (aka y or b) Kokkos::deep_copy(z, 0.0); diff --git a/sparse/src/KokkosSparse_gauss_seidel.hpp b/sparse/src/KokkosSparse_gauss_seidel.hpp index 22294ebb11..501ac268e1 100644 --- a/sparse/src/KokkosSparse_gauss_seidel.hpp +++ b/sparse/src/KokkosSparse_gauss_seidel.hpp @@ -1162,215 +1162,248 @@ void backward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename Kern namespace Experimental { template -[[deprecated("gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::gauss_seidel_symbolic instead.")]] -void gauss_seidel_symbolic(const ExecutionSpace &space, KernelHandle *handle, - typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { +[[deprecated( + "gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::gauss_seidel_symbolic " + "instead.")]] void +gauss_seidel_symbolic(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, typename KernelHandle::const_nnz_lno_t num_cols, + lno_row_view_t_ row_map, lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { KokkosSparse::gauss_seidel_symbolic(space, handle, num_rows, num_cols, row_map, entries, is_graph_symmetric); } template -[[deprecated("gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::gauss_seidel_symbolic instead.")]] -void gauss_seidel_symbolic(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { +[[deprecated( + "gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::gauss_seidel_symbolic " + "instead.")]] void +gauss_seidel_symbolic(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, lno_nnz_view_t_ entries, + bool is_graph_symmetric = true) { KokkosSparse::gauss_seidel_symbolic(handle, num_rows, num_cols, row_map, entries, is_graph_symmetric); } template -[[deprecated("block_gauss_seidel_symbolic was promoted out of Experimental, please use KokkosSparse::block_gauss_seidel_symbolic instead.")]] -void block_gauss_seidel_symbolic(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, - typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { - KokkosSparse::block_gauss_seidel_symbolic(handle, num_rows, num_cols, block_size, row_map, entries, is_graph_symmetric); +[[deprecated( + "block_gauss_seidel_symbolic was promoted out of Experimental, please use " + "KokkosSparse::block_gauss_seidel_symbolic instead.")]] void +block_gauss_seidel_symbolic(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, bool is_graph_symmetric = true) { + KokkosSparse::block_gauss_seidel_symbolic(handle, num_rows, num_cols, block_size, row_map, entries, + is_graph_symmetric); } template -[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] -void gauss_seidel_numeric(const ExecutionSpace &space, KernelHandle *handle, - typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { +[[deprecated( + "gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric " + "instead.")]] void +gauss_seidel_numeric(const ExecutionSpace &space, KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, lno_nnz_view_t_ entries, + scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { KokkosSparse::gauss_seidel_numeric(space, handle, num_rows, num_cols, row_map, entries, values, is_graph_symmetric); } template -[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] -void gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { +[[deprecated( + "gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric " + "instead.")]] void +gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, lno_nnz_view_t_ entries, + scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { KokkosSparse::gauss_seidel_numeric(handle, num_rows, num_cols, row_map, entries, values, is_graph_symmetric); } template -[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] -void gauss_seidel_numeric(const ExecutionSpace &space, KernelHandle *handle, - typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, scalar_nnz_view_t_ given_inverse_diagonal, - bool is_graph_symmetric = true) { - KokkosSparse::gauss_seidel_numeric(space, handle, num_rows, num_cols, row_map, entries, values, given_inverse_diagonal, is_graph_symmetric); +[[deprecated( + "gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric " + "instead.")]] void +gauss_seidel_numeric(const ExecutionSpace &space, KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, lno_nnz_view_t_ entries, + scalar_nnz_view_t_ values, scalar_nnz_view_t_ given_inverse_diagonal, + bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_numeric(space, handle, num_rows, num_cols, row_map, entries, values, + given_inverse_diagonal, is_graph_symmetric); } template -[[deprecated("gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric instead.")]] -void gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, scalar_nnz_view_t_ given_inverse_diagonal, - bool is_graph_symmetric = true) { - KokkosSparse::gauss_seidel_numeric(handle, num_rows, num_cols, row_map, entries, values, given_inverse_diagonal, is_graph_symmetric); +[[deprecated( + "gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::gauss_seidel_numeric " + "instead.")]] void +gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, lno_nnz_view_t_ entries, + scalar_nnz_view_t_ values, scalar_nnz_view_t_ given_inverse_diagonal, + bool is_graph_symmetric = true) { + KokkosSparse::gauss_seidel_numeric(handle, num_rows, num_cols, row_map, entries, values, given_inverse_diagonal, + is_graph_symmetric); } template -[[deprecated("block_gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::block_gauss_seidel_numeric instead.")]] -void block_gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, - typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { - KokkosSparse::block_gauss_seidel_numeric(handle, num_rows, num_cols, block_size, row_map, entries, values, is_graph_symmetric); +[[deprecated( + "block_gauss_seidel_numeric was promoted out of Experimental, please use KokkosSparse::block_gauss_seidel_numeric " + "instead.")]] void +block_gauss_seidel_numeric(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, bool is_graph_symmetric = true) { + KokkosSparse::block_gauss_seidel_numeric(handle, num_rows, num_cols, block_size, row_map, entries, values, + is_graph_symmetric); } template -[[deprecated("symmetric_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::symmetric_gauss_seidel_apply instead.")]] -void symmetric_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, - typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, - y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { - KokkosSparse::symmetric_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, - y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); +[[deprecated( + "symmetric_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::symmetric_gauss_seidel_apply instead.")]] void +symmetric_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::symmetric_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, + omega, numIter); } template -[[deprecated("symmetric_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::symmetric_gauss_seidel_apply instead.")]] -void symmetric_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, - y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { +[[deprecated( + "symmetric_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::symmetric_gauss_seidel_apply instead.")]] void +symmetric_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { KokkosSparse::symmetric_gauss_seidel_apply(handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, - y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); + y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); } template -[[deprecated("symmetric_block_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::symmetric_block_gauss_seidel_apply instead.")]] -void symmetric_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, - typename KernelHandle::const_nnz_lno_t block_size, - - lno_row_view_t_ row_map, lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, - x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, - bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { +[[deprecated( + "symmetric_block_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::symmetric_block_gauss_seidel_apply instead.")]] void +symmetric_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, + + lno_row_view_t_ row_map, lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { KokkosSparse::symmetric_block_gauss_seidel_apply(handle, num_rows, num_cols, block_size, row_map, entries, values, - x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, + update_y_vector, omega, numIter); } template -[[deprecated("forward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::forward_sweep_gauss_seidel_apply instead.")]] -void forward_sweep_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, - typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, - x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, - bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { - KokkosSparse::forward_sweep_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, - y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); +[[deprecated( + "forward_sweep_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::forward_sweep_gauss_seidel_apply instead.")]] void +forward_sweep_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::forward_sweep_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, + omega, numIter); } template -[[deprecated("forward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::forward_sweep_gauss_seidel_apply instead.")]] -void forward_sweep_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, - x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, - bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { +[[deprecated( + "forward_sweep_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::forward_sweep_gauss_seidel_apply instead.")]] void +forward_sweep_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { KokkosSparse::forward_sweep_gauss_seidel_apply(handle, num_rows, num_cols, row_map, entries, values, x_lhs_output_vec, - y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); + y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); } template -[[deprecated("forward_sweep_block_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::forward_sweep_block_gauss_seidel_apply instead.")]] -void forward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, - typename KernelHandle::const_nnz_lno_t block_size, - lno_row_view_t_ row_map, lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, - x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, - bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { +[[deprecated( + "forward_sweep_block_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::forward_sweep_block_gauss_seidel_apply instead.")]] void +forward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { KokkosSparse::forward_sweep_block_gauss_seidel_apply(handle, num_rows, num_cols, block_size, row_map, entries, values, - x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, - update_y_vector, omega, numIter); + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, + update_y_vector, omega, numIter); } template -[[deprecated("backward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::backward_sweep_gauss_seidel_apply instead.")]] -void backward_sweep_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, - typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, - x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, - bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { +[[deprecated( + "backward_sweep_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::backward_sweep_gauss_seidel_apply instead.")]] void +backward_sweep_gauss_seidel_apply(const ExecutionSpace &space, KernelHandle *handle, + typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { KokkosSparse::backward_sweep_gauss_seidel_apply(space, handle, num_rows, num_cols, row_map, entries, values, - x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, - update_y_vector, omega, numIter); + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, + update_y_vector, omega, numIter); } template -[[deprecated("backward_sweep_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::backward_sweep_gauss_seidel_apply instead.")]] -void backward_sweep_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, - lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, - x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, - bool init_zero_x_vector, bool update_y_vector, - typename KernelHandle::nnz_scalar_t omega, int numIter) { +[[deprecated( + "backward_sweep_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::backward_sweep_gauss_seidel_apply instead.")]] void +backward_sweep_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, + y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { KokkosSparse::backward_sweep_gauss_seidel_apply(handle, num_rows, num_cols, row_map, entries, values, - x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, - omega, numIter); + x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, + update_y_vector, omega, numIter); } template -[[deprecated("backward_sweep_block_gauss_seidel_apply was promoted out of Experimental, please use KokkosSparse::backward_sweep_block_gauss_seidel_apply instead.")]] -void backward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, - typename KernelHandle::const_nnz_lno_t num_cols, - typename KernelHandle::const_nnz_lno_t block_size, - lno_row_view_t_ row_map, lno_nnz_view_t_ entries, - scalar_nnz_view_t_ values, x_scalar_view_t x_lhs_output_vec, - y_scalar_view_t y_rhs_input_vec, bool init_zero_x_vector, - bool update_y_vector, typename KernelHandle::nnz_scalar_t omega, - int numIter) { - KokkosSparse::backward_sweep_block_gauss_seidel_apply(handle, num_rows, num_cols, block_size, row_map, entries, values, - x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, update_y_vector, - omega, numIter); +[[deprecated( + "backward_sweep_block_gauss_seidel_apply was promoted out of Experimental, please use " + "KokkosSparse::backward_sweep_block_gauss_seidel_apply instead.")]] void +backward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHandle::const_nnz_lno_t num_rows, + typename KernelHandle::const_nnz_lno_t num_cols, + typename KernelHandle::const_nnz_lno_t block_size, lno_row_view_t_ row_map, + lno_nnz_view_t_ entries, scalar_nnz_view_t_ values, + x_scalar_view_t x_lhs_output_vec, y_scalar_view_t y_rhs_input_vec, + bool init_zero_x_vector, bool update_y_vector, + typename KernelHandle::nnz_scalar_t omega, int numIter) { + KokkosSparse::backward_sweep_block_gauss_seidel_apply(handle, num_rows, num_cols, block_size, row_map, entries, + values, x_lhs_output_vec, y_rhs_input_vec, init_zero_x_vector, + update_y_vector, omega, numIter); } } // namespace Experimental diff --git a/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp b/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp index d0a14380cf..4cd2c51506 100644 --- a/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp +++ b/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp @@ -98,12 +98,12 @@ int run_block_gauss_seidel_1( if (!skip_symbolic) { KokkosSparse::block_gauss_seidel_symbolic(&kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, - input_mat.graph.entries, is_symmetric_graph); + input_mat.graph.entries, is_symmetric_graph); } if (!skip_numeric) { KokkosSparse::block_gauss_seidel_numeric(&kh, num_rows_1, num_cols_1, block_size, input_mat.graph.row_map, - input_mat.graph.entries, input_mat.values, is_symmetric_graph); + input_mat.graph.entries, input_mat.values, is_symmetric_graph); } switch (apply_type) { @@ -332,12 +332,13 @@ void test_block_gauss_seidel_empty() { scalar_view_t values("Values", 0); // also, make sure graph symmetrization doesn't crash on zero rows KokkosSparse::block_gauss_seidel_symbolic(&kh, num_rows, num_rows, block_size, rowmap, entries, false); - KokkosSparse::block_gauss_seidel_numeric(&kh, num_rows, num_rows, block_size, rowmap, entries, values, false); + KokkosSparse::block_gauss_seidel_numeric(&kh, num_rows, num_rows, block_size, rowmap, entries, values, + false); scalar_view_t x("X", num_rows); scalar_view_t y("Y", num_rows); scalar_t omega(0.9); - KokkosSparse::symmetric_block_gauss_seidel_apply(&kh, num_rows, num_rows, block_size, rowmap, entries, values, - x, y, false, true, omega, 3); + KokkosSparse::symmetric_block_gauss_seidel_apply(&kh, num_rows, num_rows, block_size, rowmap, entries, + values, x, y, false, true, omega, 3); kh.destroy_gs_handle(); } } diff --git a/sparse/unit_test/Test_Sparse_gauss_seidel.hpp b/sparse/unit_test/Test_Sparse_gauss_seidel.hpp index 7ef2588c98..1250e78398 100644 --- a/sparse/unit_test/Test_Sparse_gauss_seidel.hpp +++ b/sparse/unit_test/Test_Sparse_gauss_seidel.hpp @@ -66,26 +66,31 @@ void run_gauss_seidel(Handle &kh, crsMat_t input_mat, vec_t x_vector, vec_t y_ve const size_t num_cols = input_mat.numCols(); const int apply_count = 2; - KokkosSparse::gauss_seidel_symbolic(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, is_symmetric_graph); - KokkosSparse::gauss_seidel_numeric(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, input_mat.values, - is_symmetric_graph); + KokkosSparse::gauss_seidel_symbolic(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, + is_symmetric_graph); + KokkosSparse::gauss_seidel_numeric(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, + input_mat.values, is_symmetric_graph); switch (apply_type) { case 0: - KokkosSparse::symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, - input_mat.values, x_vector, y_vector, false, true, omega, apply_count); + KokkosSparse::symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, + input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, + true, omega, apply_count); break; case 1: - KokkosSparse::forward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, - input_mat.values, x_vector, y_vector, false, true, omega, apply_count); + KokkosSparse::forward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, + input_mat.graph.entries, input_mat.values, x_vector, y_vector, + false, true, omega, apply_count); break; case 2: - KokkosSparse::backward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, - input_mat.values, x_vector, y_vector, false, true, omega, apply_count); + KokkosSparse::backward_sweep_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, + input_mat.graph.entries, input_mat.values, x_vector, y_vector, + false, true, omega, apply_count); break; default: - KokkosSparse::symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, input_mat.graph.entries, - input_mat.values, x_vector, y_vector, false, true, omega, apply_count); + KokkosSparse::symmetric_gauss_seidel_apply(&kh, num_rows, num_cols, input_mat.graph.row_map, + input_mat.graph.entries, input_mat.values, x_vector, y_vector, false, + true, omega, apply_count); break; } } @@ -138,34 +143,34 @@ void run_gauss_seidel_streams(std::vector &instances, std::vector Date: Wed, 5 Feb 2025 16:59:56 -0700 Subject: [PATCH 3/4] Sparse - GS: excluding deprecated functions from doxygen parsing Signed-off-by: Luc Berger-Vergiat --- sparse/src/KokkosSparse_gauss_seidel.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sparse/src/KokkosSparse_gauss_seidel.hpp b/sparse/src/KokkosSparse_gauss_seidel.hpp index 501ac268e1..5f498f49cb 100644 --- a/sparse/src/KokkosSparse_gauss_seidel.hpp +++ b/sparse/src/KokkosSparse_gauss_seidel.hpp @@ -1159,6 +1159,7 @@ void backward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename Kern y_rhs_input_vec, init_zero_x_vector, update_y_vector, omega, numIter); } +#if !defined(DOXY) namespace Experimental { template @@ -1407,5 +1408,6 @@ backward_sweep_block_gauss_seidel_apply(KernelHandle *handle, typename KernelHan } } // namespace Experimental +#endif } // namespace KokkosSparse #endif From 4f5a25fc4ffd549fc76b018500f97ec1c464b992 Mon Sep 17 00:00:00 2001 From: Luc Berger-Vergiat Date: Thu, 6 Feb 2025 07:48:03 -0700 Subject: [PATCH 4/4] Removing no longer used namespace alias Signed-off-by: Luc Berger-Vergiat --- sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp b/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp index 4cd2c51506..d365147c13 100644 --- a/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp +++ b/sparse/unit_test/Test_Sparse_block_gauss_seidel.hpp @@ -35,8 +35,6 @@ using kokkos_complex_double = Kokkos::complex; using kokkos_complex_float = Kokkos::complex; -namespace KSExp = KokkosSparse::Experimental; - namespace Test { enum GSApplyType {