1- // SPDX-FileCopyrightText: 2017 - 2024 The Ginkgo authors
1+ // SPDX-FileCopyrightText: 2017 - 2026 The Ginkgo authors
22//
33// SPDX-License-Identifier: BSD-3-Clause
44
@@ -51,7 +51,7 @@ template <typename ValueType, typename IndexType>
5151void fill_in_matrix_data (std::shared_ptr<const DefaultExecutor> exec,
5252 const device_matrix_data<ValueType, IndexType>& data,
5353 const int64* row_ptrs, const int64* coo_row_ptrs,
54- matrix::Hybrid <ValueType, IndexType>* result)
54+ matrix::view::hybrid <ValueType, IndexType> result)
5555{
5656 using device_value_type = device_type<ValueType>;
5757 run_kernel (
@@ -83,25 +83,25 @@ void fill_in_matrix_data(std::shared_ptr<const DefaultExecutor> exec,
8383 },
8484 data.get_size ()[0 ], row_ptrs, data.get_const_values (),
8585 data.get_const_row_idxs (), data.get_const_col_idxs (),
86- result-> get_ell_stride () , result-> get_ell_num_stored_elements_per_row () ,
87- result-> get_ell_col_idxs () , result-> get_ell_values () , coo_row_ptrs,
88- result-> get_coo_row_idxs () , result-> get_coo_col_idxs () ,
89- result-> get_coo_values () );
86+ result. ell_part . stride , result. ell_part . num_stored_elements_per_row ,
87+ result. ell_part . col_idxs , result. ell_part . values , coo_row_ptrs,
88+ result. coo_part . row_idxs , result. coo_part . col_idxs ,
89+ result. coo_part . values );
9090}
9191
9292GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE (
9393 GKO_DECLARE_HYBRID_FILL_IN_MATRIX_DATA_KERNEL );
9494
9595
9696template <typename ValueType, typename IndexType>
97- void convert_to_csr (std::shared_ptr< const DefaultExecutor> exec,
98- const matrix::Hybrid<ValueType, IndexType>* source ,
99- const IndexType* ell_row_ptrs ,
100- const IndexType* coo_row_ptrs,
101- matrix::Csr<ValueType, IndexType>* result)
97+ void convert_to_csr (
98+ std::shared_ptr< const DefaultExecutor> exec ,
99+ matrix::view::hybrid< const ValueType, const IndexType> source ,
100+ const IndexType* ell_row_ptrs, const IndexType* coo_row_ptrs,
101+ matrix::Csr<ValueType, IndexType>* result)
102102{
103- const auto ell = source-> get_ell () ;
104- const auto coo = source-> get_coo () ;
103+ const auto ell = source. ell_part ;
104+ const auto coo = source. coo_part ;
105105 // ELL is stored in column-major, so we swap row and column parameters
106106 run_kernel (
107107 exec,
@@ -117,18 +117,16 @@ void convert_to_csr(std::shared_ptr<const DefaultExecutor> exec,
117117 out_vals[out_idx] = in_vals[ell_idx];
118118 }
119119 },
120- dim<2 >{ell->get_num_stored_elements_per_row (), ell->get_size ()[0 ]},
121- static_cast <int64>(ell->get_stride ()), ell->get_const_col_idxs (),
122- ell->get_const_values (), ell_row_ptrs, coo_row_ptrs,
123- result->get_col_idxs (), result->get_values ());
120+ dim<2 >{ell.num_stored_elements_per_row , ell.size [0 ]},
121+ static_cast <int64>(ell.stride ), ell.col_idxs , ell.values , ell_row_ptrs,
122+ coo_row_ptrs, result->get_col_idxs (), result->get_values ());
124123 run_kernel (
125124 exec,
126125 [] GKO_KERNEL (auto idx, auto ell_row_ptrs, auto coo_row_ptrs,
127126 auto out_row_ptrs) {
128127 out_row_ptrs[idx] = ell_row_ptrs[idx] + coo_row_ptrs[idx];
129128 },
130- source->get_size ()[0 ] + 1 , ell_row_ptrs, coo_row_ptrs,
131- result->get_row_ptrs ());
129+ source.size [0 ] + 1 , ell_row_ptrs, coo_row_ptrs, result->get_row_ptrs ());
132130 run_kernel (
133131 exec,
134132 [] GKO_KERNEL (auto idx, auto in_rows, auto in_cols, auto in_vals,
@@ -145,9 +143,9 @@ void convert_to_csr(std::shared_ptr<const DefaultExecutor> exec,
145143 out_cols[out_idx] = col;
146144 out_vals[out_idx] = val;
147145 },
148- coo-> get_num_stored_elements () , coo-> get_const_row_idxs () ,
149- coo-> get_const_col_idxs (), coo-> get_const_values (), ell_row_ptrs ,
150- coo_row_ptrs, result-> get_col_idxs (), result->get_values ());
146+ coo. num_stored_elements , coo. row_idxs , coo. col_idxs , coo. values ,
147+ ell_row_ptrs, coo_row_ptrs, result-> get_col_idxs () ,
148+ result->get_values ());
151149}
152150
153151GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE (
0 commit comments