diff --git a/benchmark/utils/formats.hpp b/benchmark/utils/formats.hpp index 13f2cee1056..58b66e06f14 100644 --- a/benchmark/utils/formats.hpp +++ b/benchmark/utils/formats.hpp @@ -129,7 +129,7 @@ using hybrid = gko::matrix::Hybrid; using csr = gko::matrix::Csr; using coo = gko::matrix::Coo; using ell = gko::matrix::Ell; -using ell_mixed = gko::matrix::Ell, itype>; +using ell_mixed = gko::matrix::Ell, itype>; /** @@ -274,7 +274,7 @@ std::unique_ptr matrix_factory( check_ell_admissibility(data); } if (format == "ell_mixed") { - gko::matrix_data, itype> conv_data; + gko::matrix_data, itype> conv_data; conv_data.size = data.size; conv_data.nonzeros.resize(data.nonzeros.size()); auto it = conv_data.nonzeros.begin(); @@ -284,8 +284,8 @@ std::unique_ptr matrix_factory( it->value = el.value; ++it; } - gko::as, itype>>( - mat.get()) + gko::as, + itype>>(mat.get()) ->read(conv_data); } else { gko::as>(mat.get())->read( diff --git a/common/cuda_hip/base/batch_multi_vector_kernels.cpp b/common/cuda_hip/base/batch_multi_vector_kernels.cpp index 8ff88ddc73b..8154dc440df 100644 --- a/common/cuda_hip/base/batch_multi_vector_kernels.cpp +++ b/common/cuda_hip/base/batch_multi_vector_kernels.cpp @@ -55,7 +55,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_SCALE_KERNEL); @@ -81,7 +81,7 @@ void add_scaled(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_ADD_SCALED_KERNEL); @@ -101,7 +101,7 @@ void compute_dot(std::shared_ptr exec, x_ub, y_ub, res_ub, [] __device__(auto val) { return val; }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_DOT_KERNEL); @@ -121,7 +121,7 @@ void compute_conj_dot(std::shared_ptr exec, x_ub, y_ub, res_ub, [] __device__(auto val) { return conj(val); }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_CONJ_DOT_KERNEL); @@ -139,7 +139,7 @@ void compute_norm2(std::shared_ptr exec, x_ub, res_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_NORM2_KERNEL); @@ -156,8 +156,7 @@ void copy(std::shared_ptr exec, x_ub, result_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); } // namespace batch_multi_vector diff --git a/common/cuda_hip/base/device_matrix_data_kernels.cpp b/common/cuda_hip/base/device_matrix_data_kernels.cpp index ebfed84dba2..6d30e330415 100644 --- a/common/cuda_hip/base/device_matrix_data_kernels.cpp +++ b/common/cuda_hip/base/device_matrix_data_kernels.cpp @@ -68,7 +68,7 @@ void remove_zeros(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_REMOVE_ZEROS_KERNEL); @@ -112,7 +112,7 @@ void sum_duplicates(std::shared_ptr exec, size_type, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SUM_DUPLICATES_KERNEL); @@ -127,7 +127,7 @@ void sort_row_major(std::shared_ptr exec, it + data.get_num_stored_elements(), vals); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SORT_ROW_MAJOR_KERNEL); diff --git a/common/cuda_hip/distributed/assembly_kernels.cpp b/common/cuda_hip/distributed/assembly_kernels.cpp index 81478538477..fb1a8dbc75d 100644 --- a/common/cuda_hip/distributed/assembly_kernels.cpp +++ b/common/cuda_hip/distributed/assembly_kernels.cpp @@ -90,7 +90,7 @@ void count_non_owning_entries( num_parts, local_part, row_part_ptrs.get_data(), send_count.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_COUNT_NON_OWNING_ENTRIES); diff --git a/common/cuda_hip/distributed/matrix_kernels.cpp b/common/cuda_hip/distributed/matrix_kernels.cpp index 88988febbb0..bdf189d9785 100644 --- a/common/cuda_hip/distributed/matrix_kernels.cpp +++ b/common/cuda_hip/distributed/matrix_kernels.cpp @@ -194,7 +194,7 @@ void separate_local_nonlocal( }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_SEPARATE_LOCAL_NONLOCAL); diff --git a/common/cuda_hip/distributed/vector_kernels.cpp b/common/cuda_hip/distributed/vector_kernels.cpp index 1bacc93489a..668a721d249 100644 --- a/common/cuda_hip/distributed/vector_kernels.cpp +++ b/common/cuda_hip/distributed/vector_kernels.cpp @@ -83,7 +83,7 @@ void build_local( range_id.get_data(), local_mtx->get_values(), is_local_row); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_DISTRIBUTED_VECTOR_BUILD_LOCAL); diff --git a/common/cuda_hip/factorization/cholesky_kernels.cpp b/common/cuda_hip/factorization/cholesky_kernels.cpp index ef24bb47fe0..7ff1382d8c6 100644 --- a/common/cuda_hip/factorization/cholesky_kernels.cpp +++ b/common/cuda_hip/factorization/cholesky_kernels.cpp @@ -262,7 +262,7 @@ void symbolic_factorize( postorder, postorder_parent, out_row_ptrs, out_cols); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_FACTORIZE); @@ -321,7 +321,7 @@ void forest_from_factor( build_children_from_parents(exec, forest); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_FOREST_FROM_FACTOR); @@ -355,8 +355,7 @@ void initialize(std::shared_ptr exec, transpose_idxs); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_INITIALIZE); template @@ -391,8 +390,7 @@ void factorize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_FACTORIZE); template @@ -448,7 +446,7 @@ void symbolic_count(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_COUNT); diff --git a/common/cuda_hip/factorization/factorization_kernels.cpp b/common/cuda_hip/factorization/factorization_kernels.cpp index 8e8893df535..f26ef668d34 100644 --- a/common/cuda_hip/factorization/factorization_kernels.cpp +++ b/common/cuda_hip/factorization/factorization_kernels.cpp @@ -355,7 +355,7 @@ void add_diagonal_elements(std::shared_ptr exec, mtx_builder.get_col_idx_array() = std::move(new_col_idx_array); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_ADD_DIAGONAL_ELEMENTS_KERNEL); @@ -385,7 +385,7 @@ void initialize_row_ptrs_l_u( components::prefix_sum_nonnegative(exec, u_row_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_U_KERNEL); @@ -418,7 +418,7 @@ void initialize_l_u(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_U_KERNEL); @@ -446,7 +446,7 @@ void initialize_row_ptrs_l( components::prefix_sum_nonnegative(exec, l_row_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_KERNEL); @@ -483,7 +483,7 @@ void initialize_l(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_KERNEL); diff --git a/common/cuda_hip/factorization/ic_kernels.cpp b/common/cuda_hip/factorization/ic_kernels.cpp index c2ed0b17cf0..e84032bac35 100644 --- a/common/cuda_hip/factorization/ic_kernels.cpp +++ b/common/cuda_hip/factorization/ic_kernels.cpp @@ -54,7 +54,7 @@ void sparselib_ic(std::shared_ptr exec, sparselib::destroy(desc); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_IC_SPARSELIB_IC_KERNEL); diff --git a/common/cuda_hip/factorization/ilu_kernels.cpp b/common/cuda_hip/factorization/ilu_kernels.cpp index eb7677e117f..b81f8fb9092 100644 --- a/common/cuda_hip/factorization/ilu_kernels.cpp +++ b/common/cuda_hip/factorization/ilu_kernels.cpp @@ -54,7 +54,7 @@ void sparselib_ilu(std::shared_ptr exec, sparselib::destroy(desc); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ILU_SPARSELIB_ILU_KERNEL); diff --git a/common/cuda_hip/factorization/lu_kernels.cpp b/common/cuda_hip/factorization/lu_kernels.cpp index 4d98b611e28..b0d54e44217 100644 --- a/common/cuda_hip/factorization/lu_kernels.cpp +++ b/common/cuda_hip/factorization/lu_kernels.cpp @@ -253,8 +253,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_INITIALIZE); template @@ -287,8 +286,7 @@ void factorize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_FACTORIZE); template diff --git a/common/cuda_hip/factorization/par_ic_kernels.cpp b/common/cuda_hip/factorization/par_ic_kernels.cpp index 87e2fefd823..f3656ac8a29 100644 --- a/common/cuda_hip/factorization/par_ic_kernels.cpp +++ b/common/cuda_hip/factorization/par_ic_kernels.cpp @@ -110,7 +110,7 @@ void init_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_INIT_FACTOR_KERNEL); @@ -144,7 +144,7 @@ void compute_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_COMPUTE_FACTOR_KERNEL); diff --git a/common/cuda_hip/factorization/par_ict_kernels.cpp b/common/cuda_hip/factorization/par_ict_kernels.cpp index 0acf0633a2c..a74e45fbe62 100644 --- a/common/cuda_hip/factorization/par_ict_kernels.cpp +++ b/common/cuda_hip/factorization/par_ict_kernels.cpp @@ -435,7 +435,7 @@ void add_candidates(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, llh, a, l, l_new); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_ADD_CANDIDATES_KERNEL); @@ -457,7 +457,7 @@ void compute_factor(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, a, l, l_coo); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_COMPUTE_FACTOR_KERNEL); diff --git a/common/cuda_hip/factorization/par_ilu_kernels.cpp b/common/cuda_hip/factorization/par_ilu_kernels.cpp index a22bb85275a..5238fcf19c7 100644 --- a/common/cuda_hip/factorization/par_ilu_kernels.cpp +++ b/common/cuda_hip/factorization/par_ilu_kernels.cpp @@ -118,7 +118,7 @@ void compute_l_u_factors(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILU_COMPUTE_L_U_FACTORS_KERNEL); diff --git a/common/cuda_hip/factorization/par_ilut_approx_filter_kernels.cpp b/common/cuda_hip/factorization/par_ilut_approx_filter_kernels.cpp index 475d87b8bda..12d8da9e4f5 100644 --- a/common/cuda_hip/factorization/par_ilut_approx_filter_kernels.cpp +++ b/common/cuda_hip/factorization/par_ilut_approx_filter_kernels.cpp @@ -168,7 +168,7 @@ void threshold_filter_approx(std::shared_ptr exec, &threshold, m_out, m_out_coo); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_APPROX_KERNEL); diff --git a/common/cuda_hip/factorization/par_ilut_filter_kernels.cpp b/common/cuda_hip/factorization/par_ilut_filter_kernels.cpp index d6ad2f477eb..25432fb44d2 100644 --- a/common/cuda_hip/factorization/par_ilut_filter_kernels.cpp +++ b/common/cuda_hip/factorization/par_ilut_filter_kernels.cpp @@ -123,7 +123,7 @@ void threshold_filter(std::shared_ptr exec, m_out_coo, lower); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_KERNEL); diff --git a/common/cuda_hip/factorization/par_ilut_select_common.cpp b/common/cuda_hip/factorization/par_ilut_select_common.cpp index 3bb67d96e4f..6751615ff69 100644 --- a/common/cuda_hip/factorization/par_ilut_select_common.cpp +++ b/common/cuda_hip/factorization/par_ilut_select_common.cpp @@ -77,7 +77,7 @@ void sampleselect_count(std::shared_ptr exec, unsigned char* oracles, IndexType* partial_counts, \ IndexType* total_counts) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(DECLARE_SSSS_COUNT); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(DECLARE_SSSS_COUNT); template diff --git a/common/cuda_hip/factorization/par_ilut_select_kernels.cpp b/common/cuda_hip/factorization/par_ilut_select_kernels.cpp index a15adf580e8..81a97197dc5 100644 --- a/common/cuda_hip/factorization/par_ilut_select_kernels.cpp +++ b/common/cuda_hip/factorization/par_ilut_select_kernels.cpp @@ -156,7 +156,7 @@ void threshold_select(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_SELECT_KERNEL); diff --git a/common/cuda_hip/factorization/par_ilut_spgeam_kernels.cpp b/common/cuda_hip/factorization/par_ilut_spgeam_kernels.cpp index 8f7a8af0443..a29cf6f2cb3 100644 --- a/common/cuda_hip/factorization/par_ilut_spgeam_kernels.cpp +++ b/common/cuda_hip/factorization/par_ilut_spgeam_kernels.cpp @@ -389,7 +389,7 @@ void add_candidates(std::shared_ptr exec, u_new); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_ADD_CANDIDATES_KERNEL); diff --git a/common/cuda_hip/factorization/par_ilut_sweep_kernels.cpp b/common/cuda_hip/factorization/par_ilut_sweep_kernels.cpp index c0f962a89c8..7c8b1d85781 100644 --- a/common/cuda_hip/factorization/par_ilut_sweep_kernels.cpp +++ b/common/cuda_hip/factorization/par_ilut_sweep_kernels.cpp @@ -207,7 +207,7 @@ void compute_l_u_factors(std::shared_ptr exec, u_csc); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_COMPUTE_LU_FACTORS_KERNEL); diff --git a/common/cuda_hip/matrix/batch_csr_kernels.cpp b/common/cuda_hip/matrix/batch_csr_kernels.cpp index 0db100363b8..d48cdbaf32a 100644 --- a/common/cuda_hip/matrix/batch_csr_kernels.cpp +++ b/common/cuda_hip/matrix/batch_csr_kernels.cpp @@ -46,7 +46,7 @@ void simple_apply(std::shared_ptr exec, } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SIMPLE_APPLY_KERNEL); @@ -72,7 +72,7 @@ void advanced_apply(std::shared_ptr exec, alpha_ub, mat_ub, b_ub, beta_ub, x_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADVANCED_APPLY_KERNEL); @@ -91,7 +91,7 @@ void scale(std::shared_ptr exec, mat_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SCALE_KERNEL); @@ -110,7 +110,7 @@ void add_scaled_identity(std::shared_ptr exec, alpha_ub, beta_ub, mat_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADD_SCALED_IDENTITY_KERNEL); diff --git a/common/cuda_hip/matrix/batch_dense_kernels.cpp b/common/cuda_hip/matrix/batch_dense_kernels.cpp index e0f1fc5e8dc..ee4d87abaa3 100644 --- a/common/cuda_hip/matrix/batch_dense_kernels.cpp +++ b/common/cuda_hip/matrix/batch_dense_kernels.cpp @@ -45,7 +45,7 @@ void simple_apply(std::shared_ptr exec, mat_ub, b_ub, x_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_SIMPLE_APPLY_KERNEL); @@ -71,7 +71,7 @@ void advanced_apply(std::shared_ptr exec, alpha_ub, mat_ub, b_ub, beta_ub, x_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADVANCED_APPLY_KERNEL); @@ -90,8 +90,7 @@ void scale(std::shared_ptr exec, mat_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); template @@ -109,8 +108,7 @@ void scale_add(std::shared_ptr exec, alpha_ub, mat_ub, in_out_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); template @@ -128,7 +126,7 @@ void add_scaled_identity(std::shared_ptr exec, alpha_ub, beta_ub, mat_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADD_SCALED_IDENTITY_KERNEL); diff --git a/common/cuda_hip/matrix/batch_ell_kernels.cpp b/common/cuda_hip/matrix/batch_ell_kernels.cpp index dddb53e34ff..38d34707d45 100644 --- a/common/cuda_hip/matrix/batch_ell_kernels.cpp +++ b/common/cuda_hip/matrix/batch_ell_kernels.cpp @@ -46,7 +46,7 @@ void simple_apply(std::shared_ptr exec, } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SIMPLE_APPLY_KERNEL); @@ -72,7 +72,7 @@ void advanced_apply(std::shared_ptr exec, alpha_ub, mat_ub, b_ub, beta_ub, x_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADVANCED_APPLY_KERNEL); @@ -91,7 +91,7 @@ void scale(std::shared_ptr exec, mat_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SCALE_KERNEL); @@ -110,7 +110,7 @@ void add_scaled_identity(std::shared_ptr exec, alpha_ub, beta_ub, mat_ub); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADD_SCALED_IDENTITY_KERNEL); diff --git a/common/cuda_hip/matrix/coo_kernels.cpp b/common/cuda_hip/matrix/coo_kernels.cpp index 88d6dced504..6e36c62b74e 100644 --- a/common/cuda_hip/matrix/coo_kernels.cpp +++ b/common/cuda_hip/matrix/coo_kernels.cpp @@ -238,8 +238,7 @@ void spmv(std::shared_ptr exec, spmv2(exec, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV_KERNEL); template @@ -254,7 +253,7 @@ void advanced_spmv(std::shared_ptr exec, advanced_spmv2(exec, alpha, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV_KERNEL); @@ -304,8 +303,7 @@ void spmv2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV2_KERNEL); template @@ -358,7 +356,7 @@ void advanced_spmv2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV2_KERNEL); diff --git a/common/cuda_hip/matrix/csr_kernels.instantiate.cpp b/common/cuda_hip/matrix/csr_kernels.instantiate.cpp index 2e28de95f5d..151a7a43ded 100644 --- a/common/cuda_hip/matrix/csr_kernels.instantiate.cpp +++ b/common/cuda_hip/matrix/csr_kernels.instantiate.cpp @@ -17,136 +17,132 @@ namespace csr { // begin -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_FBCSR_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int32); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(GKO_DECLARE_CSR_SPMV_KERNEL, + int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int32); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(GKO_DECLARE_CSR_SPMV_KERNEL, + int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int32); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(GKO_DECLARE_CSR_SPMV_KERNEL, + int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int32); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(GKO_DECLARE_CSR_SPMV_KERNEL, + int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int32); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5(GKO_DECLARE_CSR_SPMV_KERNEL, + int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int32); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6(GKO_DECLARE_CSR_SPMV_KERNEL, + int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int64); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(GKO_DECLARE_CSR_SPMV_KERNEL, + int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int64); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(GKO_DECLARE_CSR_SPMV_KERNEL, + int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int64); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(GKO_DECLARE_CSR_SPMV_KERNEL, + int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int64); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(GKO_DECLARE_CSR_SPMV_KERNEL, + int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int64); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5(GKO_DECLARE_CSR_SPMV_KERNEL, + int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6_WITH_HALF( - GKO_DECLARE_CSR_SPMV_KERNEL, int64); +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6(GKO_DECLARE_CSR_SPMV_KERNEL, + int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int32); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int64); // split -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL, int64); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_TRANSPOSE_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONJ_TRANSPOSE_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_SORT_BY_COLUMN_INDEX); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEMM_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEMM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADVANCED_SPGEMM_KERNEL); GKO_INSTANTIATE_FOR_EACH_INDEX_TYPE(GKO_DECLARE_CSR_BUILD_LOOKUP_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEAM_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEAM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_FILL_IN_DENSE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_SPAN_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_INDEX_SET_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_FROM_INDEX_SET_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_IS_SORTED_BY_COLUMN_INDEX); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_EXTRACT_DIAGONAL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_EXTRACT_DIAGONAL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CHECK_DIAGONAL_ENTRIES_EXIST); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADD_SCALED_IDENTITY_KERNEL); // end diff --git a/common/cuda_hip/matrix/dense_kernels.cpp b/common/cuda_hip/matrix/dense_kernels.cpp index d0d4985dd82..d8391ace023 100644 --- a/common/cuda_hip/matrix/dense_kernels.cpp +++ b/common/cuda_hip/matrix/dense_kernels.cpp @@ -461,7 +461,7 @@ void convert_to_coo(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_COO_KERNEL); @@ -491,7 +491,7 @@ void convert_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_CSR_KERNEL); @@ -521,7 +521,7 @@ void convert_to_ell(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_ELL_KERNEL); @@ -544,7 +544,7 @@ void convert_to_fbcsr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_FBCSR_KERNEL); @@ -565,7 +565,7 @@ void count_nonzero_blocks_per_row(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COUNT_NONZERO_BLOCKS_PER_ROW_KERNEL); @@ -598,7 +598,7 @@ void convert_to_hybrid(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_HYBRID_KERNEL); @@ -629,7 +629,7 @@ void convert_to_sellp(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SELLP_KERNEL); @@ -657,7 +657,7 @@ void convert_to_sparsity_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SPARSITY_CSR_KERNEL); @@ -681,7 +681,7 @@ void compute_dot_dispatch(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_DOT_DISPATCH_KERNEL); @@ -706,7 +706,7 @@ void compute_conj_dot_dispatch(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_DISPATCH_KERNEL); @@ -729,7 +729,7 @@ void compute_norm2_dispatch(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_NORM2_DISPATCH_KERNEL); @@ -760,8 +760,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); template @@ -788,7 +787,7 @@ void apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_APPLY_KERNEL); template @@ -813,8 +812,7 @@ void transpose(std::shared_ptr exec, } }; -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); template @@ -839,8 +837,7 @@ void conj_transpose(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); } // namespace dense diff --git a/common/cuda_hip/matrix/diagonal_kernels.cpp b/common/cuda_hip/matrix/diagonal_kernels.cpp index baee454c36d..e12d3ed4f9f 100644 --- a/common/cuda_hip/matrix/diagonal_kernels.cpp +++ b/common/cuda_hip/matrix/diagonal_kernels.cpp @@ -81,7 +81,7 @@ void apply_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_APPLY_TO_CSR_KERNEL); diff --git a/common/cuda_hip/matrix/ell_kernels.cpp b/common/cuda_hip/matrix/ell_kernels.cpp index 23079092162..b1b466dba9d 100644 --- a/common/cuda_hip/matrix/ell_kernels.cpp +++ b/common/cuda_hip/matrix/ell_kernels.cpp @@ -371,7 +371,7 @@ void spmv(std::shared_ptr exec, b, c); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_SPMV_KERNEL); @@ -405,7 +405,7 @@ void advanced_spmv(std::shared_ptr exec, b, c, alpha, beta); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_ADVANCED_SPMV_KERNEL); diff --git a/common/cuda_hip/matrix/fbcsr_kernels.instantiate.cpp b/common/cuda_hip/matrix/fbcsr_kernels.instantiate.cpp index a7a0263cd35..a3beaac4a85 100644 --- a/common/cuda_hip/matrix/fbcsr_kernels.instantiate.cpp +++ b/common/cuda_hip/matrix/fbcsr_kernels.instantiate.cpp @@ -17,27 +17,26 @@ namespace fbcsr { // begin -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_MATRIX_DATA_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_DENSE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONVERT_TO_CSR_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_IS_SORTED_BY_COLUMN_INDEX); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_SORT_BY_COLUMN_INDEX); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_EXTRACT_DIAGONAL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_SPMV_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_ADVANCED_SPMV_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_TRANSPOSE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONJ_TRANSPOSE_KERNEL); // end diff --git a/common/cuda_hip/matrix/sellp_kernels.cpp b/common/cuda_hip/matrix/sellp_kernels.cpp index 4d37a0452a6..3e8fba395b3 100644 --- a/common/cuda_hip/matrix/sellp_kernels.cpp +++ b/common/cuda_hip/matrix/sellp_kernels.cpp @@ -105,8 +105,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_SPMV_KERNEL); template @@ -132,7 +131,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_ADVANCED_SPMV_KERNEL); diff --git a/common/cuda_hip/matrix/sparsity_csr_kernels.cpp b/common/cuda_hip/matrix/sparsity_csr_kernels.cpp index ddda357fa31..77f11280e5a 100644 --- a/common/cuda_hip/matrix/sparsity_csr_kernels.cpp +++ b/common/cuda_hip/matrix/sparsity_csr_kernels.cpp @@ -138,7 +138,7 @@ void transpose(std::shared_ptr exec, matrix::SparsityCsr* trans) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_TRANSPOSE_KERNEL); @@ -246,7 +246,7 @@ void spmv(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SPMV_KERNEL); @@ -264,7 +264,7 @@ void advanced_spmv(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, a, b, c, alpha, beta); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_ADVANCED_SPMV_KERNEL); @@ -297,7 +297,7 @@ void sort_by_column_index(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SORT_BY_COLUMN_INDEX); @@ -320,7 +320,7 @@ void is_sorted_by_column_index( cpu_array = gpu_array; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_IS_SORTED_BY_COLUMN_INDEX); diff --git a/common/cuda_hip/multigrid/pgm_kernels.cpp b/common/cuda_hip/multigrid/pgm_kernels.cpp index 0077b801e46..d3c44cf540e 100644 --- a/common/cuda_hip/multigrid/pgm_kernels.cpp +++ b/common/cuda_hip/multigrid/pgm_kernels.cpp @@ -54,8 +54,7 @@ void sort_row_major(std::shared_ptr exec, size_type nnz, thrust::sort_by_key(thrust_policy(exec), it, it + nnz, vals_it); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PGM_SORT_ROW_MAJOR); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM_SORT_ROW_MAJOR); template @@ -79,7 +78,7 @@ void compute_coarse_coo(std::shared_ptr exec, vals_it, coarse_key_it, coarse_vals_it); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_COMPUTE_COARSE_COO); diff --git a/common/cuda_hip/preconditioner/isai_kernels.cpp b/common/cuda_hip/preconditioner/isai_kernels.cpp index 77fdb3c0e23..d6fdd6389fc 100644 --- a/common/cuda_hip/preconditioner/isai_kernels.cpp +++ b/common/cuda_hip/preconditioner/isai_kernels.cpp @@ -487,7 +487,7 @@ void generate_tri_inverse(std::shared_ptr exec, components::prefix_sum_nonnegative(exec, excess_nz_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_TRI_INVERSE_KERNEL); @@ -516,7 +516,7 @@ void generate_general_inverse(std::shared_ptr exec, components::prefix_sum_nonnegative(exec, excess_nz_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_GENERAL_INVERSE_KERNEL); @@ -548,7 +548,7 @@ void generate_excess_system(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_EXCESS_SYSTEM_KERNEL); @@ -568,7 +568,7 @@ void scale_excess_solution(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCALE_EXCESS_SOLUTION_KERNEL); @@ -593,7 +593,7 @@ void scatter_excess_solution(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCATTER_EXCESS_SOLUTION_KERNEL); diff --git a/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.cpp b/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.cpp index fcd86bdba29..27b4f57eb6c 100644 --- a/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.cpp +++ b/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.cpp @@ -66,8 +66,7 @@ void apply(std::shared_ptr exec, size_type num_blocks, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_APPLY_KERNEL); } // namespace jacobi diff --git a/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.instantiate.cpp b/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.instantiate.cpp index 62d9c1ece43..131c530d2ee 100644 --- a/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.instantiate.cpp +++ b/common/cuda_hip/preconditioner/jacobi_advanced_apply_kernels.instantiate.cpp @@ -160,7 +160,7 @@ void advanced_apply( const preconditioner::block_interleaved_storage_scheme&, \ const ValueType*, const ValueType*, size_type, ValueType*, size_type) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( DECLARE_JACOBI_ADVANCED_APPLY_INSTANTIATION); diff --git a/common/cuda_hip/preconditioner/jacobi_generate_kernels.cpp b/common/cuda_hip/preconditioner/jacobi_generate_kernels.cpp index 7c37e578045..207550ff6b1 100644 --- a/common/cuda_hip/preconditioner/jacobi_generate_kernels.cpp +++ b/common/cuda_hip/preconditioner/jacobi_generate_kernels.cpp @@ -68,7 +68,7 @@ void generate(std::shared_ptr exec, block_pointers.get_const_data(), num_blocks); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_GENERATE_KERNEL); diff --git a/common/cuda_hip/preconditioner/jacobi_generate_kernels.instantiate.cpp b/common/cuda_hip/preconditioner/jacobi_generate_kernels.instantiate.cpp index 5efd0c40632..fdb0ad11e9e 100644 --- a/common/cuda_hip/preconditioner/jacobi_generate_kernels.instantiate.cpp +++ b/common/cuda_hip/preconditioner/jacobi_generate_kernels.instantiate.cpp @@ -268,7 +268,7 @@ void generate(syn::value_list, remove_complex*, precision_reduction*, const IndexType*, \ size_type) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( DECLARE_JACOBI_GENERATE_INSTANTIATION); diff --git a/common/cuda_hip/preconditioner/jacobi_kernels.cpp b/common/cuda_hip/preconditioner/jacobi_kernels.cpp index adcc08e37e9..6f2d4ae3974 100644 --- a/common/cuda_hip/preconditioner/jacobi_kernels.cpp +++ b/common/cuda_hip/preconditioner/jacobi_kernels.cpp @@ -297,7 +297,7 @@ void find_blocks(std::shared_ptr exec, exec, max_block_size, num_natural_blocks, block_pointers.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_FIND_BLOCKS_KERNEL); @@ -364,7 +364,7 @@ void transpose_jacobi( storage_scheme, out_blocks.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_TRANSPOSE_KERNEL); @@ -388,7 +388,7 @@ void conj_transpose_jacobi( storage_scheme, out_blocks.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONJ_TRANSPOSE_KERNEL); @@ -401,7 +401,7 @@ void convert_to_dense( storage_scheme, ValueType* result_values, size_type result_stride) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONVERT_TO_DENSE_KERNEL); diff --git a/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.cpp b/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.cpp index fb73c22ccef..e9b7b10fd88 100644 --- a/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.cpp +++ b/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.cpp @@ -57,7 +57,7 @@ void simple_apply( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_SIMPLE_APPLY_KERNEL); diff --git a/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.instantiate.cpp b/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.instantiate.cpp index 3a35fbe3f04..faf869718a6 100644 --- a/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.instantiate.cpp +++ b/common/cuda_hip/preconditioner/jacobi_simple_apply_kernels.instantiate.cpp @@ -151,7 +151,7 @@ void apply(syn::value_list, const preconditioner::block_interleaved_storage_scheme&, \ const ValueType*, size_type, ValueType*, size_type) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( DECLARE_JACOBI_SIMPLE_APPLY_INSTANTIATION); diff --git a/common/cuda_hip/preconditioner/sor_kernels.cpp b/common/cuda_hip/preconditioner/sor_kernels.cpp index f75a52b3af2..033a65ea862 100644 --- a/common/cuda_hip/preconditioner/sor_kernels.cpp +++ b/common/cuda_hip/preconditioner/sor_kernels.cpp @@ -46,7 +46,7 @@ void initialize_weighted_l( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L); @@ -94,7 +94,7 @@ void initialize_weighted_l_u( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L_U); diff --git a/common/cuda_hip/solver/cb_gmres_kernels.cpp b/common/cuda_hip/solver/cb_gmres_kernels.cpp index 02d45a8d31e..bdf6de03f38 100644 --- a/common/cuda_hip/solver/cb_gmres_kernels.cpp +++ b/common/cuda_hip/solver/cb_gmres_kernels.cpp @@ -633,7 +633,8 @@ void initialize(std::shared_ptr exec, as_device_type(stop_status->get_data())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE( + GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); template diff --git a/common/cuda_hip/solver/idr_kernels.cpp b/common/cuda_hip/solver/idr_kernels.cpp index 649d8a1769c..9a99d7fa581 100644 --- a/common/cuda_hip/solver/idr_kernels.cpp +++ b/common/cuda_hip/solver/idr_kernels.cpp @@ -575,8 +575,7 @@ void initialize(std::shared_ptr exec, orthonormalize_subspace_vectors(exec, subspace_vectors); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_INITIALIZE_KERNEL); template @@ -603,7 +602,7 @@ void step_1(std::shared_ptr exec, const size_type nrhs, stop_status->get_const_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_1_KERNEL); template @@ -630,7 +629,7 @@ void step_2(std::shared_ptr exec, const size_type nrhs, stop_status->get_const_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_2_KERNEL); template @@ -647,7 +646,7 @@ void step_3(std::shared_ptr exec, const size_type nrhs, update_x_r_and_f(exec, nrhs, k, m, g, u, f, residual, x, stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_3_KERNEL); template @@ -665,8 +664,7 @@ void compute_omega( as_device_type(omega->get_values()), stop_status->get_const_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); } // namespace idr diff --git a/common/cuda_hip/solver/multigrid_kernels.cpp b/common/cuda_hip/solver/multigrid_kernels.cpp index b5d8a0f77b9..f172c391864 100644 --- a/common/cuda_hip/solver/multigrid_kernels.cpp +++ b/common/cuda_hip/solver/multigrid_kernels.cpp @@ -141,8 +141,7 @@ void kcycle_step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); template @@ -175,8 +174,7 @@ void kcycle_step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); template @@ -200,7 +198,7 @@ void kcycle_check_stop(std::shared_ptr exec, is_stop = get_element(dis_stop, 0); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_MULTIGRID_KCYCLE_CHECK_STOP_KERNEL); diff --git a/common/cuda_hip/stop/residual_norm_kernels.cpp b/common/cuda_hip/stop/residual_norm_kernels.cpp index 23ca8e5d5f1..9d6db5211e8 100644 --- a/common/cuda_hip/stop/residual_norm_kernels.cpp +++ b/common/cuda_hip/stop/residual_norm_kernels.cpp @@ -91,7 +91,7 @@ void residual_norm(std::shared_ptr exec, *one_changed = get_element(*device_storage, 1); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_RESIDUAL_NORM_KERNEL); @@ -171,8 +171,7 @@ void implicit_residual_norm( *one_changed = get_element(*device_storage, 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); } // namespace implicit_residual_norm diff --git a/common/unified/base/device_matrix_data_kernels.cpp b/common/unified/base/device_matrix_data_kernels.cpp index b72c6bf3476..d801b47fcd5 100644 --- a/common/unified/base/device_matrix_data_kernels.cpp +++ b/common/unified/base/device_matrix_data_kernels.cpp @@ -30,7 +30,7 @@ void soa_to_aos(std::shared_ptr exec, in.get_const_col_idxs(), in.get_const_values(), out); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SOA_TO_AOS_KERNEL); @@ -50,7 +50,7 @@ void aos_to_soa(std::shared_ptr exec, out.get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_AOS_TO_SOA_KERNEL); diff --git a/common/unified/components/absolute_array_kernels.cpp b/common/unified/components/absolute_array_kernels.cpp index 423fa234c39..c9ab364353c 100644 --- a/common/unified/components/absolute_array_kernels.cpp +++ b/common/unified/components/absolute_array_kernels.cpp @@ -23,8 +23,7 @@ void inplace_absolute_array(std::shared_ptr exec, data); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_INPLACE_ABSOLUTE_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_INPLACE_ABSOLUTE_ARRAY_KERNEL); template @@ -38,8 +37,7 @@ void outplace_absolute_array(std::shared_ptr exec, n, in, out); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_OUTPLACE_ABSOLUTE_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_OUTPLACE_ABSOLUTE_ARRAY_KERNEL); } // namespace components diff --git a/common/unified/components/fill_array_kernels.cpp b/common/unified/components/fill_array_kernels.cpp index 3e87d782974..2fd51dd939b 100644 --- a/common/unified/components/fill_array_kernels.cpp +++ b/common/unified/components/fill_array_kernels.cpp @@ -23,7 +23,7 @@ void fill_array(std::shared_ptr exec, ValueType* array, array, val); } -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_FILL_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_FILL_ARRAY_KERNEL); template GKO_DECLARE_FILL_ARRAY_KERNEL(bool); @@ -44,8 +44,7 @@ void fill_seq_array(std::shared_ptr exec, n, array); } -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF( - GKO_DECLARE_FILL_SEQ_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_FILL_SEQ_ARRAY_KERNEL); } // namespace components diff --git a/common/unified/components/precision_conversion_kernels.cpp b/common/unified/components/precision_conversion_kernels.cpp index 46d14a7ef17..270ee5b3590 100644 --- a/common/unified/components/precision_conversion_kernels.cpp +++ b/common/unified/components/precision_conversion_kernels.cpp @@ -25,8 +25,7 @@ void convert_precision(std::shared_ptr exec, size, in, out); } -GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_WITH_HALF( - GKO_DECLARE_CONVERT_PRECISION_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(GKO_DECLARE_CONVERT_PRECISION_KERNEL); } // namespace components diff --git a/common/unified/components/reduce_array_kernels.cpp b/common/unified/components/reduce_array_kernels.cpp index 1e7d19264cd..bc8da6fa311 100644 --- a/common/unified/components/reduce_array_kernels.cpp +++ b/common/unified/components/reduce_array_kernels.cpp @@ -34,8 +34,7 @@ void reduce_add_array(std::shared_ptr exec, arr, result); } -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF( - GKO_DECLARE_REDUCE_ADD_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_REDUCE_ADD_ARRAY_KERNEL); } // namespace components diff --git a/common/unified/distributed/assembly_kernels.cpp b/common/unified/distributed/assembly_kernels.cpp index a3ac5207f17..a33fca28796 100644 --- a/common/unified/distributed/assembly_kernels.cpp +++ b/common/unified/distributed/assembly_kernels.cpp @@ -48,7 +48,7 @@ void fill_send_buffers( send_values.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_FILL_SEND_BUFFERS); diff --git a/common/unified/matrix/coo_kernels.cpp b/common/unified/matrix/coo_kernels.cpp index 233dffc6f37..ce13d7500ab 100644 --- a/common/unified/matrix/coo_kernels.cpp +++ b/common/unified/matrix/coo_kernels.cpp @@ -38,7 +38,7 @@ void extract_diagonal(std::shared_ptr exec, diag->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_EXTRACT_DIAGONAL_KERNEL); @@ -58,7 +58,7 @@ void fill_in_dense(std::shared_ptr exec, orig->get_const_row_idxs(), orig->get_const_col_idxs(), result); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_FILL_IN_DENSE_KERNEL); diff --git a/common/unified/matrix/csr_kernels.cpp b/common/unified/matrix/csr_kernels.cpp index d5741bb3e1c..5236c1c9da9 100644 --- a/common/unified/matrix/csr_kernels.cpp +++ b/common/unified/matrix/csr_kernels.cpp @@ -52,7 +52,7 @@ void inv_col_permute(std::shared_ptr exec, col_permuted->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_COL_PERMUTE_KERNEL); @@ -86,7 +86,7 @@ void inv_col_scale_permute(std::shared_ptr exec, col_permuted->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_COL_SCALE_PERMUTE_KERNEL); @@ -102,8 +102,7 @@ void scale(std::shared_ptr exec, x->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SCALE_KERNEL); template @@ -118,8 +117,7 @@ void inv_scale(std::shared_ptr exec, x->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_SCALE_KERNEL); template @@ -154,7 +152,7 @@ void convert_to_sellp(std::shared_ptr exec, output->get_col_idxs(), output->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_SELLP_KERNEL); @@ -185,7 +183,7 @@ void convert_to_ell(std::shared_ptr exec, output->get_col_idxs(), output->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_ELL_KERNEL); @@ -229,7 +227,7 @@ void convert_to_hybrid(std::shared_ptr exec, result->get_coo_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_HYBRID_KERNEL); diff --git a/common/unified/matrix/dense_kernels.instantiate.cpp b/common/unified/matrix/dense_kernels.instantiate.cpp index dcf48573fc6..aca8ad5bec4 100644 --- a/common/unified/matrix/dense_kernels.instantiate.cpp +++ b/common/unified/matrix/dense_kernels.instantiate.cpp @@ -12,99 +12,87 @@ namespace dense { // begin -GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY( GKO_DECLARE_DENSE_COPY_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_FILL_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_FILL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_FILL_IN_MATRIX_DATA_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SCALE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(GKO_DECLARE_DENSE_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_INV_SCALE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_ADD_SCALED_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_SUB_SCALED_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_ADD_SCALED_DIAG_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SUB_SCALED_DIAG_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_SQRT_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_ADD_SCALED_DIAG_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_SUB_SCALED_DIAG_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_SQRT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_SYMM_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_SYMM_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_NONSYMM_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_NONSYMM_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2( GKO_DECLARE_DENSE_ROW_GATHER_KERNEL); -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2( GKO_DECLARE_DENSE_ADVANCED_ROW_GATHER_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COL_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_ROW_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_COL_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_SYMM_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_SYMM_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_NONSYMM_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_NONSYMM_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_ROW_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_ROW_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COL_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_COL_SCALE_PERMUTE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_EXTRACT_DIAGONAL_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_INPLACE_ABSOLUTE_DENSE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_OUTPLACE_ABSOLUTE_DENSE_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_MAKE_COMPLEX_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GET_REAL_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GET_IMAG_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_EXTRACT_DIAGONAL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_INPLACE_ABSOLUTE_DENSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_OUTPLACE_ABSOLUTE_DENSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MAKE_COMPLEX_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GET_REAL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GET_IMAG_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_ADD_SCALED_IDENTITY_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_DOT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_DOT_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_NORM2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_NORM2_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_NORM1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_NORM1_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_MAX_NNZ_PER_ROW_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_SLICE_SETS_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COUNT_NONZEROS_PER_ROW_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COUNT_NONZEROS_PER_ROW_KERNEL_SIZE_T); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_SQUARED_NORM2_KERNEL); // split -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_MEAN_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_MEAN_KERNEL); // end diff --git a/common/unified/matrix/diagonal_kernels.cpp b/common/unified/matrix/diagonal_kernels.cpp index 75960e800d7..dae037a5134 100644 --- a/common/unified/matrix/diagonal_kernels.cpp +++ b/common/unified/matrix/diagonal_kernels.cpp @@ -36,8 +36,7 @@ void apply_to_dense(std::shared_ptr exec, b->get_size(), a->get_const_values(), b, c, inverse); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_APPLY_TO_DENSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DIAGONAL_APPLY_TO_DENSE_KERNEL); template @@ -54,7 +53,7 @@ void right_apply_to_dense(std::shared_ptr exec, b->get_size(), a->get_const_values(), b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_DENSE_KERNEL); @@ -75,7 +74,7 @@ void right_apply_to_csr(std::shared_ptr exec, c->get_const_col_idxs()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_CSR_KERNEL); @@ -96,7 +95,7 @@ void fill_in_matrix_data(std::shared_ptr exec, output->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_FILL_IN_MATRIX_DATA_KERNEL); @@ -121,7 +120,7 @@ void convert_to_csr(std::shared_ptr exec, result->get_col_idxs(), result->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_CONVERT_TO_CSR_KERNEL); @@ -138,8 +137,7 @@ void conj_transpose(std::shared_ptr exec, orig->get_size()[0], orig->get_const_values(), trans->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_CONJ_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DIAGONAL_CONJ_TRANSPOSE_KERNEL); } // namespace diagonal diff --git a/common/unified/matrix/ell_kernels.cpp b/common/unified/matrix/ell_kernels.cpp index 24fc90a888e..6d23e08b68b 100644 --- a/common/unified/matrix/ell_kernels.cpp +++ b/common/unified/matrix/ell_kernels.cpp @@ -67,7 +67,7 @@ void fill_in_matrix_data(std::shared_ptr exec, output->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_FILL_IN_MATRIX_DATA_KERNEL); @@ -94,7 +94,7 @@ void fill_in_dense(std::shared_ptr exec, source->get_const_values(), result); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_FILL_IN_DENSE_KERNEL); @@ -121,8 +121,7 @@ void copy(std::shared_ptr exec, result->get_col_idxs(), result->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ELL_COPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_COPY_KERNEL); template @@ -151,7 +150,7 @@ void convert_to_csr(std::shared_ptr exec, result->get_col_idxs(), result->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_CONVERT_TO_CSR_KERNEL); @@ -173,7 +172,7 @@ void count_nonzeros_per_row(std::shared_ptr exec, static_cast(source->get_stride()), source->get_const_col_idxs()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_COUNT_NONZEROS_PER_ROW_KERNEL); @@ -199,7 +198,7 @@ void extract_diagonal(std::shared_ptr exec, orig->get_const_values(), diag->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_EXTRACT_DIAGONAL_KERNEL); diff --git a/common/unified/matrix/hybrid_kernels.cpp b/common/unified/matrix/hybrid_kernels.cpp index 79a596febea..8a21a2415f7 100644 --- a/common/unified/matrix/hybrid_kernels.cpp +++ b/common/unified/matrix/hybrid_kernels.cpp @@ -89,7 +89,7 @@ void fill_in_matrix_data(std::shared_ptr exec, result->get_coo_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_HYBRID_FILL_IN_MATRIX_DATA_KERNEL); @@ -150,7 +150,7 @@ void convert_to_csr(std::shared_ptr exec, coo_row_ptrs, result->get_col_idxs(), result->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_HYBRID_CONVERT_TO_CSR_KERNEL); diff --git a/common/unified/matrix/scaled_permutation_kernels.cpp b/common/unified/matrix/scaled_permutation_kernels.cpp index 4cdc7974e50..3eaab65e8e6 100644 --- a/common/unified/matrix/scaled_permutation_kernels.cpp +++ b/common/unified/matrix/scaled_permutation_kernels.cpp @@ -32,7 +32,7 @@ void invert(std::shared_ptr exec, size, input_scale, input_permutation, output_scale, output_permutation); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SCALED_PERMUTATION_INVERT_KERNEL); @@ -58,7 +58,7 @@ void compose(std::shared_ptr exec, output_permutation, output_scale); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SCALED_PERMUTATION_COMPOSE_KERNEL); diff --git a/common/unified/matrix/sellp_kernels.cpp b/common/unified/matrix/sellp_kernels.cpp index 23bfe160a69..93b71ff43f2 100644 --- a/common/unified/matrix/sellp_kernels.cpp +++ b/common/unified/matrix/sellp_kernels.cpp @@ -87,7 +87,7 @@ void fill_in_matrix_data(std::shared_ptr exec, output->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_FILL_IN_MATRIX_DATA_KERNEL); @@ -119,7 +119,7 @@ void fill_in_dense(std::shared_ptr exec, source->get_const_values(), result); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_FILL_IN_DENSE_KERNEL); @@ -149,7 +149,7 @@ void count_nonzeros_per_row(std::shared_ptr exec, source->get_const_slice_sets(), source->get_const_col_idxs(), result); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_COUNT_NONZEROS_PER_ROW_KERNEL); @@ -183,7 +183,7 @@ void convert_to_csr(std::shared_ptr exec, result->get_col_idxs(), result->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_CONVERT_TO_CSR_KERNEL); @@ -215,7 +215,7 @@ void extract_diagonal(std::shared_ptr exec, orig->get_const_values(), diag->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_EXTRACT_DIAGONAL_KERNEL); diff --git a/common/unified/matrix/sparsity_csr_kernels.cpp b/common/unified/matrix/sparsity_csr_kernels.cpp index b3f26358ad3..c5a9c79a89b 100644 --- a/common/unified/matrix/sparsity_csr_kernels.cpp +++ b/common/unified/matrix/sparsity_csr_kernels.cpp @@ -41,7 +41,7 @@ void fill_in_dense(std::shared_ptr exec, input->get_const_col_idxs(), input->get_const_value(), output); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_FILL_IN_DENSE_KERNEL); @@ -70,7 +70,7 @@ void diagonal_element_prefix_sum( components::prefix_sum_nonnegative(exec, prefix_sum, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_DIAGONAL_ELEMENT_PREFIX_SUM_KERNEL); @@ -106,7 +106,7 @@ void remove_diagonal_elements(std::shared_ptr exec, matrix->get_col_idxs()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_REMOVE_DIAGONAL_ELEMENTS_KERNEL); diff --git a/common/unified/multigrid/pgm_kernels.cpp b/common/unified/multigrid/pgm_kernels.cpp index 2b0c04592a7..409dbc8b9b6 100644 --- a/common/unified/multigrid/pgm_kernels.cpp +++ b/common/unified/multigrid/pgm_kernels.cpp @@ -217,7 +217,7 @@ void find_strongest_neighbor( strongest_neighbor.get_data()); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_FIND_STRONGEST_NEIGHBOR); template @@ -305,7 +305,7 @@ void assign_to_exist_agg(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_ASSIGN_TO_EXIST_AGG); diff --git a/common/unified/preconditioner/jacobi_kernels.cpp b/common/unified/preconditioner/jacobi_kernels.cpp index 00f3d62f312..dce00fd1366 100644 --- a/common/unified/preconditioner/jacobi_kernels.cpp +++ b/common/unified/preconditioner/jacobi_kernels.cpp @@ -32,8 +32,7 @@ void scalar_conj(std::shared_ptr exec, diag.get_size(), diag, conj_diag); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_SCALAR_CONJ_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_JACOBI_SCALAR_CONJ_KERNEL); template @@ -50,8 +49,7 @@ void invert_diagonal(std::shared_ptr exec, diag.get_size(), diag, inv_diag); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_INVERT_DIAGONAL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_JACOBI_INVERT_DIAGONAL_KERNEL); template @@ -85,8 +83,7 @@ void scalar_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_SCALAR_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_JACOBI_SCALAR_APPLY_KERNEL); template @@ -103,7 +100,7 @@ void simple_scalar_apply(std::shared_ptr exec, x->get_size(), diag, b, x); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_JACOBI_SIMPLE_SCALAR_APPLY_KERNEL); @@ -123,7 +120,7 @@ void scalar_convert_to_dense(std::shared_ptr exec, result->get_size(), blocks, result); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_JACOBI_SCALAR_CONVERT_TO_DENSE_KERNEL); diff --git a/common/unified/solver/bicg_kernels.cpp b/common/unified/solver/bicg_kernels.cpp index 4c6fe8cdc98..7d15718c05d 100644 --- a/common/unified/solver/bicg_kernels.cpp +++ b/common/unified/solver/bicg_kernels.cpp @@ -64,8 +64,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICG_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG_INITIALIZE_KERNEL); template @@ -91,7 +90,7 @@ void step_1(std::shared_ptr exec, row_vector(prev_rho), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG_STEP_1_KERNEL); template @@ -120,7 +119,7 @@ void step_2(std::shared_ptr exec, default_stride(q2), row_vector(beta), row_vector(rho), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG_STEP_2_KERNEL); } // namespace bicg diff --git a/common/unified/solver/bicgstab_kernels.cpp b/common/unified/solver/bicgstab_kernels.cpp index ad5b1ed3302..c403da3bf96 100644 --- a/common/unified/solver/bicgstab_kernels.cpp +++ b/common/unified/solver/bicgstab_kernels.cpp @@ -69,8 +69,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_INITIALIZE_KERNEL); template @@ -99,8 +98,7 @@ void step_1(std::shared_ptr exec, row_vector(alpha), row_vector(omega), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_1_KERNEL); template @@ -129,8 +127,7 @@ void step_2(std::shared_ptr exec, *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_2_KERNEL); template @@ -162,8 +159,7 @@ void step_3( row_vector(omega), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_3_KERNEL); template @@ -192,8 +188,7 @@ void finalize(std::shared_ptr exec, x->get_size()[1], *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_FINALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_FINALIZE_KERNEL); } // namespace bicgstab diff --git a/common/unified/solver/cg_kernels.cpp b/common/unified/solver/cg_kernels.cpp index e77f01de748..822dddf1c3b 100644 --- a/common/unified/solver/cg_kernels.cpp +++ b/common/unified/solver/cg_kernels.cpp @@ -57,7 +57,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG_INITIALIZE_KERNEL); template @@ -80,7 +80,7 @@ void step_1(std::shared_ptr exec, row_vector(rho), row_vector(prev_rho), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG_STEP_1_KERNEL); template @@ -106,7 +106,7 @@ void step_2(std::shared_ptr exec, default_stride(q), row_vector(beta), row_vector(rho), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG_STEP_2_KERNEL); } // namespace cg diff --git a/common/unified/solver/cgs_kernels.cpp b/common/unified/solver/cgs_kernels.cpp index 6ceaa883c9f..0618b8f8208 100644 --- a/common/unified/solver/cgs_kernels.cpp +++ b/common/unified/solver/cgs_kernels.cpp @@ -72,8 +72,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_CGS_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_INITIALIZE_KERNEL); template @@ -104,7 +103,7 @@ void step_1(std::shared_ptr exec, row_vector(prev_rho), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_STEP_1_KERNEL); template @@ -135,7 +134,7 @@ void step_2(std::shared_ptr exec, row_vector(alpha), row_vector(rho), row_vector(gamma), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_STEP_2_KERNEL); template void step_3(std::shared_ptr exec, @@ -158,7 +157,7 @@ void step_3(std::shared_ptr exec, *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_STEP_3_KERNEL); } // namespace cgs diff --git a/common/unified/solver/common_gmres_kernels.cpp b/common/unified/solver/common_gmres_kernels.cpp index 32fe526d7f6..679aebcfaa2 100644 --- a/common/unified/solver/common_gmres_kernels.cpp +++ b/common/unified/solver/common_gmres_kernels.cpp @@ -52,8 +52,7 @@ void initialize(std::shared_ptr exec, b->get_size()[0]); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_COMMON_GMRES_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_COMMON_GMRES_INITIALIZE_KERNEL); template @@ -126,7 +125,7 @@ void hessenberg_qr(std::shared_ptr exec, stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_COMMON_GMRES_HESSENBERG_QR_KERNEL); @@ -159,7 +158,7 @@ void solve_krylov(std::shared_ptr exec, residual_norm_collection->get_size()[1]); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_COMMON_GMRES_SOLVE_KRYLOV_KERNEL); diff --git a/common/unified/solver/fcg_kernels.cpp b/common/unified/solver/fcg_kernels.cpp index 01dd3cb3d9a..7853d97c358 100644 --- a/common/unified/solver/fcg_kernels.cpp +++ b/common/unified/solver/fcg_kernels.cpp @@ -61,8 +61,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_FCG_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG_INITIALIZE_KERNEL); template @@ -85,7 +84,7 @@ void step_1(std::shared_ptr exec, row_vector(rho_t), row_vector(prev_rho), *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG_STEP_1_KERNEL); template @@ -114,7 +113,7 @@ void step_2(std::shared_ptr exec, *stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG_STEP_2_KERNEL); } // namespace fcg diff --git a/common/unified/solver/gcr_kernels.cpp b/common/unified/solver/gcr_kernels.cpp index d5c2e27097d..7adef77dfb1 100644 --- a/common/unified/solver/gcr_kernels.cpp +++ b/common/unified/solver/gcr_kernels.cpp @@ -44,8 +44,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_GCR_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR_INITIALIZE_KERNEL); template @@ -79,7 +78,7 @@ void restart(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_RESTART_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR_RESTART_KERNEL); template @@ -105,7 +104,7 @@ void step_1(std::shared_ptr exec, stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR_STEP_1_KERNEL); } // namespace gcr } // namespace GKO_DEVICE_NAMESPACE diff --git a/common/unified/solver/gmres_kernels.cpp b/common/unified/solver/gmres_kernels.cpp index 38bb935df9f..f24ae445edb 100644 --- a/common/unified/solver/gmres_kernels.cpp +++ b/common/unified/solver/gmres_kernels.cpp @@ -56,7 +56,7 @@ void restart(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES_RESTART_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES_RESTART_KERNEL); template @@ -92,8 +92,7 @@ void multi_axpy(std::shared_ptr exec, before_preconditioner->get_size()[1], stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_GMRES_MULTI_AXPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES_MULTI_AXPY_KERNEL); template @@ -120,8 +119,7 @@ void multi_dot(std::shared_ptr exec, next_krylov->get_size()[0]); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_GMRES_MULTI_DOT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES_MULTI_DOT_KERNEL); } // namespace gmres } // namespace GKO_DEVICE_NAMESPACE diff --git a/core/base/array.cpp b/core/base/array.cpp index 7a98223a7b2..a41f7c07e55 100644 --- a/core/base/array.cpp +++ b/core/base/array.cpp @@ -51,8 +51,7 @@ void convert_data(std::shared_ptr exec, size_type size, void convert_data(std::shared_ptr, size_type, \ const From*, To*) -GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_WITH_HALF( - GKO_DECLARE_ARRAY_CONVERSION); +GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(GKO_DECLARE_ARRAY_CONVERSION); } // namespace detail @@ -89,19 +88,19 @@ ValueType reduce_add(const array& input_arr, #define GKO_DECLARE_ARRAY_FILL(_type) void array<_type>::fill(const _type value) -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_ARRAY_FILL); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_ARRAY_FILL); #define GKO_DECLARE_ARRAY_REDUCE_ADD(_type) \ void reduce_add(const array<_type>& arr, array<_type>& value) -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_ARRAY_REDUCE_ADD); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_ARRAY_REDUCE_ADD); #define GKO_DECLARE_ARRAY_REDUCE_ADD2(_type) \ _type reduce_add(const array<_type>& arr, const _type val) -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_ARRAY_REDUCE_ADD2); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_ARRAY_REDUCE_ADD2); } // namespace gko diff --git a/core/base/batch_instantiation.hpp b/core/base/batch_instantiation.hpp index 652d4cd7ff7..5fb08180a31 100644 --- a/core/base/batch_instantiation.hpp +++ b/core/base/batch_instantiation.hpp @@ -42,10 +42,10 @@ namespace batch { * * @note the second and third arguments only accept the base type.s */ -#define GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER(...) \ - GKO_CALL(GKO_BATCH_INSTANTIATE_MATRIX, \ - GKO_BATCH_INSTANTIATE_PRECONDITIONER, \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS_WITH_HALF, __VA_ARGS__) +#define GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE(...) \ + GKO_CALL(GKO_BATCH_INSTANTIATE_MATRIX, \ + GKO_BATCH_INSTANTIATE_PRECONDITIONER, \ + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS, __VA_ARGS__) } // namespace batch diff --git a/core/base/batch_multi_vector.cpp b/core/base/batch_multi_vector.cpp index 1eb3cd8f60d..4fb9eec6845 100644 --- a/core/base/batch_multi_vector.cpp +++ b/core/base/batch_multi_vector.cpp @@ -281,7 +281,7 @@ void MultiVector::compute_norm2( template void MultiVector::convert_to( - MultiVector>* result) const + MultiVector>* result) const { result->values_ = this->values_; result->set_size(this->get_size()); @@ -290,7 +290,7 @@ void MultiVector::convert_to( template void MultiVector::move_to( - MultiVector>* result) + MultiVector>* result) { this->convert_to(result); } @@ -299,8 +299,7 @@ void MultiVector::move_to( #if GINKGO_ENABLE_HALF template void MultiVector::convert_to( - MultiVector>>* - result) const + MultiVector>>* result) const { result->values_ = this->values_; result->set_size(this->get_size()); @@ -309,8 +308,7 @@ void MultiVector::convert_to( template void MultiVector::move_to( - MultiVector>>* - result) + MultiVector>>* result) { this->convert_to(result); } @@ -318,7 +316,7 @@ void MultiVector::move_to( #define GKO_DECLARE_BATCH_MULTI_VECTOR(_type) class MultiVector<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_MULTI_VECTOR); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR); } // namespace batch diff --git a/core/base/combination.cpp b/core/base/combination.cpp index 53af6742f6e..3b30b77d38c 100644 --- a/core/base/combination.cpp +++ b/core/base/combination.cpp @@ -168,7 +168,7 @@ void Combination::apply_impl(const LinOp* alpha, const LinOp* b, #define GKO_DECLARE_COMBINATION(_type) class Combination<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_COMBINATION); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_COMBINATION); } // namespace gko diff --git a/core/base/composition.cpp b/core/base/composition.cpp index f6a7df21e45..82c8152300b 100644 --- a/core/base/composition.cpp +++ b/core/base/composition.cpp @@ -222,7 +222,7 @@ void Composition::apply_impl(const LinOp* alpha, const LinOp* b, #define GKO_DECLARE_COMPOSITION(_type) class Composition<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_COMPOSITION); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_COMPOSITION); } // namespace gko diff --git a/core/base/dense_cache.cpp b/core/base/dense_cache.cpp index 096ad1f761a..38a0decfa46 100644 --- a/core/base/dense_cache.cpp +++ b/core/base/dense_cache.cpp @@ -33,7 +33,7 @@ void DenseCache::init_from( #define GKO_DECLARE_DENSE_CACHE(_type) struct DenseCache<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_CACHE); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_CACHE); } // namespace detail diff --git a/core/base/device_matrix_data.cpp b/core/base/device_matrix_data.cpp index cb9d332f5ab..4c71fffe275 100644 --- a/core/base/device_matrix_data.cpp +++ b/core/base/device_matrix_data.cpp @@ -157,8 +157,7 @@ device_matrix_data::empty_out() #define GKO_DECLARE_DEVICE_MATRIX_DATA(ValueType, IndexType) \ class device_matrix_data -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DEVICE_MATRIX_DATA); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DEVICE_MATRIX_DATA); } // namespace gko diff --git a/core/base/mixed_precision_types.hpp b/core/base/mixed_precision_types.hpp index 5ef5de94e34..3e78453fed1 100644 --- a/core/base/mixed_precision_types.hpp +++ b/core/base/mixed_precision_types.hpp @@ -14,49 +14,49 @@ #ifdef GINKGO_MIXED_PRECISION -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(_macro, ...) \ - template _macro(float, float, float, __VA_ARGS__); \ - template _macro(float, float, double, __VA_ARGS__); \ - template _macro(float, double, float, __VA_ARGS__); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_BASE(_macro, ...) \ + template _macro(float, float, float, __VA_ARGS__); \ + template _macro(float, float, double, __VA_ARGS__); \ + template _macro(float, double, float, __VA_ARGS__); \ template _macro(float, double, double, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(_macro, __VA_ARGS__); \ - GKO_ADAPT_HF(template _macro(float, half, half, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(float, half, float, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(float, half, double, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(float, float, half, __VA_ARGS__)); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_BASE(_macro, \ + __VA_ARGS__); \ + GKO_ADAPT_HF(template _macro(float, half, half, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(float, half, float, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(float, half, double, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(float, float, half, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(float, double, half, __VA_ARGS__)) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(_macro, ...) \ - template _macro(double, float, float, __VA_ARGS__); \ - template _macro(double, float, double, __VA_ARGS__); \ - template _macro(double, double, float, __VA_ARGS__); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_BASE(_macro, ...) \ + template _macro(double, float, float, __VA_ARGS__); \ + template _macro(double, float, double, __VA_ARGS__); \ + template _macro(double, double, float, __VA_ARGS__); \ template _macro(double, double, double, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(_macro, __VA_ARGS__); \ - GKO_ADAPT_HF(template _macro(double, half, half, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(double, half, float, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(double, half, double, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(double, float, half, __VA_ARGS__)); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_BASE(_macro, \ + __VA_ARGS__); \ + GKO_ADAPT_HF(template _macro(double, half, half, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(double, half, float, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(double, half, double, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(double, float, half, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(double, double, half, __VA_ARGS__)) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(_macro, ...) \ - template _macro(std::complex, std::complex, \ - std::complex, __VA_ARGS__); \ - template _macro(std::complex, std::complex, \ - std::complex, __VA_ARGS__); \ - template _macro(std::complex, std::complex, \ - std::complex, __VA_ARGS__); \ - template _macro(std::complex, std::complex, \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_BASE(_macro, ...) \ + template _macro(std::complex, std::complex, \ + std::complex, __VA_ARGS__); \ + template _macro(std::complex, std::complex, \ + std::complex, __VA_ARGS__); \ + template _macro(std::complex, std::complex, \ + std::complex, __VA_ARGS__); \ + template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(_macro, __VA_ARGS__); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_BASE(_macro, \ + __VA_ARGS__); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ @@ -68,19 +68,19 @@ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__)) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, ...) \ - template _macro(std::complex, std::complex, \ - std::complex, __VA_ARGS__); \ - template _macro(std::complex, std::complex, \ - std::complex, __VA_ARGS__); \ - template _macro(std::complex, std::complex, \ - std::complex, __VA_ARGS__); \ - template _macro(std::complex, std::complex, \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_BASE(_macro, ...) \ + template _macro(std::complex, std::complex, \ + std::complex, __VA_ARGS__); \ + template _macro(std::complex, std::complex, \ + std::complex, __VA_ARGS__); \ + template _macro(std::complex, std::complex, \ + std::complex, __VA_ARGS__); \ + template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, __VA_ARGS__); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_BASE(_macro, \ + __VA_ARGS__); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ @@ -92,20 +92,18 @@ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__)) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5_WITH_HALF(_macro, \ - ...) \ - GKO_ADAPT_HF(template _macro(half, half, half, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(half, half, float, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(half, half, double, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(half, float, half, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(half, float, float, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(half, float, double, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(half, double, half, __VA_ARGS__)); \ - GKO_ADAPT_HF(template _macro(half, double, float, __VA_ARGS__)); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5(_macro, ...) \ + GKO_ADAPT_HF(template _macro(half, half, half, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(half, half, float, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(half, half, double, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(half, float, half, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(half, float, float, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(half, float, double, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(half, double, half, __VA_ARGS__)); \ + GKO_ADAPT_HF(template _macro(half, double, float, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(half, double, double, __VA_ARGS__)) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6_WITH_HALF(_macro, \ - ...) \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6(_macro, ...) \ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ @@ -127,79 +125,70 @@ #else -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(_macro, ...) \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_BASE(_macro, ...) \ template _macro(float, float, float, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(_macro, __VA_ARGS__) +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_BASE(_macro, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(_macro, ...) \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_BASE(_macro, ...) \ template _macro(double, double, double, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(_macro, __VA_ARGS__) +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_BASE(_macro, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(_macro, ...) \ - template _macro(std::complex, std::complex, \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_BASE(_macro, ...) \ + template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(_macro, __VA_ARGS__) +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_BASE(_macro, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, ...) \ - template _macro(std::complex, std::complex, \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_BASE(_macro, ...) \ + template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_WITH_HALF(_macro, \ - ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, __VA_ARGS__) +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_BASE(_macro, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5_WITH_HALF(_macro, \ - ...) \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5(_macro, ...) \ GKO_ADAPT_HF(template _macro(half, half, half, __VA_ARGS__)) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6_WITH_HALF(_macro, \ - ...) \ - GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6(_macro, ...) \ + GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ std::complex, __VA_ARGS__)) #endif +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_BASE(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_BASE(_macro, \ + __VA_ARGS__); \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_BASE(_macro, \ + __VA_ARGS__); \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_BASE(_macro, \ + __VA_ARGS__); \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_BASE(_macro, __VA_ARGS__) + #define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE(_macro, ...) \ GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1(_macro, __VA_ARGS__); \ GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2(_macro, __VA_ARGS__); \ GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3(_macro, __VA_ARGS__); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, __VA_ARGS__) - -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_WITH_HALF(_macro, ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT1_WITH_HALF(_macro, \ - __VA_ARGS__); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT2_WITH_HALF(_macro, \ - __VA_ARGS__); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT3_WITH_HALF(_macro, \ - __VA_ARGS__); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4_WITH_HALF(_macro, \ - __VA_ARGS__); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5_WITH_HALF(_macro, \ - __VA_ARGS__); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6_WITH_HALF(_macro, \ - __VA_ARGS__) + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT4(_macro, __VA_ARGS__); \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT5(_macro, __VA_ARGS__); \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_SPLIT6(_macro, __VA_ARGS__) + +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_BASE(_macro, int32); \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_BASE(_macro, int64) #define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE(_macro) \ GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE(_macro, int32); \ GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE(_macro, int64) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_WITH_HALF(_macro, int32); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_WITH_HALF(_macro, int64) - #ifdef GINKGO_MIXED_PRECISION -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, ...) \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_BASE(_macro, ...) \ template _macro(float, float, __VA_ARGS__); \ template _macro(float, double, __VA_ARGS__); \ template _macro(double, float, __VA_ARGS__); \ @@ -209,8 +198,8 @@ template _macro(std::complex, std::complex, __VA_ARGS__); \ template _macro(std::complex, std::complex, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_WITH_HALF(_macro, ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, __VA_ARGS__); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_BASE(_macro, __VA_ARGS__); \ GKO_ADAPT_HF(template _macro(half, half, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(half, float, __VA_ARGS__)); \ GKO_ADAPT_HF(template _macro(half, double, __VA_ARGS__)); \ @@ -227,27 +216,26 @@ GKO_ADAPT_HF(template _macro(std::complex, std::complex, \ __VA_ARGS__)) #else -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, ...) \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_BASE(_macro, ...) \ template _macro(float, float, __VA_ARGS__); \ template _macro(double, double, __VA_ARGS__); \ template _macro(std::complex, std::complex, __VA_ARGS__); \ template _macro(std::complex, std::complex, __VA_ARGS__) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_WITH_HALF(_macro, ...) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, __VA_ARGS__); \ +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_BASE(_macro, __VA_ARGS__); \ GKO_ADAPT_HF(template _macro(half, half, __VA_ARGS__)); \ GKO_ADAPT_HF( \ template _macro(std::complex, std::complex, __VA_ARGS__)) #endif +#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_BASE(_macro, int32); \ + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_BASE(_macro, int64) + #define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2(_macro) \ GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, int32); \ GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2(_macro, int64) -#define GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF( \ - _macro) \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_WITH_HALF(_macro, int32); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_TYPE_2_WITH_HALF(_macro, int64) - #endif // GKO_CORE_BASE_MIXED_PRECISION_TYPES_HPP_ diff --git a/core/base/mtx_io.cpp b/core/base/mtx_io.cpp index 0897349d08c..d84b97a213b 100644 --- a/core/base/mtx_io.cpp +++ b/core/base/mtx_io.cpp @@ -984,14 +984,11 @@ void write_raw(std::ostream& os, const matrix_data& data, const matrix_data& data) #define GKO_DECLARE_READ_GENERIC_RAW(ValueType, IndexType) \ matrix_data read_generic_raw(std::istream& is) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_READ_RAW); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_WRITE_RAW); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_READ_BINARY_RAW); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_WRITE_BINARY_RAW); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_READ_GENERIC_RAW); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_READ_RAW); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_WRITE_RAW); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_READ_BINARY_RAW); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_WRITE_BINARY_RAW); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_READ_GENERIC_RAW); } // namespace gko diff --git a/core/base/perturbation.cpp b/core/base/perturbation.cpp index b17cba209e1..87501361c05 100644 --- a/core/base/perturbation.cpp +++ b/core/base/perturbation.cpp @@ -182,7 +182,7 @@ void Perturbation::apply_impl(const LinOp* alpha, const LinOp* b, #define GKO_DECLARE_PERTURBATION(_type) class Perturbation<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_PERTURBATION); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_PERTURBATION); } // namespace gko diff --git a/core/base/segmented_array.cpp b/core/base/segmented_array.cpp index 4c6356799f9..d113139f8e2 100644 --- a/core/base/segmented_array.cpp +++ b/core/base/segmented_array.cpp @@ -180,7 +180,7 @@ segmented_array& segmented_array::operator=(segmented_array&& other) #define GKO_DECLARE_SEGMENTED_ARRAY(_type) struct segmented_array<_type> -GKO_INSTANTIATE_FOR_EACH_POD_TYPE_WITH_HALF(GKO_DECLARE_SEGMENTED_ARRAY); +GKO_INSTANTIATE_FOR_EACH_POD_TYPE(GKO_DECLARE_SEGMENTED_ARRAY); } // namespace gko diff --git a/core/config/dispatch.hpp b/core/config/dispatch.hpp index 1c6d0eb12cd..6a604096322 100644 --- a/core/config/dispatch.hpp +++ b/core/config/dispatch.hpp @@ -102,15 +102,15 @@ deferred_factory_parameter dispatch( } } -using value_type_list = +using value_type_list_base = syn::type_list, std::complex>; #if GINKGO_ENABLE_HALF -using value_type_list_with_half = +using value_type_list = syn::type_list, std::complex, std::complex>; #else -using value_type_list_with_half = value_type_list; +using value_type_list = value_type_list_base; #endif // GINKGO_ENABLE_HALF using index_type_list = syn::type_list; diff --git a/core/config/factorization_config.cpp b/core/config/factorization_config.cpp index dae4072cce8..259d32cb872 100644 --- a/core/config/factorization_config.cpp +++ b/core/config/factorization_config.cpp @@ -23,18 +23,15 @@ namespace gko { namespace config { -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(Factorization_Ic, - gko::factorization::Ic); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(Factorization_Ilu, - gko::factorization::Ilu); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF( - Cholesky, gko::experimental::factorization::Cholesky); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(Lu, - gko::experimental::factorization::Lu); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(ParIlu, gko::factorization::ParIlu); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(ParIlut, gko::factorization::ParIlut); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(ParIc, gko::factorization::ParIc); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(ParIct, gko::factorization::ParIct); +GKO_PARSE_VALUE_AND_INDEX_TYPE(Factorization_Ic, gko::factorization::Ic); +GKO_PARSE_VALUE_AND_INDEX_TYPE(Factorization_Ilu, gko::factorization::Ilu); +GKO_PARSE_VALUE_AND_INDEX_TYPE(Cholesky, + gko::experimental::factorization::Cholesky); +GKO_PARSE_VALUE_AND_INDEX_TYPE(Lu, gko::experimental::factorization::Lu); +GKO_PARSE_VALUE_AND_INDEX_TYPE(ParIlu, gko::factorization::ParIlu); +GKO_PARSE_VALUE_AND_INDEX_TYPE(ParIlut, gko::factorization::ParIlut); +GKO_PARSE_VALUE_AND_INDEX_TYPE(ParIc, gko::factorization::ParIc); +GKO_PARSE_VALUE_AND_INDEX_TYPE(ParIct, gko::factorization::ParIct); } // namespace config diff --git a/core/config/multigrid_config.cpp b/core/config/multigrid_config.cpp index 8cc4b4e1ca3..83be1a1742b 100644 --- a/core/config/multigrid_config.cpp +++ b/core/config/multigrid_config.cpp @@ -10,7 +10,7 @@ namespace gko { namespace config { -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(Pgm, gko::multigrid::Pgm); +GKO_PARSE_VALUE_AND_INDEX_TYPE(Pgm, gko::multigrid::Pgm); } // namespace config diff --git a/core/config/parse_macro.hpp b/core/config/parse_macro.hpp index e3734e5db7a..728fceabee1 100644 --- a/core/config/parse_macro.hpp +++ b/core/config/parse_macro.hpp @@ -33,13 +33,13 @@ static_assert(true, \ "This assert is used to counter the false positive extra " \ "semi-colon warnings") +#define GKO_PARSE_VALUE_TYPE_BASE(_type, _configurator) \ + GKO_PARSE_VALUE_TYPE_(_type, _configurator, \ + gko::config::value_type_list_base()) + #define GKO_PARSE_VALUE_TYPE(_type, _configurator) \ GKO_PARSE_VALUE_TYPE_(_type, _configurator, gko::config::value_type_list()) -#define GKO_PARSE_VALUE_TYPE_WITH_HALF(_type, _configurator) \ - GKO_PARSE_VALUE_TYPE_(_type, _configurator, \ - gko::config::value_type_list_with_half()) - // for value_type and index_type #define GKO_PARSE_VALUE_AND_INDEX_TYPE_(_type, _configurator, \ _value_type_list) \ @@ -62,13 +62,13 @@ "This assert is used to counter the false positive extra " \ "semi-colon warnings") +#define GKO_PARSE_VALUE_AND_INDEX_TYPE_BASE(_type, _configurator) \ + GKO_PARSE_VALUE_AND_INDEX_TYPE_(_type, _configurator, \ + gko::config::value_type_list_base()) + #define GKO_PARSE_VALUE_AND_INDEX_TYPE(_type, _configurator) \ GKO_PARSE_VALUE_AND_INDEX_TYPE_(_type, _configurator, \ gko::config::value_type_list()) -#define GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(_type, _configurator) \ - GKO_PARSE_VALUE_AND_INDEX_TYPE_(_type, _configurator, \ - gko::config::value_type_list_with_half()) - #endif // GKO_CORE_CONFIG_PARSE_MACRO_HPP_ diff --git a/core/config/preconditioner_config.cpp b/core/config/preconditioner_config.cpp index 840094b51c9..3db65e76a5f 100644 --- a/core/config/preconditioner_config.cpp +++ b/core/config/preconditioner_config.cpp @@ -19,9 +19,10 @@ namespace gko { namespace config { -GKO_PARSE_VALUE_AND_INDEX_TYPE(GaussSeidel, gko::preconditioner::GaussSeidel); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(Jacobi, gko::preconditioner::Jacobi); -GKO_PARSE_VALUE_AND_INDEX_TYPE(Sor, gko::preconditioner::Sor); +GKO_PARSE_VALUE_AND_INDEX_TYPE_BASE(GaussSeidel, + gko::preconditioner::GaussSeidel); +GKO_PARSE_VALUE_AND_INDEX_TYPE(Jacobi, gko::preconditioner::Jacobi); +GKO_PARSE_VALUE_AND_INDEX_TYPE_BASE(Sor, gko::preconditioner::Sor); } // namespace config diff --git a/core/config/preconditioner_ic_config.cpp b/core/config/preconditioner_ic_config.cpp index e029b228479..7d4cd3d9ca4 100644 --- a/core/config/preconditioner_ic_config.cpp +++ b/core/config/preconditioner_ic_config.cpp @@ -78,28 +78,24 @@ deferred_factory_parameter parse( return dispatch::Configurator>( config, context, updated, - make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + make_type_selector(updated.get_value_typestr(), value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "solver::Ir") { return dispatch::Configurator>( config, context, updated, - make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + make_type_selector(updated.get_value_typestr(), value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "preconditioner::LowerIsai") { return dispatch::Configurator>( config, context, updated, - make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + make_type_selector(updated.get_value_typestr(), value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "solver::Gmres") { return dispatch::Configurator>( config, context, updated, - make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + make_type_selector(updated.get_value_typestr(), value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else { GKO_INVALID_CONFIG_VALUE("l_solver_type", str); diff --git a/core/config/preconditioner_ilu_config.cpp b/core/config/preconditioner_ilu_config.cpp index 9ed8494ab10..3714d356e71 100644 --- a/core/config/preconditioner_ilu_config.cpp +++ b/core/config/preconditioner_ilu_config.cpp @@ -94,7 +94,7 @@ deferred_factory_parameter parse( ReverseApply::value>::template Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "solver::Ir") { @@ -104,7 +104,7 @@ deferred_factory_parameter parse( ReverseApply::value>::template Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "preconditioner::LowerIsai") { @@ -114,7 +114,7 @@ deferred_factory_parameter parse( ReverseApply::value>::template Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "solver::Gmres") { @@ -124,7 +124,7 @@ deferred_factory_parameter parse( ReverseApply::value>::template Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else { diff --git a/core/config/preconditioner_isai_config.cpp b/core/config/preconditioner_isai_config.cpp index 828721ed74e..8d1b849eea4 100644 --- a/core/config/preconditioner_isai_config.cpp +++ b/core/config/preconditioner_isai_config.cpp @@ -48,7 +48,7 @@ deferred_factory_parameter parse( IsaiHelper::Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "upper") { @@ -57,7 +57,7 @@ deferred_factory_parameter parse( IsaiHelper::Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "general") { @@ -66,7 +66,7 @@ deferred_factory_parameter parse( IsaiHelper::Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else if (str == "spd") { @@ -75,7 +75,7 @@ deferred_factory_parameter parse( IsaiHelper::Configurator>( config, context, updated, make_type_selector(updated.get_value_typestr(), - value_type_list_with_half()), + value_type_list()), make_type_selector(updated.get_index_typestr(), index_type_list())); } else { diff --git a/core/config/schwarz_config.cpp b/core/config/schwarz_config.cpp index 9543b833041..3244d6064e5 100644 --- a/core/config/schwarz_config.cpp +++ b/core/config/schwarz_config.cpp @@ -29,7 +29,8 @@ deferred_factory_parameter parse( gko::LinOpFactory, gko::experimental::distributed::preconditioner::Schwarz>( config, context, updated, - make_type_selector(updated.get_value_typestr(), value_type_list()), + make_type_selector(updated.get_value_typestr(), + value_type_list_base()), make_type_selector(updated.get_index_typestr(), syn::type_list()), make_type_selector(updated.get_global_index_typestr(), @@ -39,7 +40,8 @@ deferred_factory_parameter parse( gko::LinOpFactory, gko::experimental::distributed::preconditioner::Schwarz>( config, context, updated, - make_type_selector(updated.get_value_typestr(), value_type_list()), + make_type_selector(updated.get_value_typestr(), + value_type_list_base()), make_type_selector(updated.get_index_typestr(), syn::type_list()), make_type_selector(updated.get_global_index_typestr(), diff --git a/core/config/solver_config.cpp b/core/config/solver_config.cpp index 04bf5f5fcd5..d13c20f901e 100644 --- a/core/config/solver_config.cpp +++ b/core/config/solver_config.cpp @@ -30,20 +30,19 @@ namespace gko { namespace config { -GKO_PARSE_VALUE_TYPE_WITH_HALF(Cg, gko::solver::Cg); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Bicg, gko::solver::Bicg); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Bicgstab, gko::solver::Bicgstab); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Cgs, gko::solver::Cgs); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Fcg, gko::solver::Fcg); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Ir, gko::solver::Ir); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Idr, gko::solver::Idr); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Gcr, gko::solver::Gcr); -GKO_PARSE_VALUE_TYPE_WITH_HALF(Gmres, gko::solver::Gmres); -GKO_PARSE_VALUE_TYPE(CbGmres, gko::solver::CbGmres); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(Direct, - gko::experimental::solver::Direct); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(LowerTrs, gko::solver::LowerTrs); -GKO_PARSE_VALUE_AND_INDEX_TYPE_WITH_HALF(UpperTrs, gko::solver::UpperTrs); +GKO_PARSE_VALUE_TYPE(Cg, gko::solver::Cg); +GKO_PARSE_VALUE_TYPE(Bicg, gko::solver::Bicg); +GKO_PARSE_VALUE_TYPE(Bicgstab, gko::solver::Bicgstab); +GKO_PARSE_VALUE_TYPE(Cgs, gko::solver::Cgs); +GKO_PARSE_VALUE_TYPE(Fcg, gko::solver::Fcg); +GKO_PARSE_VALUE_TYPE(Ir, gko::solver::Ir); +GKO_PARSE_VALUE_TYPE(Idr, gko::solver::Idr); +GKO_PARSE_VALUE_TYPE(Gcr, gko::solver::Gcr); +GKO_PARSE_VALUE_TYPE(Gmres, gko::solver::Gmres); +GKO_PARSE_VALUE_TYPE_BASE(CbGmres, gko::solver::CbGmres); +GKO_PARSE_VALUE_AND_INDEX_TYPE(Direct, gko::experimental::solver::Direct); +GKO_PARSE_VALUE_AND_INDEX_TYPE(LowerTrs, gko::solver::LowerTrs); +GKO_PARSE_VALUE_AND_INDEX_TYPE(UpperTrs, gko::solver::UpperTrs); template <> diff --git a/core/config/stop_config.cpp b/core/config/stop_config.cpp index 2696b471a21..4623eb768fc 100644 --- a/core/config/stop_config.cpp +++ b/core/config/stop_config.cpp @@ -87,8 +87,7 @@ deferred_factory_parameter configure_residual( auto updated = update_type(config, td); return dispatch( config, context, updated, - make_type_selector(updated.get_value_typestr(), - value_type_list_with_half())); + make_type_selector(updated.get_value_typestr(), value_type_list())); } @@ -120,8 +119,7 @@ deferred_factory_parameter configure_implicit_residual( auto updated = update_type(config, td); return dispatch( config, context, updated, - make_type_selector(updated.get_value_typestr(), - value_type_list_with_half())); + make_type_selector(updated.get_value_typestr(), value_type_list())); } diff --git a/core/config/type_descriptor.cpp b/core/config/type_descriptor.cpp index ef4cdc692f9..fe11b785d6f 100644 --- a/core/config/type_descriptor.cpp +++ b/core/config/type_descriptor.cpp @@ -50,7 +50,7 @@ type_descriptor make_type_descriptor() GlobalIndexType) \ type_descriptor \ make_type_descriptor() -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( GKO_DECLARE_MAKE_TYPE_DESCRIPTOR); #define GKO_DECLARE_MAKE_VOID_TYPE_DESCRIPTOR(LocalIndexType, GlobalIndexType) \ diff --git a/core/device_hooks/common_kernels.inc.cpp b/core/device_hooks/common_kernels.inc.cpp index 3f6cc9ab1bc..0240dabc7e4 100644 --- a/core/device_hooks/common_kernels.inc.cpp +++ b/core/device_hooks/common_kernels.inc.cpp @@ -80,35 +80,35 @@ #define GKO_STUB(_macro) _macro GKO_NOT_COMPILED(GKO_HOOK_MODULE) +#define GKO_STUB_NON_COMPLEX_VALUE_TYPE_BASE(_macro) \ + template \ + _macro(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(_macro) + #define GKO_STUB_NON_COMPLEX_VALUE_TYPE(_macro) \ template \ _macro(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(_macro) -#define GKO_STUB_NON_COMPLEX_VALUE_TYPE_WITH_HALF(_macro) \ - template \ - _macro(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF(_macro) - -#define GKO_STUB_VALUE_TYPE(_macro) \ +#define GKO_STUB_VALUE_TYPE_BASE(_macro) \ template \ _macro(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(_macro) -#define GKO_STUB_VALUE_TYPE_WITH_HALF(_macro) \ +#define GKO_STUB_VALUE_TYPE(_macro) \ template \ _macro(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro) -#define GKO_STUB_VALUE_AND_SCALAR_TYPE(_macro) \ +#define GKO_STUB_VALUE_AND_SCALAR_TYPE_BASE(_macro) \ template \ _macro(ValueType, ScalarType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_BASE(_macro) -#define GKO_STUB_VALUE_AND_SCALAR_TYPE_WITH_HALF(_macro) \ +#define GKO_STUB_VALUE_AND_SCALAR_TYPE(_macro) \ template \ _macro(ValueType, ScalarType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(_macro) #define GKO_STUB_INDEX_TYPE(_macro) \ template \ @@ -120,101 +120,101 @@ _macro(LocalIndexType, GlobalIndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_LOCAL_GLOBAL_INDEX_TYPE(_macro) +#define GKO_STUB_NON_COMPLEX_VALUE_AND_INDEX_TYPE_BASE(_macro) \ + template \ + _macro(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_BASE(_macro) + #define GKO_STUB_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro) \ template \ _macro(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro) -#define GKO_STUB_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) \ +#define GKO_STUB_VALUE_AND_INDEX_TYPE_BASE(_macro) \ template \ _macro(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_BASE(_macro) #define GKO_STUB_VALUE_AND_INDEX_TYPE(_macro) \ template \ _macro(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(_macro) -#define GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) \ +#define GKO_STUB_VALUE_AND_INT32_TYPE_BASE(_macro) \ template \ _macro(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_BASE(_macro) #define GKO_STUB_VALUE_AND_INT32_TYPE(_macro) \ template \ _macro(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE(_macro) -#define GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF(_macro) \ - template \ - _macro(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF(_macro) - -#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE(_macro) \ +#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_BASE(_macro) \ template \ _macro(InputValueType, MatrixValueType, OutputValueType, IndexType) \ GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE(_macro) + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_BASE(_macro) -#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) \ +#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE(_macro) \ template \ _macro(InputValueType, MatrixValueType, OutputValueType, IndexType) \ GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE(_macro) -#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2(_macro) \ +#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2_BASE(_macro) \ template \ _macro(InputValueType, OutputValueType, IndexType) \ GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2(_macro) + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_BASE(_macro) -#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF(_macro) \ +#define GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2(_macro) \ template \ _macro(InputValueType, OutputValueType, IndexType) \ GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2(_macro) -#define GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(_macro) \ - template \ - _macro(ValueType, LocalIndexType, GlobalIndexType) \ - GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(_macro) +#define GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE(_macro) \ + template \ + _macro(ValueType, LocalIndexType, GlobalIndexType) \ + GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE(_macro) -#define GKO_STUB_TEMPLATE_TYPE(_macro) \ +#define GKO_STUB_TEMPLATE_TYPE_BASE(_macro) \ template \ _macro(IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(_macro) + GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_BASE(_macro) -#define GKO_STUB_TEMPLATE_TYPE_WITH_HALF(_macro) \ +#define GKO_STUB_TEMPLATE_TYPE(_macro) \ template \ _macro(IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(_macro) + +#define GKO_STUB_VALUE_CONVERSION_BASE(_macro) \ + template \ + _macro(SourceType, TargetType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ + GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_BASE(_macro) #define GKO_STUB_VALUE_CONVERSION(_macro) \ template \ _macro(SourceType, TargetType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro) -#define GKO_STUB_VALUE_CONVERSION_WITH_HALF(_macro) \ +#define GKO_STUB_VALUE_CONVERSION_OR_COPY_BASE(_macro) \ template \ _macro(SourceType, TargetType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_WITH_HALF(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY_BASE(_macro) #define GKO_STUB_VALUE_CONVERSION_OR_COPY(_macro) \ template \ _macro(SourceType, TargetType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY(_macro) -#define GKO_STUB_VALUE_CONVERSION_OR_COPY_WITH_HALF(_macro) \ - template \ - _macro(SourceType, TargetType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY_WITH_HALF(_macro) - #define GKO_STUB_CB_GMRES(_macro) \ template \ _macro(ValueType, ValueTypeKrylovBases) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ @@ -225,11 +225,11 @@ _macro(ValueType, ValueTypeKrylovBases) GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ GKO_INSTANTIATE_FOR_EACH_CB_GMRES_CONST_TYPE(_macro) -#define GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER(_declare, _wrapper) \ +#define GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE(_declare, _wrapper) \ template \ _declare(ValueType, BatchMatrixType, PrecType) \ GKO_NOT_COMPILED(GKO_HOOK_MODULE); \ - GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER(_wrapper) + GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE(_wrapper) namespace gko { @@ -238,29 +238,27 @@ namespace GKO_HOOK_MODULE { namespace components { -GKO_STUB_VALUE_CONVERSION_WITH_HALF(GKO_DECLARE_CONVERT_PRECISION_KERNEL); +GKO_STUB_VALUE_CONVERSION(GKO_DECLARE_CONVERT_PRECISION_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_PREFIX_SUM_NONNEGATIVE_KERNEL); // explicitly instantiate for size_type, as this is // used in the SellP format template GKO_DECLARE_PREFIX_SUM_NONNEGATIVE_KERNEL(size_type); -GKO_STUB_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_FILL_ARRAY_KERNEL); +GKO_STUB_TEMPLATE_TYPE(GKO_DECLARE_FILL_ARRAY_KERNEL); template GKO_DECLARE_FILL_ARRAY_KERNEL(bool); -GKO_STUB_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_FILL_SEQ_ARRAY_KERNEL); -GKO_STUB_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_REDUCE_ADD_ARRAY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_INPLACE_ABSOLUTE_ARRAY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_OUTPLACE_ABSOLUTE_ARRAY_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_TEMPLATE_TYPE(GKO_DECLARE_FILL_SEQ_ARRAY_KERNEL); +GKO_STUB_TEMPLATE_TYPE(GKO_DECLARE_REDUCE_ADD_ARRAY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_INPLACE_ABSOLUTE_ARRAY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_OUTPLACE_ABSOLUTE_ARRAY_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_REMOVE_ZEROS_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SUM_DUPLICATES_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SORT_ROW_MAJOR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DEVICE_MATRIX_DATA_AOS_TO_SOA_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DEVICE_MATRIX_DATA_SOA_TO_AOS_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DEVICE_MATRIX_DATA_AOS_TO_SOA_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DEVICE_MATRIX_DATA_SOA_TO_AOS_KERNEL); template GKO_DECLARE_CONVERT_PTRS_TO_IDXS(IndexType, RowPtrType) @@ -332,7 +330,7 @@ GKO_STUB_LOCAL_GLOBAL_TYPE(GKO_DECLARE_INDEX_MAP_MAP_TO_LOCAL); namespace distributed_vector { -GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_DISTRIBUTED_VECTOR_BUILD_LOCAL); @@ -342,9 +340,9 @@ GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( namespace assembly { -GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_COUNT_NON_OWNING_ENTRIES); -GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(GKO_DECLARE_FILL_SEND_BUFFERS); +GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE(GKO_DECLARE_FILL_SEND_BUFFERS); } // namespace assembly @@ -353,7 +351,8 @@ GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(GKO_DECLARE_FILL_SEND_BUFFERS); namespace distributed_matrix { -GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(GKO_DECLARE_SEPARATE_LOCAL_NONLOCAL); +GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( + GKO_DECLARE_SEPARATE_LOCAL_NONLOCAL); } // namespace distributed_matrix @@ -362,15 +361,12 @@ GKO_STUB_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(GKO_DECLARE_SEPARATE_LOCAL_NONLOCAL); namespace batch_multi_vector { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_MULTI_VECTOR_SCALE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_MULTI_VECTOR_ADD_SCALED_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_DOT_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_CONJ_DOT_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_NORM2_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_SCALE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_ADD_SCALED_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_DOT_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_CONJ_DOT_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_NORM2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); } // namespace batch_multi_vector @@ -379,13 +375,10 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); namespace batch_csr { -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_CSR_SIMPLE_APPLY_KERNEL); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_CSR_ADVANCED_APPLY_KERNEL); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF(GKO_DECLARE_BATCH_CSR_SCALE_KERNEL); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_CSR_ADD_SCALED_IDENTITY_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_CSR_SIMPLE_APPLY_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_CSR_ADVANCED_APPLY_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_CSR_SCALE_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_CSR_ADD_SCALED_IDENTITY_KERNEL); } // namespace batch_csr @@ -394,12 +387,11 @@ GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( namespace batch_dense { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_DENSE_SIMPLE_APPLY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_DENSE_ADVANCED_APPLY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_ADD_SCALED_IDENTITY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SIMPLE_APPLY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_ADVANCED_APPLY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_ADD_SCALED_IDENTITY_KERNEL); } // namespace batch_dense @@ -408,13 +400,10 @@ GKO_STUB_VALUE_TYPE_WITH_HALF( namespace batch_ell { -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_ELL_SIMPLE_APPLY_KERNEL); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_ELL_ADVANCED_APPLY_KERNEL); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF(GKO_DECLARE_BATCH_ELL_SCALE_KERNEL); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_ELL_ADD_SCALED_IDENTITY_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_ELL_SIMPLE_APPLY_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_ELL_ADVANCED_APPLY_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_ELL_SCALE_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_ELL_ADD_SCALED_IDENTITY_KERNEL); } // namespace batch_ell @@ -423,93 +412,69 @@ GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( namespace dense { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_APPLY_KERNEL); -GKO_STUB_VALUE_CONVERSION_OR_COPY_WITH_HALF(GKO_DECLARE_DENSE_COPY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_FILL_KERNEL); -GKO_STUB_VALUE_AND_SCALAR_TYPE_WITH_HALF(GKO_DECLARE_DENSE_SCALE_KERNEL); -GKO_STUB_VALUE_AND_SCALAR_TYPE_WITH_HALF(GKO_DECLARE_DENSE_INV_SCALE_KERNEL); -GKO_STUB_VALUE_AND_SCALAR_TYPE_WITH_HALF(GKO_DECLARE_DENSE_ADD_SCALED_KERNEL); -GKO_STUB_VALUE_AND_SCALAR_TYPE_WITH_HALF(GKO_DECLARE_DENSE_SUB_SCALED_KERNEL); -GKO_STUB_VALUE_AND_SCALAR_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_ADD_SCALED_IDENTITY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_ADD_SCALED_DIAG_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_SUB_SCALED_DIAG_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_DOT_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_DOT_DISPATCH_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_DISPATCH_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_NORM2_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_NORM2_DISPATCH_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_NORM1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_MEAN_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_SQUARED_NORM2_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_SQRT_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_FILL_IN_MATRIX_DATA_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONVERT_TO_COO_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONVERT_TO_CSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONVERT_TO_ELL_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONVERT_TO_FBCSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONVERT_TO_HYBRID_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONVERT_TO_SELLP_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONVERT_TO_SPARSITY_CSR_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_MAX_NNZ_PER_ROW_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COMPUTE_SLICE_SETS_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COUNT_NONZEROS_PER_ROW_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_APPLY_KERNEL); +GKO_STUB_VALUE_CONVERSION_OR_COPY(GKO_DECLARE_DENSE_COPY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_FILL_KERNEL); +GKO_STUB_VALUE_AND_SCALAR_TYPE(GKO_DECLARE_DENSE_SCALE_KERNEL); +GKO_STUB_VALUE_AND_SCALAR_TYPE(GKO_DECLARE_DENSE_INV_SCALE_KERNEL); +GKO_STUB_VALUE_AND_SCALAR_TYPE(GKO_DECLARE_DENSE_ADD_SCALED_KERNEL); +GKO_STUB_VALUE_AND_SCALAR_TYPE(GKO_DECLARE_DENSE_SUB_SCALED_KERNEL); +GKO_STUB_VALUE_AND_SCALAR_TYPE(GKO_DECLARE_DENSE_ADD_SCALED_IDENTITY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_ADD_SCALED_DIAG_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_SUB_SCALED_DIAG_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_DOT_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_DOT_DISPATCH_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_DISPATCH_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_NORM2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_NORM2_DISPATCH_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_NORM1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_MEAN_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_SQUARED_NORM2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_SQRT_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_FILL_IN_MATRIX_DATA_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_CONVERT_TO_COO_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_CONVERT_TO_CSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_CONVERT_TO_ELL_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_CONVERT_TO_FBCSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_CONVERT_TO_HYBRID_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_CONVERT_TO_SELLP_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_CONVERT_TO_SPARSITY_CSR_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_MAX_NNZ_PER_ROW_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_SLICE_SETS_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_COUNT_NONZEROS_PER_ROW_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COUNT_NONZEROS_PER_ROW_KERNEL_SIZE_T); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COUNT_NONZERO_BLOCKS_PER_ROW_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_DENSE_SYMM_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_INV_SYMM_PERMUTE_KERNEL); -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF( - GKO_DECLARE_DENSE_ROW_GATHER_KERNEL); -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF( +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_SYMM_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_INV_SYMM_PERMUTE_KERNEL); +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2(GKO_DECLARE_DENSE_ROW_GATHER_KERNEL); +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_2( GKO_DECLARE_DENSE_ADVANCED_ROW_GATHER_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_DENSE_COL_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_INV_ROW_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_INV_COL_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_NONSYMM_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_INV_NONSYMM_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SYMM_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_INV_SYMM_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_ROW_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COL_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_INV_ROW_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_INV_COL_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_NONSYMM_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_COL_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_INV_ROW_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_INV_COL_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_NONSYMM_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_INV_NONSYMM_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_SYMM_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_INV_SYMM_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_ROW_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_COL_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_INV_ROW_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_INV_COL_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DENSE_NONSYMM_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_NONSYMM_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_EXTRACT_DIAGONAL_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_INPLACE_ABSOLUTE_DENSE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_OUTPLACE_ABSOLUTE_DENSE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_MAKE_COMPLEX_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GET_REAL_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GET_IMAG_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DENSE_EXTRACT_DIAGONAL_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_INPLACE_ABSOLUTE_DENSE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_OUTPLACE_ABSOLUTE_DENSE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_MAKE_COMPLEX_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GET_REAL_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GET_IMAG_KERNEL); } // namespace dense @@ -518,17 +483,13 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GET_IMAG_KERNEL); namespace diagonal { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DIAGONAL_APPLY_TO_DENSE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_DENSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_APPLY_TO_CSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_CSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_CONVERT_TO_CSR_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DIAGONAL_CONJ_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_FILL_IN_MATRIX_DATA_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DIAGONAL_APPLY_TO_DENSE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DIAGONAL_APPLY_TO_CSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_CSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DIAGONAL_CONVERT_TO_CSR_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_DIAGONAL_CONJ_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DIAGONAL_FILL_IN_MATRIX_DATA_KERNEL); } // namespace diagonal @@ -537,7 +498,7 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace batch_bicgstab { -GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_BICGSTAB_APPLY_KERNEL, GKO_DECLARE_BATCH_BICGSTAB_APPLY_KERNEL_WRAPPER); @@ -548,7 +509,7 @@ GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER( namespace batch_cg { -GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_CG_APPLY_KERNEL, GKO_DECLARE_BATCH_CG_APPLY_KERNEL_WRAPPER); @@ -559,9 +520,9 @@ GKO_STUB_BATCH_VALUE_MATRIX_PRECONDITIONER( namespace cg { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_STEP_1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_STEP_2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_CG_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_CG_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_CG_STEP_2_KERNEL); } // namespace cg @@ -570,9 +531,9 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_STEP_2_KERNEL); namespace bicg { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_STEP_1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_STEP_2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICG_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICG_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICG_STEP_2_KERNEL); } // namespace bicg @@ -582,8 +543,8 @@ namespace lower_trs { GKO_STUB(GKO_DECLARE_LOWER_TRS_SHOULD_PERFORM_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_LOWER_TRS_GENERATE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_LOWER_TRS_SOLVE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LOWER_TRS_GENERATE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LOWER_TRS_SOLVE_KERNEL); } // namespace lower_trs @@ -593,8 +554,8 @@ namespace upper_trs { GKO_STUB(GKO_DECLARE_UPPER_TRS_SHOULD_PERFORM_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_UPPER_TRS_GENERATE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_UPPER_TRS_GENERATE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); } // namespace upper_trs @@ -603,9 +564,9 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); namespace fcg { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_STEP_1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_STEP_2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_FCG_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_FCG_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_FCG_STEP_2_KERNEL); } // namespace fcg @@ -614,11 +575,11 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_STEP_2_KERNEL); namespace bicgstab { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB_STEP_1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB_STEP_2_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB_STEP_3_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB_FINALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICGSTAB_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_3_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_BICGSTAB_FINALIZE_KERNEL); } // namespace bicgstab @@ -627,11 +588,11 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB_FINALIZE_KERNEL); namespace idr { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_2_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_3_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_IDR_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_IDR_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_IDR_STEP_2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_IDR_STEP_3_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); } // namespace idr @@ -640,10 +601,10 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); namespace cgs { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_2_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_3_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_CGS_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_CGS_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_CGS_STEP_2_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_CGS_STEP_3_KERNEL); } // namespace cgs @@ -651,9 +612,9 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_3_KERNEL); namespace gcr { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_RESTART_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GCR_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GCR_RESTART_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GCR_STEP_1_KERNEL); } // namespace gcr @@ -661,9 +622,9 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_STEP_1_KERNEL); namespace common_gmres { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_COMMON_GMRES_INITIALIZE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_COMMON_GMRES_HESSENBERG_QR_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_COMMON_GMRES_SOLVE_KRYLOV_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_COMMON_GMRES_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_COMMON_GMRES_HESSENBERG_QR_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_COMMON_GMRES_SOLVE_KRYLOV_KERNEL); } // namespace common_gmres @@ -672,9 +633,9 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_COMMON_GMRES_SOLVE_KRYLOV_KERNEL); namespace gmres { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES_RESTART_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES_MULTI_AXPY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES_MULTI_DOT_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GMRES_RESTART_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GMRES_MULTI_AXPY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_GMRES_MULTI_DOT_KERNEL); } // namespace gmres @@ -683,7 +644,7 @@ GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES_MULTI_DOT_KERNEL); namespace cb_gmres { -GKO_STUB_VALUE_TYPE(GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); +GKO_STUB_VALUE_TYPE_BASE(GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); GKO_STUB_CB_GMRES(GKO_DECLARE_CB_GMRES_RESTART_KERNEL); GKO_STUB_CB_GMRES(GKO_DECLARE_CB_GMRES_ARNOLDI_KERNEL); GKO_STUB_CB_GMRES_CONST(GKO_DECLARE_CB_GMRES_SOLVE_KRYLOV_KERNEL); @@ -704,10 +665,9 @@ GKO_STUB(GKO_DECLARE_IR_INITIALIZE_KERNEL); namespace multigrid { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); -GKO_STUB_NON_COMPLEX_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_CHECK_STOP_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); +GKO_STUB_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_CHECK_STOP_KERNEL); } // namespace multigrid @@ -716,21 +676,17 @@ GKO_STUB_NON_COMPLEX_VALUE_TYPE_WITH_HALF( namespace sparsity_csr { -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SPARSITY_CSR_SPMV_KERNEL); -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SPARSITY_CSR_SPMV_KERNEL); +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_ADVANCED_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SPARSITY_CSR_FILL_IN_DENSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SPARSITY_CSR_FILL_IN_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_DIAGONAL_ELEMENT_PREFIX_SUM_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_REMOVE_DIAGONAL_ELEMENTS_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SPARSITY_CSR_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SPARSITY_CSR_SORT_BY_COLUMN_INDEX); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SPARSITY_CSR_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SPARSITY_CSR_SORT_BY_COLUMN_INDEX); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_IS_SORTED_BY_COLUMN_INDEX); @@ -740,54 +696,38 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace csr { -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_SPMV_KERNEL); -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_SPGEMM_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_ADVANCED_SPGEMM_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_SPGEAM_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_FILL_IN_DENSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_CONVERT_TO_ELL_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_CONVERT_TO_FBCSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_CONVERT_TO_HYBRID_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_CONVERT_TO_SELLP_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_CONJ_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_NONSYMM_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_SYMM_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_ROW_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_INV_COL_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_INV_ROW_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_NONSYMM_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_SYMM_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_ROW_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_COL_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_ROW_SCALE_PERMUTE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_SORT_BY_COLUMN_INDEX); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_IS_SORTED_BY_COLUMN_INDEX); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_EXTRACT_DIAGONAL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_SPAN_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPMV_KERNEL); +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEMM_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_ADVANCED_SPGEMM_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEAM_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_FILL_IN_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_CONVERT_TO_ELL_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_CONVERT_TO_FBCSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_CONVERT_TO_HYBRID_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_CONVERT_TO_SELLP_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_CONJ_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_NONSYMM_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_SYMM_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_ROW_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_COL_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_ROW_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_NONSYMM_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_SYMM_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_ROW_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_COL_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_ROW_SCALE_PERMUTE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SORT_BY_COLUMN_INDEX); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_IS_SORTED_BY_COLUMN_INDEX); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_EXTRACT_DIAGONAL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_SPAN_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_INDEX_SET_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_CHECK_DIAGONAL_ENTRIES_EXIST); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_ADD_SCALED_IDENTITY_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_CHECK_DIAGONAL_ENTRIES_EXIST); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_ADD_SCALED_IDENTITY_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_FROM_INDEX_SET_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_CSR_BUILD_LOOKUP_OFFSETS_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_CSR_BUILD_LOOKUP_KERNEL); @@ -796,14 +736,12 @@ GKO_STUB_INDEX_TYPE(GKO_DECLARE_CSR_BENCHMARK_LOOKUP_KERNEL); template GKO_DECLARE_CSR_SCALE_KERNEL(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SCALE_KERNEL); template GKO_DECLARE_CSR_INV_SCALE_KERNEL(ValueType, IndexType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_SCALE_KERNEL); } // namespace csr @@ -812,20 +750,16 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace fbcsr { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_FBCSR_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_FBCSR_ADVANCED_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_FILL_IN_MATRIX_DATA_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_FBCSR_FILL_IN_DENSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_CONVERT_TO_CSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_FBCSR_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_CONJ_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_IS_SORTED_BY_COLUMN_INDEX); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_FBCSR_SORT_BY_COLUMN_INDEX); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_FBCSR_EXTRACT_DIAGONAL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_ADVANCED_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_FILL_IN_MATRIX_DATA_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_FILL_IN_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_CONVERT_TO_CSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_CONJ_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_IS_SORTED_BY_COLUMN_INDEX); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_SORT_BY_COLUMN_INDEX); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_EXTRACT_DIAGONAL); } // namespace fbcsr @@ -834,13 +768,12 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_FBCSR_EXTRACT_DIAGONAL); namespace coo { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_COO_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_COO_ADVANCED_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_COO_SPMV2_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_COO_ADVANCED_SPMV2_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_COO_FILL_IN_DENSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_EXTRACT_DIAGONAL_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_ADVANCED_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV2_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_ADVANCED_SPMV2_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_FILL_IN_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_EXTRACT_DIAGONAL_KERNEL); } // namespace coo @@ -849,19 +782,15 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace ell { -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ELL_SPMV_KERNEL); -GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ELL_ADVANCED_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ELL_FILL_IN_MATRIX_DATA_KERNEL); +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_SPMV_KERNEL); +GKO_STUB_MIXED_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_ADVANCED_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_FILL_IN_MATRIX_DATA_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_ELL_COMPUTE_MAX_ROW_NNZ_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ELL_FILL_IN_DENSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ELL_COPY_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ELL_CONVERT_TO_CSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ELL_COUNT_NONZEROS_PER_ROW_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ELL_EXTRACT_DIAGONAL_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_FILL_IN_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_COPY_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_CONVERT_TO_CSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_COUNT_NONZEROS_PER_ROW_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_EXTRACT_DIAGONAL_KERNEL); } // namespace ell @@ -873,17 +802,17 @@ namespace fft { template GKO_DECLARE_FFT_KERNEL(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT_KERNEL); template GKO_DECLARE_FFT2_KERNEL(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT2_KERNEL); template GKO_DECLARE_FFT3_KERNEL(ValueType) GKO_NOT_COMPILED(GKO_HOOK_MODULE); -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT3_KERNEL); } // namespace fft @@ -894,10 +823,8 @@ namespace hybrid { GKO_STUB(GKO_DECLARE_HYBRID_COMPUTE_COO_ROW_PTRS_KERNEL); GKO_STUB(GKO_DECLARE_HYBRID_COMPUTE_ROW_NNZ); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_HYBRID_FILL_IN_MATRIX_DATA_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_HYBRID_CONVERT_TO_CSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_HYBRID_FILL_IN_MATRIX_DATA_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_HYBRID_CONVERT_TO_CSR_KERNEL); } // namespace hybrid @@ -916,10 +843,8 @@ GKO_STUB_INDEX_TYPE(GKO_DECLARE_PERMUTATION_COMPOSE_KERNEL); namespace scaled_permutation { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SCALED_PERMUTATION_INVERT_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SCALED_PERMUTATION_COMPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SCALED_PERMUTATION_INVERT_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SCALED_PERMUTATION_COMPOSE_KERNEL); } // namespace scaled_permutation @@ -928,18 +853,14 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace sellp { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_SELLP_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_FILL_IN_MATRIX_DATA_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_FILL_IN_MATRIX_DATA_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_SELLP_COMPUTE_SLICE_SETS_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_SELLP_ADVANCED_SPMV_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_SELLP_FILL_IN_DENSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_CONVERT_TO_CSR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_COUNT_NONZEROS_PER_ROW_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_EXTRACT_DIAGONAL_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_ADVANCED_SPMV_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_FILL_IN_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_CONVERT_TO_CSR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_COUNT_NONZEROS_PER_ROW_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_EXTRACT_DIAGONAL_KERNEL); } // namespace sellp @@ -951,10 +872,9 @@ namespace batch_jacobi { GKO_STUB_INDEX_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_CUMULATIVE_BLOCK_STORAGE); GKO_STUB_INDEX_TYPE(GKO_DECLARE_BATCH_BLOCK_JACOBI_FIND_ROW_BLOCK_MAP); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_EXTRACT_PATTERN_KERNEL); -GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_KERNEL); +GKO_STUB_VALUE_AND_INT32_TYPE(GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_KERNEL); } // namespace batch_jacobi @@ -963,21 +883,18 @@ GKO_STUB_VALUE_AND_INT32_TYPE_WITH_HALF( namespace jacobi { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_FIND_BLOCKS_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_GENERATE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_APPLY_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_SIMPLE_APPLY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_SCALAR_APPLY_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_SIMPLE_SCALAR_APPLY_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_CONJ_TRANSPOSE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_SCALAR_CONVERT_TO_DENSE_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_SCALAR_CONJ_KERNEL); -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_JACOBI_INVERT_DIAGONAL_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_CONVERT_TO_DENSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_FIND_BLOCKS_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_GENERATE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_APPLY_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_SIMPLE_APPLY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_JACOBI_SCALAR_APPLY_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_JACOBI_SIMPLE_SCALAR_APPLY_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_CONJ_TRANSPOSE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_JACOBI_SCALAR_CONVERT_TO_DENSE_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_JACOBI_SCALAR_CONJ_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_JACOBI_INVERT_DIAGONAL_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_CONVERT_TO_DENSE_KERNEL); GKO_STUB(GKO_DECLARE_JACOBI_INITIALIZE_PRECISIONS_KERNEL); @@ -987,9 +904,8 @@ GKO_STUB(GKO_DECLARE_JACOBI_INITIALIZE_PRECISIONS_KERNEL); namespace sor { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L_U); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L_U); } // namespace sor @@ -998,16 +914,11 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace isai { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ISAI_GENERATE_TRI_INVERSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ISAI_GENERATE_GENERAL_INVERSE_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ISAI_GENERATE_EXCESS_SYSTEM_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ISAI_SCALE_EXCESS_SOLUTION_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ISAI_SCATTER_EXCESS_SOLUTION_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ISAI_GENERATE_TRI_INVERSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ISAI_GENERATE_GENERAL_INVERSE_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ISAI_GENERATE_EXCESS_SYSTEM_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ISAI_SCALE_EXCESS_SOLUTION_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ISAI_SCATTER_EXCESS_SOLUTION_KERNEL); } // namespace isai @@ -1016,13 +927,11 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace cholesky { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CHOLESKY_SYMBOLIC_COUNT); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_SYMBOLIC_FACTORIZE); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_FOREST_FROM_FACTOR); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CHOLESKY_INITIALIZE); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CHOLESKY_FACTORIZE); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_SYMBOLIC_COUNT); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_SYMBOLIC_FACTORIZE); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_FOREST_FROM_FACTOR); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_INITIALIZE); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_FACTORIZE); } // namespace cholesky @@ -1031,16 +940,14 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CHOLESKY_FACTORIZE); namespace factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_ADD_DIAGONAL_ELEMENTS_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_U_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FACTORIZATION_INITIALIZE_L_U_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FACTORIZATION_INITIALIZE_L_U_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FACTORIZATION_INITIALIZE_L_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FACTORIZATION_INITIALIZE_L_KERNEL); } // namespace factorization @@ -1049,7 +956,7 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace ic_factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_IC_SPARSELIB_IC_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_IC_SPARSELIB_IC_KERNEL); } // namespace ic_factorization @@ -1058,7 +965,7 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_IC_SPARSELIB_IC_KERNEL); namespace ilu_factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ILU_SPARSELIB_ILU_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ILU_SPARSELIB_ILU_KERNEL); } // namespace ilu_factorization @@ -1067,8 +974,8 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ILU_SPARSELIB_ILU_KERNEL); namespace lu_factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_LU_INITIALIZE); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_LU_FACTORIZE); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_INITIALIZE); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_FACTORIZE); GKO_STUB_INDEX_TYPE(GKO_DECLARE_LU_SYMMETRIC_FACTORIZE_SIMPLE); GKO_STUB_INDEX_TYPE(GKO_DECLARE_LU_SYMMETRIC_FACTORIZE_SIMPLE_FINALIZE); @@ -1079,9 +986,8 @@ GKO_STUB_INDEX_TYPE(GKO_DECLARE_LU_SYMMETRIC_FACTORIZE_SIMPLE_FINALIZE); namespace par_ic_factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PAR_IC_INIT_FACTOR_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_IC_COMPUTE_FACTOR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_IC_INIT_FACTOR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_IC_COMPUTE_FACTOR_KERNEL); } // namespace par_ic_factorization @@ -1090,10 +996,8 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace par_ict_factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_ICT_ADD_CANDIDATES_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_ICT_COMPUTE_FACTOR_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ICT_ADD_CANDIDATES_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ICT_COMPUTE_FACTOR_KERNEL); } // namespace par_ict_factorization @@ -1102,8 +1006,7 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace par_ilu_factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_ILU_COMPUTE_L_U_FACTORS_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ILU_COMPUTE_L_U_FACTORS_KERNEL); } // namespace par_ilu_factorization @@ -1112,15 +1015,11 @@ GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( namespace par_ilut_factorization { -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_ILUT_ADD_CANDIDATES_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_ILUT_COMPUTE_LU_FACTORS_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_ILUT_THRESHOLD_SELECT_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_KERNEL); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ILUT_ADD_CANDIDATES_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ILUT_COMPUTE_LU_FACTORS_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ILUT_THRESHOLD_SELECT_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_KERNEL); +GKO_STUB_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_APPROX_KERNEL); @@ -1146,12 +1045,11 @@ GKO_STUB_INDEX_TYPE(GKO_DECLARE_PGM_SORT_AGG_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_PGM_MAP_ROW_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_PGM_MAP_COL_KERNEL); GKO_STUB_INDEX_TYPE(GKO_DECLARE_PGM_COUNT_UNREPEATED_NNZ_KERNEL); -GKO_STUB_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_STUB_NON_COMPLEX_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_FIND_STRONGEST_NEIGHBOR); -GKO_STUB_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PGM_ASSIGN_TO_EXIST_AGG); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PGM_SORT_ROW_MAJOR); -GKO_STUB_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PGM_COMPUTE_COARSE_COO); +GKO_STUB_NON_COMPLEX_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM_ASSIGN_TO_EXIST_AGG); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM_SORT_ROW_MAJOR); +GKO_STUB_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM_COMPUTE_COARSE_COO); GKO_STUB_INDEX_TYPE(GKO_DECLARE_PGM_GATHER_INDEX); @@ -1170,7 +1068,7 @@ GKO_STUB(GKO_DECLARE_SET_ALL_STATUSES_KERNEL); namespace residual_norm { -GKO_STUB_NON_COMPLEX_VALUE_TYPE_WITH_HALF(GKO_DECLARE_RESIDUAL_NORM_KERNEL); +GKO_STUB_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_RESIDUAL_NORM_KERNEL); } // namespace residual_norm @@ -1179,7 +1077,7 @@ GKO_STUB_NON_COMPLEX_VALUE_TYPE_WITH_HALF(GKO_DECLARE_RESIDUAL_NORM_KERNEL); namespace implicit_residual_norm { -GKO_STUB_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); +GKO_STUB_VALUE_TYPE(GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); } // namespace implicit_residual_norm diff --git a/core/distributed/assembly.cpp b/core/distributed/assembly.cpp index 424e641f845..116cf83ee94 100644 --- a/core/distributed/assembly.cpp +++ b/core/distributed/assembly.cpp @@ -135,7 +135,7 @@ device_matrix_data assemble_rows_from_neighbors( mpi::communicator comm, \ const device_matrix_data<_value_type, _global_type>& input, \ ptr_param> partition) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_ASSEMBLE_ROWS_FROM_NEIGHBORS); diff --git a/core/distributed/matrix.cpp b/core/distributed/matrix.cpp index 442771c66b5..7f5d446e24e 100644 --- a/core/distributed/matrix.cpp +++ b/core/distributed/matrix.cpp @@ -203,8 +203,8 @@ Matrix::create( template void Matrix::convert_to( - Matrix, local_index_type, global_index_type>* - result) const + Matrix, local_index_type, + global_index_type>* result) const { GKO_ASSERT(this->get_communicator().size() == result->get_communicator().size()); @@ -222,8 +222,8 @@ void Matrix::convert_to( template void Matrix::move_to( - Matrix, local_index_type, global_index_type>* - result) + Matrix, local_index_type, + global_index_type>* result) { GKO_ASSERT(this->get_communicator().size() == result->get_communicator().size()); @@ -664,7 +664,7 @@ Matrix::operator=(Matrix&& other) #define GKO_DECLARE_DISTRIBUTED_MATRIX(ValueType, LocalIndexType, \ GlobalIndexType) \ class Matrix -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_DISTRIBUTED_MATRIX); diff --git a/core/distributed/preconditioner/schwarz.cpp b/core/distributed/preconditioner/schwarz.cpp index 965414349d6..901d2ee1527 100644 --- a/core/distributed/preconditioner/schwarz.cpp +++ b/core/distributed/preconditioner/schwarz.cpp @@ -144,7 +144,8 @@ void Schwarz::generate( #define GKO_DECLARE_SCHWARZ(ValueType, LocalIndexType, GlobalIndexType) \ class Schwarz -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(GKO_DECLARE_SCHWARZ); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( + GKO_DECLARE_SCHWARZ); } // namespace preconditioner diff --git a/core/distributed/vector.cpp b/core/distributed/vector.cpp index ae7ab182a85..6dc7773d777 100644 --- a/core/distributed/vector.cpp +++ b/core/distributed/vector.cpp @@ -283,7 +283,7 @@ void Vector::fill(const ValueType value) template void Vector::convert_to( - Vector>* result) const + Vector>* result) const { GKO_ASSERT(this->get_communicator().size() == result->get_communicator().size()); @@ -293,7 +293,7 @@ void Vector::convert_to( template -void Vector::move_to(Vector>* result) +void Vector::move_to(Vector>* result) { this->convert_to(result); } @@ -724,7 +724,7 @@ std::unique_ptr> Vector::create_with_type_of_impl( #define GKO_DECLARE_DISTRIBUTED_VECTOR(ValueType) class Vector -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DISTRIBUTED_VECTOR); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(GKO_DECLARE_DISTRIBUTED_VECTOR); } // namespace distributed diff --git a/core/distributed/vector_cache.cpp b/core/distributed/vector_cache.cpp index e6b1af5fc42..683d18dfd98 100644 --- a/core/distributed/vector_cache.cpp +++ b/core/distributed/vector_cache.cpp @@ -48,7 +48,7 @@ void VectorCache::init_from( #define GKO_DECLARE_VECTOR_CACHE(_type) class VectorCache<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_VECTOR_CACHE); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(GKO_DECLARE_VECTOR_CACHE); } // namespace detail diff --git a/core/factorization/cholesky.cpp b/core/factorization/cholesky.cpp index a552ec37ec1..92d598f0bd7 100644 --- a/core/factorization/cholesky.cpp +++ b/core/factorization/cholesky.cpp @@ -146,7 +146,7 @@ std::unique_ptr Cholesky::generate_impl( #define GKO_DECLARE_CHOLESKY(ValueType, IndexType) \ class Cholesky -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CHOLESKY); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY); } // namespace factorization diff --git a/core/factorization/elimination_forest.cpp b/core/factorization/elimination_forest.cpp index f8d6d861c2d..1dc8ff060a0 100644 --- a/core/factorization/elimination_forest.cpp +++ b/core/factorization/elimination_forest.cpp @@ -173,8 +173,7 @@ void compute_elim_forest(const matrix::Csr* mtx, const matrix::Csr* mtx, \ std::unique_ptr>& forest) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COMPUTE_ELIM_FOREST); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COMPUTE_ELIM_FOREST); } // namespace factorization diff --git a/core/factorization/factorization.cpp b/core/factorization/factorization.cpp index e0e4ccdc3c7..1df1f49aa13 100644 --- a/core/factorization/factorization.cpp +++ b/core/factorization/factorization.cpp @@ -362,8 +362,7 @@ void Factorization::apply_impl(const LinOp* alpha, #define GKO_DECLARE_FACTORIZATION(ValueType, IndexType) \ class Factorization -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FACTORIZATION); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FACTORIZATION); } // namespace factorization diff --git a/core/factorization/ic.cpp b/core/factorization/ic.cpp index d8706c8b8e3..bf9d5e7bbf4 100644 --- a/core/factorization/ic.cpp +++ b/core/factorization/ic.cpp @@ -203,7 +203,7 @@ std::unique_ptr> Ic::generate( #define GKO_DECLARE_IC(ValueType, IndexType) class Ic -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_IC); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_IC); } // namespace factorization diff --git a/core/factorization/ilu.cpp b/core/factorization/ilu.cpp index 1c6079700e3..f7703f3d20b 100644 --- a/core/factorization/ilu.cpp +++ b/core/factorization/ilu.cpp @@ -188,7 +188,7 @@ std::unique_ptr> Ilu::generate_l_u( #define GKO_DECLARE_ILU(ValueType, IndexType) class Ilu -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ILU); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ILU); } // namespace factorization diff --git a/core/factorization/lu.cpp b/core/factorization/lu.cpp index dfdce26f140..4feb78083d2 100644 --- a/core/factorization/lu.cpp +++ b/core/factorization/lu.cpp @@ -166,7 +166,7 @@ std::unique_ptr Lu::generate_impl( #define GKO_DECLARE_LU(ValueType, IndexType) class Lu -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_LU); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU); } // namespace factorization diff --git a/core/factorization/par_ic.cpp b/core/factorization/par_ic.cpp index b310025eb8d..f4a4afd23d6 100644 --- a/core/factorization/par_ic.cpp +++ b/core/factorization/par_ic.cpp @@ -146,7 +146,7 @@ std::unique_ptr> ParIc::generate( #define GKO_DECLARE_PAR_IC(ValueType, IndexType) \ class ParIc -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PAR_IC); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_IC); } // namespace factorization diff --git a/core/factorization/par_ict.cpp b/core/factorization/par_ict.cpp index 696b185e969..a0e8a628ca8 100644 --- a/core/factorization/par_ict.cpp +++ b/core/factorization/par_ict.cpp @@ -300,7 +300,7 @@ void ParIctState::iterate() #define GKO_DECLARE_PAR_ICT(ValueType, IndexType) \ class ParIct -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PAR_ICT); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ICT); } // namespace factorization diff --git a/core/factorization/par_ilu.cpp b/core/factorization/par_ilu.cpp index 177c150df1d..68c0c0c4fc6 100644 --- a/core/factorization/par_ilu.cpp +++ b/core/factorization/par_ilu.cpp @@ -161,7 +161,7 @@ ParIlu::generate_l_u( #define GKO_DECLARE_PAR_ILU(ValueType, IndexType) \ class ParIlu -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PAR_ILU); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ILU); } // namespace factorization diff --git a/core/factorization/par_ilut.cpp b/core/factorization/par_ilut.cpp index e90dbb8140f..42e3cc03130 100644 --- a/core/factorization/par_ilut.cpp +++ b/core/factorization/par_ilut.cpp @@ -352,7 +352,7 @@ void ParIlutState::iterate() #define GKO_DECLARE_PAR_ILUT(ValueType, IndexType) \ class ParIlut -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PAR_ILUT); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PAR_ILUT); } // namespace factorization diff --git a/core/factorization/symbolic.cpp b/core/factorization/symbolic.cpp index 495b830d7ea..23f6b94cc14 100644 --- a/core/factorization/symbolic.cpp +++ b/core/factorization/symbolic.cpp @@ -80,8 +80,7 @@ void symbolic_cholesky( std::unique_ptr>& factors, \ std::unique_ptr>& forest) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SYMBOLIC_CHOLESKY); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SYMBOLIC_CHOLESKY); template @@ -159,7 +158,7 @@ void symbolic_lu_near_symm( const matrix::Csr* mtx, \ std::unique_ptr>& factors) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SYMBOLIC_LU_NEAR_SYMM); @@ -246,8 +245,7 @@ void symbolic_lu(const matrix::Csr* mtx, const matrix::Csr* mtx, \ std::unique_ptr>& factors) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SYMBOLIC_LU); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SYMBOLIC_LU); } // namespace factorization diff --git a/core/log/batch_logger.cpp b/core/log/batch_logger.cpp index 86c6ea647f2..f274019016f 100644 --- a/core/log/batch_logger.cpp +++ b/core/log/batch_logger.cpp @@ -65,7 +65,7 @@ log_data::log_data(std::shared_ptr exec, #define GKO_DECLARE_LOG_DATA(_type) struct log_data<_type> -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF(GKO_DECLARE_LOG_DATA); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_LOG_DATA); #undef GKO_DECLARE_LOG_DATA @@ -92,7 +92,7 @@ void BatchConvergence::on_batch_solver_completed( #define GKO_DECLARE_BATCH_CONVERGENCE(_type) class BatchConvergence<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_CONVERGENCE); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_CONVERGENCE); } // namespace log diff --git a/core/log/convergence.cpp b/core/log/convergence.cpp index 78f004226cb..7cfa764dfd1 100644 --- a/core/log/convergence.cpp +++ b/core/log/convergence.cpp @@ -110,7 +110,7 @@ void Convergence::on_iteration_complete( #define GKO_DECLARE_CONVERGENCE(_type) class Convergence<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CONVERGENCE); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CONVERGENCE); } // namespace log diff --git a/core/log/papi.cpp b/core/log/papi.cpp index b5c56527687..5ced377ca38 100644 --- a/core/log/papi.cpp +++ b/core/log/papi.cpp @@ -279,7 +279,7 @@ void Papi::on_iteration_complete( #define GKO_DECLARE_PAPI(_type) class Papi<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_PAPI); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_PAPI); } // namespace log diff --git a/core/log/stream.cpp b/core/log/stream.cpp index 69eef2e0949..5e510d409e2 100644 --- a/core/log/stream.cpp +++ b/core/log/stream.cpp @@ -482,7 +482,7 @@ void Stream::on_iteration_complete( #define GKO_DECLARE_STREAM(_type) class Stream<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_STREAM); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_STREAM); } // namespace log diff --git a/core/matrix/batch_csr.cpp b/core/matrix/batch_csr.cpp index 141c5b86d02..50ccc0a13d8 100644 --- a/core/matrix/batch_csr.cpp +++ b/core/matrix/batch_csr.cpp @@ -246,7 +246,7 @@ void Csr::add_scaled_identity( template void Csr::convert_to( - Csr, IndexType>* result) const + Csr, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -257,7 +257,7 @@ void Csr::convert_to( template void Csr::move_to( - Csr, IndexType>* result) + Csr, IndexType>* result) { this->convert_to(result); } @@ -266,8 +266,7 @@ void Csr::move_to( #if GINKGO_ENABLE_HALF template void Csr::convert_to( - Csr>, - IndexType>* result) const + Csr>, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -278,8 +277,7 @@ void Csr::convert_to( template void Csr::move_to( - Csr>, - IndexType>* result) + Csr>, IndexType>* result) { this->convert_to(result); } @@ -287,7 +285,7 @@ void Csr::move_to( #define GKO_DECLARE_BATCH_CSR_MATRIX(ValueType) class Csr -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_CSR_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_CSR_MATRIX); } // namespace matrix diff --git a/core/matrix/batch_dense.cpp b/core/matrix/batch_dense.cpp index 0c1838abb56..f56e512d41e 100644 --- a/core/matrix/batch_dense.cpp +++ b/core/matrix/batch_dense.cpp @@ -245,7 +245,7 @@ void Dense::add_scaled_identity( template void Dense::convert_to( - Dense>* result) const + Dense>* result) const { result->values_ = this->values_; result->set_size(this->get_size()); @@ -253,8 +253,7 @@ void Dense::convert_to( template -void Dense::move_to( - Dense>* result) +void Dense::move_to(Dense>* result) { this->convert_to(result); } @@ -263,8 +262,7 @@ void Dense::move_to( #if GINKGO_ENABLE_HALF template void Dense::convert_to( - Dense>>* - result) const + Dense>>* result) const { result->values_ = this->values_; result->set_size(this->get_size()); @@ -273,8 +271,7 @@ void Dense::convert_to( template void Dense::move_to( - Dense>>* - result) + Dense>>* result) { this->convert_to(result); } @@ -282,7 +279,7 @@ void Dense::move_to( #define GKO_DECLARE_BATCH_DENSE_MATRIX(_type) class Dense<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_DENSE_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_MATRIX); } // namespace matrix diff --git a/core/matrix/batch_ell.cpp b/core/matrix/batch_ell.cpp index 3b829d3ba4c..288d053e219 100644 --- a/core/matrix/batch_ell.cpp +++ b/core/matrix/batch_ell.cpp @@ -266,7 +266,7 @@ void Ell::add_scaled_identity( template void Ell::convert_to( - Ell, IndexType>* result) const + Ell, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -277,7 +277,7 @@ void Ell::convert_to( template void Ell::move_to( - Ell, IndexType>* result) + Ell, IndexType>* result) { this->convert_to(result); } @@ -286,8 +286,7 @@ void Ell::move_to( #if GINKGO_ENABLE_HALF template void Ell::convert_to( - Ell>, - IndexType>* result) const + Ell>, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -298,8 +297,7 @@ void Ell::convert_to( template void Ell::move_to( - Ell>, - IndexType>* result) + Ell>, IndexType>* result) { this->convert_to(result); } @@ -307,7 +305,7 @@ void Ell::move_to( #define GKO_DECLARE_BATCH_ELL_MATRIX(ValueType) class Ell -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_ELL_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_ELL_MATRIX); } // namespace matrix diff --git a/core/matrix/batch_identity.cpp b/core/matrix/batch_identity.cpp index 6ee2d55f6fe..2220120d00b 100644 --- a/core/matrix/batch_identity.cpp +++ b/core/matrix/batch_identity.cpp @@ -113,8 +113,7 @@ void Identity::apply_impl(const MultiVector* alpha, #define GKO_DECLARE_BATCH_IDENTITY_MATRIX(ValueType) class Identity -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_IDENTITY_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_IDENTITY_MATRIX); } // namespace matrix diff --git a/core/matrix/coo.cpp b/core/matrix/coo.cpp index 7b3b3876295..6316e8e948a 100644 --- a/core/matrix/coo.cpp +++ b/core/matrix/coo.cpp @@ -214,7 +214,7 @@ void Coo::apply2_impl(const LinOp* alpha, const LinOp* b, template void Coo::convert_to( - Coo, IndexType>* result) const + Coo, IndexType>* result) const { result->values_ = this->values_; result->row_idxs_ = this->row_idxs_; @@ -225,7 +225,7 @@ void Coo::convert_to( template void Coo::move_to( - Coo, IndexType>* result) + Coo, IndexType>* result) { this->convert_to(result); } @@ -234,8 +234,7 @@ void Coo::move_to( #if GINKGO_ENABLE_HALF template void Coo::convert_to( - Coo>, - IndexType>* result) const + Coo>, IndexType>* result) const { result->values_ = this->values_; result->row_idxs_ = this->row_idxs_; @@ -246,8 +245,7 @@ void Coo::convert_to( template void Coo::move_to( - Coo>, - IndexType>* result) + Coo>, IndexType>* result) { this->convert_to(result); } @@ -427,7 +425,7 @@ Coo::compute_absolute() const #define GKO_DECLARE_COO_MATRIX(ValueType, IndexType) \ class Coo -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_COO_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_MATRIX); } // namespace matrix diff --git a/core/matrix/csr.cpp b/core/matrix/csr.cpp index 1bb3e778478..ca418241bf9 100644 --- a/core/matrix/csr.cpp +++ b/core/matrix/csr.cpp @@ -304,7 +304,7 @@ void Csr::apply_impl(const LinOp* alpha, const LinOp* b, template void Csr::convert_to( - Csr, IndexType>* result) const + Csr, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -316,7 +316,7 @@ void Csr::convert_to( template void Csr::move_to( - Csr, IndexType>* result) + Csr, IndexType>* result) { this->convert_to(result); } @@ -324,8 +324,7 @@ void Csr::move_to( #if GINKGO_ENABLE_HALF template void Csr::convert_to( - Csr>, - IndexType>* result) const + Csr>, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -337,8 +336,7 @@ void Csr::convert_to( template void Csr::move_to( - Csr>, - IndexType>* result) + Csr>, IndexType>* result) { this->convert_to(result); } @@ -1070,7 +1068,7 @@ void Csr::add_scaled_identity_impl(const LinOp* a, #define GKO_DECLARE_CSR_MATRIX(ValueType, IndexType) \ class Csr -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_CSR_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_MATRIX); } // namespace matrix diff --git a/core/matrix/dense.cpp b/core/matrix/dense.cpp index 071e689232e..308b5e8f11e 100644 --- a/core/matrix/dense.cpp +++ b/core/matrix/dense.cpp @@ -582,7 +582,7 @@ Dense::Dense(Dense&& other) : Dense(other.get_executor()) template void Dense::convert_to( - Dense>* result) const + Dense>* result) const { if (result->get_size() != this->get_size()) { result->set_size(this->get_size()); @@ -597,8 +597,7 @@ void Dense::convert_to( template -void Dense::move_to( - Dense>* result) +void Dense::move_to(Dense>* result) { this->convert_to(result); } @@ -607,8 +606,7 @@ void Dense::move_to( #if GINKGO_ENABLE_HALF template void Dense::convert_to( - Dense>>* - result) const + Dense>>* result) const { if (result->get_size() != this->get_size()) { result->set_size(this->get_size()); @@ -624,8 +622,7 @@ void Dense::convert_to( template void Dense::move_to( - Dense>>* - result) + Dense>>* result) { this->convert_to(result); } @@ -1548,8 +1545,8 @@ template void gather_mixed_real_complex(Function fn, LinOp* out) { #ifdef GINKGO_MIXED_PRECISION - run, - next_precision_with_half>>(out, fn); + run, + next_precision>>(out, fn); #else precision_dispatch(fn, out); #endif @@ -2059,7 +2056,7 @@ Dense::Dense(std::shared_ptr exec, #define GKO_DECLARE_DENSE_MATRIX(_type) class Dense<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_MATRIX); } // namespace matrix diff --git a/core/matrix/diagonal.cpp b/core/matrix/diagonal.cpp index 85c5739b529..f29c7e036b2 100644 --- a/core/matrix/diagonal.cpp +++ b/core/matrix/diagonal.cpp @@ -149,7 +149,7 @@ std::unique_ptr Diagonal::conj_transpose() const template void Diagonal::convert_to( - Diagonal>* result) const + Diagonal>* result) const { result->values_ = this->values_; result->set_size(this->get_size()); @@ -157,8 +157,7 @@ void Diagonal::convert_to( template -void Diagonal::move_to( - Diagonal>* result) +void Diagonal::move_to(Diagonal>* result) { this->convert_to(result); } @@ -167,8 +166,7 @@ void Diagonal::move_to( #if GINKGO_ENABLE_HALF template void Diagonal::convert_to( - Diagonal>>* - result) const + Diagonal>>* result) const { result->values_ = this->values_; result->set_size(this->get_size()); @@ -177,8 +175,7 @@ void Diagonal::convert_to( template void Diagonal::move_to( - Diagonal>>* - result) + Diagonal>>* result) { this->convert_to(result); } @@ -395,7 +392,7 @@ std::unique_ptr> Diagonal::create_const( #define GKO_DECLARE_DIAGONAL_MATRIX(value_type) class Diagonal -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DIAGONAL_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DIAGONAL_MATRIX); } // namespace matrix @@ -413,7 +410,7 @@ std::unique_ptr DiagonalExtractable::extract_diagonal_linop() #define GKO_DECLARE_DIAGONAL_EXTRACTABLE(value_type) \ std::unique_ptr \ DiagonalExtractable::extract_diagonal_linop() const -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DIAGONAL_EXTRACTABLE); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DIAGONAL_EXTRACTABLE); } // namespace gko diff --git a/core/matrix/ell.cpp b/core/matrix/ell.cpp index eafd9fa9cad..da166ba541e 100644 --- a/core/matrix/ell.cpp +++ b/core/matrix/ell.cpp @@ -154,7 +154,7 @@ void Ell::apply_impl(const LinOp* alpha, const LinOp* b, template void Ell::convert_to( - Ell, IndexType>* result) const + Ell, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -166,7 +166,7 @@ void Ell::convert_to( template void Ell::move_to( - Ell, IndexType>* result) + Ell, IndexType>* result) { this->convert_to(result); } @@ -175,8 +175,7 @@ void Ell::move_to( #if GINKGO_ENABLE_HALF template void Ell::convert_to( - Ell>, - IndexType>* result) const + Ell>, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -188,8 +187,7 @@ void Ell::convert_to( template void Ell::move_to( - Ell>, - IndexType>* result) + Ell>, IndexType>* result) { this->convert_to(result); } @@ -425,7 +423,7 @@ Ell::Ell(std::shared_ptr exec, #define GKO_DECLARE_ELL_MATRIX(ValueType, IndexType) \ class Ell -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_ELL_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_MATRIX); } // namespace matrix diff --git a/core/matrix/fbcsr.cpp b/core/matrix/fbcsr.cpp index f1612be10e0..8778df25375 100644 --- a/core/matrix/fbcsr.cpp +++ b/core/matrix/fbcsr.cpp @@ -145,7 +145,7 @@ void Fbcsr::apply_impl(const LinOp* alpha, const LinOp* b, template void Fbcsr::convert_to( - Fbcsr, IndexType>* const result) const + Fbcsr, IndexType>* const result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -158,7 +158,7 @@ void Fbcsr::convert_to( template void Fbcsr::move_to( - Fbcsr, IndexType>* const result) + Fbcsr, IndexType>* const result) { this->convert_to(result); } @@ -167,8 +167,8 @@ void Fbcsr::move_to( #if GINKGO_ENABLE_HALF template void Fbcsr::convert_to( - Fbcsr>, - IndexType>* const result) const + Fbcsr>, IndexType>* const result) + const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -181,8 +181,7 @@ void Fbcsr::convert_to( template void Fbcsr::move_to( - Fbcsr>, - IndexType>* const result) + Fbcsr>, IndexType>* const result) { this->convert_to(result); } @@ -499,8 +498,7 @@ Fbcsr::Fbcsr(std::shared_ptr exec, #define GKO_DECLARE_FBCSR_MATRIX(ValueType, IndexType) \ class Fbcsr -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_MATRIX); } // namespace matrix diff --git a/core/matrix/hybrid.cpp b/core/matrix/hybrid.cpp index 72137558a10..4b36b7115ac 100644 --- a/core/matrix/hybrid.cpp +++ b/core/matrix/hybrid.cpp @@ -203,7 +203,7 @@ void Hybrid::apply_impl(const LinOp* alpha, template void Hybrid::convert_to( - Hybrid, IndexType>* result) const + Hybrid, IndexType>* result) const { this->ell_->convert_to(result->ell_); this->coo_->convert_to(result->coo_); @@ -216,7 +216,7 @@ void Hybrid::convert_to( template void Hybrid::move_to( - Hybrid, IndexType>* result) + Hybrid, IndexType>* result) { this->convert_to(result); } @@ -225,8 +225,7 @@ void Hybrid::move_to( #if GINKGO_ENABLE_HALF template void Hybrid::convert_to( - Hybrid>, - IndexType>* result) const + Hybrid>, IndexType>* result) const { this->ell_->convert_to(result->ell_.get()); this->coo_->convert_to(result->coo_.get()); @@ -239,8 +238,7 @@ void Hybrid::convert_to( template void Hybrid::move_to( - Hybrid>, - IndexType>* result) + Hybrid>, IndexType>* result) { this->convert_to(result); } @@ -443,8 +441,7 @@ Hybrid::compute_absolute() const #define GKO_DECLARE_HYBRID_MATRIX(ValueType, IndexType) \ class Hybrid -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_HYBRID_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_HYBRID_MATRIX); } // namespace matrix diff --git a/core/matrix/identity.cpp b/core/matrix/identity.cpp index ecd93b6f959..7e035be82a3 100644 --- a/core/matrix/identity.cpp +++ b/core/matrix/identity.cpp @@ -83,9 +83,9 @@ std::unique_ptr> Identity::create( #define GKO_DECLARE_IDENTITY_MATRIX(_type) class Identity<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDENTITY_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDENTITY_MATRIX); #define GKO_DECLARE_IDENTITY_FACTORY(_type) class IdentityFactory<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDENTITY_FACTORY); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDENTITY_FACTORY); } // namespace matrix diff --git a/core/matrix/scaled_permutation.cpp b/core/matrix/scaled_permutation.cpp index bbe353e543e..0f295d6b5be 100644 --- a/core/matrix/scaled_permutation.cpp +++ b/core/matrix/scaled_permutation.cpp @@ -174,7 +174,7 @@ void ScaledPermutation::write( #define GKO_DECLARE_SCALED_PERMUTATION_MATRIX(ValueType, IndexType) \ class ScaledPermutation -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SCALED_PERMUTATION_MATRIX); diff --git a/core/matrix/sellp.cpp b/core/matrix/sellp.cpp index bd81b08bada..d4cff180295 100644 --- a/core/matrix/sellp.cpp +++ b/core/matrix/sellp.cpp @@ -176,7 +176,7 @@ void Sellp::apply_impl(const LinOp* alpha, const LinOp* b, template void Sellp::convert_to( - Sellp, IndexType>* result) const + Sellp, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -190,7 +190,7 @@ void Sellp::convert_to( template void Sellp::move_to( - Sellp, IndexType>* result) + Sellp, IndexType>* result) { this->convert_to(result); } @@ -199,8 +199,7 @@ void Sellp::move_to( #if GINKGO_ENABLE_HALF template void Sellp::convert_to( - Sellp>, - IndexType>* result) const + Sellp>, IndexType>* result) const { result->values_ = this->values_; result->col_idxs_ = this->col_idxs_; @@ -214,8 +213,7 @@ void Sellp::convert_to( template void Sellp::move_to( - Sellp>, - IndexType>* result) + Sellp>, IndexType>* result) { this->convert_to(result); } @@ -389,8 +387,7 @@ Sellp::compute_absolute() const #define GKO_DECLARE_SELLP_MATRIX(ValueType, IndexType) \ class Sellp -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_MATRIX); } // namespace matrix diff --git a/core/matrix/sparsity_csr.cpp b/core/matrix/sparsity_csr.cpp index a4d8b2fa281..9b8ea04da52 100644 --- a/core/matrix/sparsity_csr.cpp +++ b/core/matrix/sparsity_csr.cpp @@ -346,8 +346,7 @@ bool SparsityCsr::is_sorted_by_column_index() const #define GKO_DECLARE_SPARSITY_MATRIX(ValueType, IndexType) \ class SparsityCsr -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SPARSITY_MATRIX); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SPARSITY_MATRIX); } // namespace matrix diff --git a/core/multigrid/fixed_coarsening.cpp b/core/multigrid/fixed_coarsening.cpp index f62ce746d6b..1cbdd557fb4 100644 --- a/core/multigrid/fixed_coarsening.cpp +++ b/core/multigrid/fixed_coarsening.cpp @@ -90,8 +90,7 @@ void FixedCoarsening::generate() #define GKO_DECLARE_FIXED_COARSENING(_vtype, _itype) \ class FixedCoarsening<_vtype, _itype> -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FIXED_COARSENING); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FIXED_COARSENING); } // namespace multigrid diff --git a/core/multigrid/pgm.cpp b/core/multigrid/pgm.cpp index d11ebf32399..468a27e8ce4 100644 --- a/core/multigrid/pgm.cpp +++ b/core/multigrid/pgm.cpp @@ -551,7 +551,7 @@ void Pgm::generate() #define GKO_DECLARE_PGM(_vtype, _itype) class Pgm<_vtype, _itype> -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_PGM); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM); } // namespace multigrid diff --git a/core/preconditioner/batch_jacobi.cpp b/core/preconditioner/batch_jacobi.cpp index 53809a82a5a..e4382de38ec 100644 --- a/core/preconditioner/batch_jacobi.cpp +++ b/core/preconditioner/batch_jacobi.cpp @@ -175,7 +175,7 @@ void Jacobi::generate_precond( #define GKO_DECLARE_BATCH_JACOBI(_type) class Jacobi<_type, int32> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_JACOBI); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_JACOBI); } // namespace preconditioner diff --git a/core/preconditioner/gauss_seidel.cpp b/core/preconditioner/gauss_seidel.cpp index f4735cff5bc..aec7a4ff827 100644 --- a/core/preconditioner/gauss_seidel.cpp +++ b/core/preconditioner/gauss_seidel.cpp @@ -71,8 +71,7 @@ std::unique_ptr GaussSeidel::generate_impl( #define GKO_DECLARE_GAUSS_SEIDEL(ValueType, IndexType) \ class GaussSeidel -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_GAUSS_SEIDEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_GAUSS_SEIDEL); } // namespace preconditioner diff --git a/core/preconditioner/ic.cpp b/core/preconditioner/ic.cpp index 2e9833c21f7..691795ad60b 100644 --- a/core/preconditioner/ic.cpp +++ b/core/preconditioner/ic.cpp @@ -50,32 +50,28 @@ typename Ic::parameters_type ic_parse( ic_parse, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LOWERTRS_IC_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LOWERTRS_IC_PARSE); #define GKO_DECLARE_IR_IC_PARSE(ValueType, IndexType) \ typename Ic, IndexType>::parameters_type \ ic_parse, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_IR_IC_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_IR_IC_PARSE); #define GKO_DECLARE_GMRES_IC_PARSE(ValueType, IndexType) \ typename Ic, IndexType>::parameters_type \ ic_parse, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_GMRES_IC_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_GMRES_IC_PARSE); #define GKO_DECLARE_LOWERISAI_IC_PARSE(ValueType, IndexType) \ typename Ic, IndexType>::parameters_type \ ic_parse, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LOWERISAI_IC_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LOWERISAI_IC_PARSE); } // namespace detail } // namespace preconditioner diff --git a/core/preconditioner/ilu.cpp b/core/preconditioner/ilu.cpp index dae6cf97829..d6f49e49588 100644 --- a/core/preconditioner/ilu.cpp +++ b/core/preconditioner/ilu.cpp @@ -59,8 +59,7 @@ typename Ilu::parameters_type ilu_parse( solver::UpperTrs, false, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_TRS_ILU_FALSE_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_TRS_ILU_FALSE_PARSE); #define GKO_DECLARE_TRS_ILU_TRUE_PARSE(ValueType, IndexType) \ typename Ilu, \ @@ -70,8 +69,7 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( solver::UpperTrs, true, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_TRS_ILU_TRUE_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_TRS_ILU_TRUE_PARSE); #define GKO_DECLARE_GMRES_ILU_FALSE_PARSE(ValueType, IndexType) \ typename Ilu, solver::Gmres, false, \ @@ -79,7 +77,7 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( ilu_parse, solver::Gmres, false, \ IndexType>>(const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_GMRES_ILU_FALSE_PARSE); #define GKO_DECLARE_GMRES_ILU_TRUE_PARSE(ValueType, IndexType) \ @@ -88,8 +86,7 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( ilu_parse, solver::Gmres, true, \ IndexType>>(const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_GMRES_ILU_TRUE_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_GMRES_ILU_TRUE_PARSE); #define GKO_DECLARE_IR_ILU_FALSE_PARSE(ValueType, IndexType) \ typename Ilu, solver::Ir, false, \ @@ -98,8 +95,7 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( Ilu, solver::Ir, false, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_IR_ILU_FALSE_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_IR_ILU_FALSE_PARSE); #define GKO_DECLARE_IR_ILU_TRUE_PARSE(ValueType, IndexType) \ typename Ilu, solver::Ir, true, \ @@ -108,8 +104,7 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( Ilu, solver::Ir, true, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_IR_ILU_TRUE_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_IR_ILU_TRUE_PARSE); #define GKO_DECLARE_ISAI_ILU_FALSE_PARSE(ValueType, IndexType) \ typename Ilu, \ @@ -119,8 +114,7 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( UpperIsai, false, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ISAI_ILU_FALSE_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ISAI_ILU_FALSE_PARSE); #define GKO_DECLARE_ISAI_ILU_TRUE_PARSE(ValueType, IndexType) \ typename Ilu, \ @@ -130,8 +124,7 @@ GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( UpperIsai, true, IndexType>>( \ const config::pnode&, const config::registry&, \ const config::type_descriptor&) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ISAI_ILU_TRUE_PARSE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ISAI_ILU_TRUE_PARSE); } // namespace detail diff --git a/core/preconditioner/isai.cpp b/core/preconditioner/isai.cpp index ec0ef365592..9684f1bdb27 100644 --- a/core/preconditioner/isai.cpp +++ b/core/preconditioner/isai.cpp @@ -358,20 +358,19 @@ std::unique_ptr Isai::conj_transpose() #define GKO_DECLARE_LOWER_ISAI(ValueType, IndexType) \ class Isai -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_LOWER_ISAI); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LOWER_ISAI); #define GKO_DECLARE_UPPER_ISAI(ValueType, IndexType) \ class Isai -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_UPPER_ISAI); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_UPPER_ISAI); #define GKO_DECLARE_GENERAL_ISAI(ValueType, IndexType) \ class Isai -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_GENERAL_ISAI); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_GENERAL_ISAI); #define GKO_DECLARE_SPD_ISAI(ValueType, IndexType) \ class Isai -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_SPD_ISAI); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SPD_ISAI); } // namespace preconditioner diff --git a/core/preconditioner/jacobi.cpp b/core/preconditioner/jacobi.cpp index 3f773710ceb..1164f6c0cb8 100644 --- a/core/preconditioner/jacobi.cpp +++ b/core/preconditioner/jacobi.cpp @@ -328,11 +328,12 @@ void Jacobi::generate(const LinOp* system_matrix, if (parameters_.max_block_size == 1) { auto diag = share(as(system_matrix) ->extract_diagonal_linop()); - auto diag_vt = ::gko::detail:: - temporary_conversion>::template create< - matrix::Diagonal>, - matrix::Diagonal>>>(diag.get()); + auto diag_vt = + ::gko::detail::temporary_conversion>:: + template create>, + matrix::Diagonal>>>( + diag.get()); if (!diag_vt) { GKO_NOT_SUPPORTED(system_matrix); } @@ -375,7 +376,7 @@ void Jacobi::generate(const LinOp* system_matrix, #define GKO_DECLARE_JACOBI(ValueType, IndexType) \ class Jacobi -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_JACOBI); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI); } // namespace preconditioner diff --git a/core/preconditioner/sor.cpp b/core/preconditioner/sor.cpp index b671a99c6fb..c9905c5f73c 100644 --- a/core/preconditioner/sor.cpp +++ b/core/preconditioner/sor.cpp @@ -161,7 +161,7 @@ std::unique_ptr Sor::generate_impl( #define GKO_DECLARE_SOR(ValueType, IndexType) class Sor -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_SOR); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SOR); } // namespace preconditioner diff --git a/core/reorder/mc64.cpp b/core/reorder/mc64.cpp index 1319dea252a..26a1b5bb0ad 100644 --- a/core/reorder/mc64.cpp +++ b/core/reorder/mc64.cpp @@ -459,14 +459,13 @@ void compute_scaling(const matrix::Csr* host_mtx, } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_MC64_INITIALIZE_WEIGHTS); -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE( GKO_DECLARE_MC64_INITIAL_MATCHING); -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE( GKO_DECLARE_MC64_SHORTEST_AUGMENTING_PATH); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_MC64_COMPUTE_SCALING); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_MC64_COMPUTE_SCALING); } // namespace mc64 @@ -588,7 +587,7 @@ std::unique_ptr Mc64::generate_impl( #define GKO_DECLARE_MC64(ValueType, IndexType) class Mc64 -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_MC64); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_MC64); } // namespace reorder diff --git a/core/reorder/nested_dissection.cpp b/core/reorder/nested_dissection.cpp index e14af9ffbfc..1527739d43d 100644 --- a/core/reorder/nested_dissection.cpp +++ b/core/reorder/nested_dissection.cpp @@ -159,7 +159,7 @@ std::unique_ptr NestedDissection::generate_impl( #define GKO_DECLARE_ND(ValueType, IndexType) \ class NestedDissection -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ND); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_BASE(GKO_DECLARE_ND); } // namespace reorder diff --git a/core/reorder/rcm.cpp b/core/reorder/rcm.cpp index 0d2bae4d7dc..1acf4d97f1f 100644 --- a/core/reorder/rcm.cpp +++ b/core/reorder/rcm.cpp @@ -114,7 +114,7 @@ Rcm::Rcm(const Factory* factory, #define GKO_DECLARE_RCM(ValueType, IndexType) class Rcm -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_RCM); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_RCM); } // namespace reorder diff --git a/core/reorder/scaled_reordered.cpp b/core/reorder/scaled_reordered.cpp index 210e513841b..264122c0b8f 100644 --- a/core/reorder/scaled_reordered.cpp +++ b/core/reorder/scaled_reordered.cpp @@ -84,8 +84,7 @@ void ScaledReordered::apply_impl(const LinOp* alpha, #define GKO_DECLARE_SCALED_REORDERED(ValueType, IndexType) \ class ScaledReordered -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SCALED_REORDERED); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SCALED_REORDERED); } // namespace reorder diff --git a/core/solver/batch_bicgstab.cpp b/core/solver/batch_bicgstab.cpp index fa467c98976..73fc0a2c852 100644 --- a/core/solver/batch_bicgstab.cpp +++ b/core/solver/batch_bicgstab.cpp @@ -68,7 +68,7 @@ void Bicgstab::solver_apply( #define GKO_DECLARE_BATCH_BICGSTAB(_type) class Bicgstab<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_BICGSTAB); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_BICGSTAB); } // namespace solver diff --git a/core/solver/batch_cg.cpp b/core/solver/batch_cg.cpp index c7c4da5085a..13a5afffcaa 100644 --- a/core/solver/batch_cg.cpp +++ b/core/solver/batch_cg.cpp @@ -69,7 +69,7 @@ void Cg::solver_apply( #define GKO_DECLARE_BATCH_CG(_type) class Cg<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BATCH_CG); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_CG); } // namespace solver diff --git a/core/solver/batch_dispatch.hpp b/core/solver/batch_dispatch.hpp index 33d3c3938e1..53ed5b962b2 100644 --- a/core/solver/batch_dispatch.hpp +++ b/core/solver/batch_dispatch.hpp @@ -222,7 +222,7 @@ enum class log_type { simple_convergence_completion }; GKO_CALL(GKO_BATCH_INSTANTIATE_MATRIX_BATCH, GKO_BATCH_INSTANTIATE_LOGGER, \ GKO_BATCH_INSTANTIATE_DEVICE_PRECONDITIONER, \ GKO_BATCH_INSTANTIATE_STOP, \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS_WITH_HALF, __VA_ARGS__) + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS, __VA_ARGS__) /** diff --git a/core/solver/bicg.cpp b/core/solver/bicg.cpp index 55d18f7f01d..0b39b3664cc 100644 --- a/core/solver/bicg.cpp +++ b/core/solver/bicg.cpp @@ -293,8 +293,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_BICG(_type) class Bicg<_type> #define GKO_DECLARE_BICG_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG_TRAITS); } // namespace solver diff --git a/core/solver/bicgstab.cpp b/core/solver/bicgstab.cpp index 1e27c046186..c254b417765 100644 --- a/core/solver/bicgstab.cpp +++ b/core/solver/bicgstab.cpp @@ -298,8 +298,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_BICGSTAB(_type) class Bicgstab<_type> #define GKO_DECLARE_BICGSTAB_TRAITS(_type) \ struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICGSTAB_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_TRAITS); } // namespace solver diff --git a/core/solver/cb_gmres.cpp b/core/solver/cb_gmres.cpp index 274948531ab..1de3a79fb7c 100644 --- a/core/solver/cb_gmres.cpp +++ b/core/solver/cb_gmres.cpp @@ -518,8 +518,8 @@ void CbGmres::apply_impl(const LinOp* alpha, const LinOp* b, #define GKO_DECLARE_CB_GMRES(_type1) class CbGmres<_type1> #define GKO_DECLARE_CB_GMRES_TRAITS(_type1) \ struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CB_GMRES); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CB_GMRES_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(GKO_DECLARE_CB_GMRES); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(GKO_DECLARE_CB_GMRES_TRAITS); } // namespace solver diff --git a/core/solver/cg.cpp b/core/solver/cg.cpp index a7898577b8a..c512dc4313b 100644 --- a/core/solver/cg.cpp +++ b/core/solver/cg.cpp @@ -243,8 +243,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_CG(_type) class Cg<_type> #define GKO_DECLARE_CG_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG_TRAITS); } // namespace solver diff --git a/core/solver/cgs.cpp b/core/solver/cgs.cpp index 4ec702a8db5..19f625228a3 100644 --- a/core/solver/cgs.cpp +++ b/core/solver/cgs.cpp @@ -265,8 +265,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_CGS(_type) class Cgs<_type> #define GKO_DECLARE_CGS_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_TRAITS); } // namespace solver diff --git a/core/solver/direct.cpp b/core/solver/direct.cpp index 69c2f9512dd..cf15bc4a9ae 100644 --- a/core/solver/direct.cpp +++ b/core/solver/direct.cpp @@ -221,7 +221,7 @@ void Direct::apply_impl(const LinOp* alpha, #define GKO_DECLARE_DIRECT(ValueType, IndexType) \ class Direct -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_DIRECT); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DIRECT); } // namespace solver @@ -283,8 +283,7 @@ std::vector workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_DIRECT_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_DIRECT_TRAITS); } // namespace solver diff --git a/core/solver/fcg.cpp b/core/solver/fcg.cpp index 569061626ff..6c65f63ccae 100644 --- a/core/solver/fcg.cpp +++ b/core/solver/fcg.cpp @@ -247,8 +247,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_FCG(_type) class Fcg<_type> #define GKO_DECLARE_FCG_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG_TRAITS); } // namespace solver diff --git a/core/solver/gcr.cpp b/core/solver/gcr.cpp index 8219de79ef4..d5131632dc3 100644 --- a/core/solver/gcr.cpp +++ b/core/solver/gcr.cpp @@ -371,8 +371,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_GCR(_type) class Gcr<_type> #define GKO_DECLARE_GCR_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR_TRAITS); } // namespace solver diff --git a/core/solver/gmres.cpp b/core/solver/gmres.cpp index 8a4fdf563c3..e066fc696a1 100644 --- a/core/solver/gmres.cpp +++ b/core/solver/gmres.cpp @@ -707,8 +707,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_GMRES(_type) class Gmres<_type> #define GKO_DECLARE_GMRES_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES_TRAITS); } // namespace solver diff --git a/core/solver/idr.cpp b/core/solver/idr.cpp index d090324fea1..b10c15136f4 100644 --- a/core/solver/idr.cpp +++ b/core/solver/idr.cpp @@ -406,8 +406,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_IDR(_type) class Idr<_type> #define GKO_DECLARE_IDR_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_TRAITS); } // namespace solver diff --git a/core/solver/ir.cpp b/core/solver/ir.cpp index 3c2854dcf98..75efac351f9 100644 --- a/core/solver/ir.cpp +++ b/core/solver/ir.cpp @@ -370,8 +370,8 @@ std::vector workspace_traits>::vectors(const Solver&) #define GKO_DECLARE_IR(_type) class Ir<_type> #define GKO_DECLARE_IR_TRAITS(_type) struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IR); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IR_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IR); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IR_TRAITS); } // namespace solver diff --git a/core/solver/lower_trs.cpp b/core/solver/lower_trs.cpp index da16061db03..3048c877dbd 100644 --- a/core/solver/lower_trs.cpp +++ b/core/solver/lower_trs.cpp @@ -248,9 +248,8 @@ std::vector workspace_traits>::vectors( #define GKO_DECLARE_LOWER_TRS(_vtype, _itype) class LowerTrs<_vtype, _itype> #define GKO_DECLARE_LOWER_TRS_TRAITS(_vtype, _itype) \ struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_LOWER_TRS); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LOWER_TRS_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LOWER_TRS); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LOWER_TRS_TRAITS); } // namespace solver diff --git a/core/solver/upper_trs.cpp b/core/solver/upper_trs.cpp index 5e1dfb23df2..c759c119647 100644 --- a/core/solver/upper_trs.cpp +++ b/core/solver/upper_trs.cpp @@ -248,9 +248,8 @@ std::vector workspace_traits>::vectors( #define GKO_DECLARE_UPPER_TRS(_vtype, _itype) class UpperTrs<_vtype, _itype> #define GKO_DECLARE_UPPER_TRS_TRAITS(_vtype, _itype) \ struct workspace_traits> -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(GKO_DECLARE_UPPER_TRS); -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_UPPER_TRS_TRAITS); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_UPPER_TRS); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_UPPER_TRS_TRAITS); } // namespace solver diff --git a/core/stop/residual_norm.cpp b/core/stop/residual_norm.cpp index 5f75efcec82..c962784033a 100644 --- a/core/stop/residual_norm.cpp +++ b/core/stop/residual_norm.cpp @@ -227,13 +227,12 @@ bool ImplicitResidualNorm::check_impl( #define GKO_DECLARE_RESIDUAL_NORM(_type) class ResidualNormBase<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_RESIDUAL_NORM); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_RESIDUAL_NORM); #define GKO_DECLARE_IMPLICIT_RESIDUAL_NORM(_type) \ class ImplicitResidualNorm<_type> -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IMPLICIT_RESIDUAL_NORM); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IMPLICIT_RESIDUAL_NORM); } // namespace stop diff --git a/core/test/base/array.cpp b/core/test/base/array.cpp index 23515d70fc4..f7e03855d06 100644 --- a/core/test/base/array.cpp +++ b/core/test/base/array.cpp @@ -40,8 +40,7 @@ class Array : public ::testing::Test { gko::array x; }; -TYPED_TEST_SUITE(Array, gko::test::ComplexAndPODTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Array, gko::test::ComplexAndPODTypes, TypenameNameGenerator); TYPED_TEST(Array, CanBeCreatedWithoutAnExecutor) diff --git a/core/test/base/batch_multi_vector.cpp b/core/test/base/batch_multi_vector.cpp index 7a9606bc710..3798f30ce65 100644 --- a/core/test/base/batch_multi_vector.cpp +++ b/core/test/base/batch_multi_vector.cpp @@ -64,8 +64,7 @@ class MultiVector : public ::testing::Test { std::unique_ptr> dense_mtx; }; -TYPED_TEST_SUITE(MultiVector, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(MultiVector, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(MultiVector, CanBeEmpty) diff --git a/core/test/base/combination.cpp b/core/test/base/combination.cpp index 63c73cfa168..73c30ffe11c 100644 --- a/core/test/base/combination.cpp +++ b/core/test/base/combination.cpp @@ -43,8 +43,7 @@ class Combination : public ::testing::Test { std::vector> coefficients; }; -TYPED_TEST_SUITE(Combination, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Combination, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Combination, CanBeEmpty) diff --git a/core/test/base/composition.cpp b/core/test/base/composition.cpp index 58c86894fc8..122755b8f92 100644 --- a/core/test/base/composition.cpp +++ b/core/test/base/composition.cpp @@ -41,8 +41,7 @@ class Composition : public ::testing::Test { std::vector> operators; }; -TYPED_TEST_SUITE(Composition, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Composition, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Composition, CanBeEmpty) diff --git a/core/test/base/dense_cache.cpp b/core/test/base/dense_cache.cpp index 54d904617db..526187610a4 100644 --- a/core/test/base/dense_cache.cpp +++ b/core/test/base/dense_cache.cpp @@ -31,8 +31,7 @@ class DenseCache : public ::testing::Test { }; -TYPED_TEST_SUITE(DenseCache, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(DenseCache, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(DenseCache, CanDefaultConstruct) diff --git a/core/test/base/iterator_factory.cpp b/core/test/base/iterator_factory.cpp index 3685242f78a..bbc3bbfd04f 100644 --- a/core/test/base/iterator_factory.cpp +++ b/core/test/base/iterator_factory.cpp @@ -78,7 +78,7 @@ class ZipIterator : public ::testing::Test { const std::vector ordered_value; }; -TYPED_TEST_SUITE(ZipIterator, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(ZipIterator, gko::test::ValueIndexTypes, PairTypenameNameGenerator); @@ -366,7 +366,7 @@ class PermuteIterator : public ::testing::Test { using value_type = ValueType; }; -TYPED_TEST_SUITE(PermuteIterator, gko::test::ComplexAndPODTypesWithHalf, +TYPED_TEST_SUITE(PermuteIterator, gko::test::ComplexAndPODTypes, TypenameNameGenerator); diff --git a/core/test/base/mtx_io.cpp b/core/test/base/mtx_io.cpp index 14d44335b85..f800f4e40f2 100644 --- a/core/test/base/mtx_io.cpp +++ b/core/test/base/mtx_io.cpp @@ -973,7 +973,7 @@ class RealDummyLinOpTest : public ::testing::Test { typename std::tuple_element<1, decltype(ValueIndexType())>::type; }; -TYPED_TEST_SUITE(RealDummyLinOpTest, gko::test::RealValueIndexTypesWithHalf, +TYPED_TEST_SUITE(RealDummyLinOpTest, gko::test::RealValueIndexTypes, PairTypenameNameGenerator); @@ -1178,7 +1178,7 @@ class DenseTest : public ::testing::Test { using index_type = typename std::tuple_element<1, ValueIndexType>::type; }; -TYPED_TEST_SUITE(DenseTest, gko::test::RealValueIndexTypesWithHalf, +TYPED_TEST_SUITE(DenseTest, gko::test::RealValueIndexTypes, PairTypenameNameGenerator); @@ -1222,8 +1222,7 @@ class ComplexDummyLinOpTest : public ::testing::Test { typename std::tuple_element<1, decltype(ValueIndexType())>::type; }; -TYPED_TEST_SUITE(ComplexDummyLinOpTest, - gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(ComplexDummyLinOpTest, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/base/segmented_array.cpp b/core/test/base/segmented_array.cpp index 31444d71d18..2741990036f 100644 --- a/core/test/base/segmented_array.cpp +++ b/core/test/base/segmented_array.cpp @@ -27,8 +27,7 @@ class SegmentedArray : public ::testing::Test { std::shared_ptr exec = gko::ReferenceExecutor::create(); }; -TYPED_TEST_SUITE(SegmentedArray, gko::test::PODTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(SegmentedArray, gko::test::PODTypes, TypenameNameGenerator); TYPED_TEST(SegmentedArray, CanConstructFromExecutor) diff --git a/core/test/components/addressable_pq.cpp b/core/test/components/addressable_pq.cpp index 87fcb289a77..6301cd44fb4 100644 --- a/core/test/components/addressable_pq.cpp +++ b/core/test/components/addressable_pq.cpp @@ -91,8 +91,8 @@ class AddressablePriorityQueue : public ::testing::Test { std::shared_ptr exec; }; -TYPED_TEST_SUITE(AddressablePriorityQueue, - gko::test::RealValueIndexTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(AddressablePriorityQueue, gko::test::RealValueIndexTypes, + TypenameNameGenerator); TYPED_TEST(AddressablePriorityQueue, InitializesCorrectly) diff --git a/core/test/factorization/elimination_forest.cpp b/core/test/factorization/elimination_forest.cpp index cf9ddb7536e..292b366f50e 100644 --- a/core/test/factorization/elimination_forest.cpp +++ b/core/test/factorization/elimination_forest.cpp @@ -33,7 +33,7 @@ class EliminationForest : public ::testing::Test { std::shared_ptr ref; }; -TYPED_TEST_SUITE(EliminationForest, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(EliminationForest, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/factorization/par_ic.cpp b/core/test/factorization/par_ic.cpp index efd4c1e3ebd..d6de0f9fc98 100644 --- a/core/test/factorization/par_ic.cpp +++ b/core/test/factorization/par_ic.cpp @@ -29,8 +29,7 @@ class ParIc : public ::testing::Test { std::shared_ptr ref; }; -TYPED_TEST_SUITE(ParIc, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIc, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIc, SetIterations) diff --git a/core/test/factorization/par_ict.cpp b/core/test/factorization/par_ict.cpp index 5d5ac8bc815..07eec8db549 100644 --- a/core/test/factorization/par_ict.cpp +++ b/core/test/factorization/par_ict.cpp @@ -29,8 +29,7 @@ class ParIct : public ::testing::Test { std::shared_ptr ref; }; -TYPED_TEST_SUITE(ParIct, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIct, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIct, SetIterations) diff --git a/core/test/factorization/par_ilu.cpp b/core/test/factorization/par_ilu.cpp index e06a90741af..a0b8f37e3d4 100644 --- a/core/test/factorization/par_ilu.cpp +++ b/core/test/factorization/par_ilu.cpp @@ -29,8 +29,7 @@ class ParIlu : public ::testing::Test { std::shared_ptr ref; }; -TYPED_TEST_SUITE(ParIlu, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIlu, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIlu, SetIterations) diff --git a/core/test/factorization/par_ilut.cpp b/core/test/factorization/par_ilut.cpp index a2d0287d22a..ad466e62407 100644 --- a/core/test/factorization/par_ilut.cpp +++ b/core/test/factorization/par_ilut.cpp @@ -30,7 +30,7 @@ class ParIlut : public ::testing::Test { std::shared_ptr ref; }; -TYPED_TEST_SUITE(ParIlut, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(ParIlut, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/log/convergence.cpp b/core/test/log/convergence.cpp index 64ec37e8942..8fff0c17b8e 100644 --- a/core/test/log/convergence.cpp +++ b/core/test/log/convergence.cpp @@ -45,8 +45,7 @@ class Convergence : public ::testing::Test { gko::array status = {exec, 1}; }; -TYPED_TEST_SUITE(Convergence, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Convergence, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Convergence, CanGetEmptyData) diff --git a/core/test/log/papi.cpp b/core/test/log/papi.cpp index e0404b04d90..8278120cc49 100644 --- a/core/test/log/papi.cpp +++ b/core/test/log/papi.cpp @@ -91,7 +91,7 @@ class Papi : public ::testing::Test { int eventset; }; -TYPED_TEST_SUITE(Papi, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Papi, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Papi, CatchesAllocationStarted) diff --git a/core/test/log/solver_progress.cpp b/core/test/log/solver_progress.cpp index 2b4a6ac599c..e00044a908d 100644 --- a/core/test/log/solver_progress.cpp +++ b/core/test/log/solver_progress.cpp @@ -68,8 +68,7 @@ class SolverProgress : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(SolverProgress, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(SolverProgress, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(SolverProgress, TableWorks) diff --git a/core/test/log/stream.cpp b/core/test/log/stream.cpp index 7f4b41e5cc3..1ad02f7daf1 100644 --- a/core/test/log/stream.cpp +++ b/core/test/log/stream.cpp @@ -26,7 +26,7 @@ constexpr int num_iters = 10; template class Stream : public ::testing::Test {}; -TYPED_TEST_SUITE(Stream, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Stream, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Stream, CatchesAllocationStarted) diff --git a/core/test/matrix/batch_csr.cpp b/core/test/matrix/batch_csr.cpp index 3a1871ba583..57cae53d646 100644 --- a/core/test/matrix/batch_csr.cpp +++ b/core/test/matrix/batch_csr.cpp @@ -114,7 +114,7 @@ class Csr : public ::testing::Test { std::unique_ptr sp_csr_mtx; }; -TYPED_TEST_SUITE(Csr, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Csr, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Csr, KnowsItsSizeAndValues) diff --git a/core/test/matrix/batch_dense.cpp b/core/test/matrix/batch_dense.cpp index 23542114746..334df5c0e93 100644 --- a/core/test/matrix/batch_dense.cpp +++ b/core/test/matrix/batch_dense.cpp @@ -68,7 +68,7 @@ class Dense : public ::testing::Test { std::unique_ptr> dense_mtx; }; -TYPED_TEST_SUITE(Dense, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Dense, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Dense, KnowsItsSizeAndValues) diff --git a/core/test/matrix/batch_ell.cpp b/core/test/matrix/batch_ell.cpp index ae047ecfa90..11f6381a43d 100644 --- a/core/test/matrix/batch_ell.cpp +++ b/core/test/matrix/batch_ell.cpp @@ -92,7 +92,7 @@ class Ell : public ::testing::Test { std::unique_ptr sp_ell_mtx; }; -TYPED_TEST_SUITE(Ell, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Ell, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Ell, KnowsItsSizeAndValues) diff --git a/core/test/matrix/batch_identity.cpp b/core/test/matrix/batch_identity.cpp index 765f9f30938..dd7a3675110 100644 --- a/core/test/matrix/batch_identity.cpp +++ b/core/test/matrix/batch_identity.cpp @@ -49,8 +49,7 @@ class Identity : public ::testing::Test { std::unique_ptr> mvec; }; -TYPED_TEST_SUITE(Identity, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Identity, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Identity, KnowsItsSizeAndValues) diff --git a/core/test/matrix/coo.cpp b/core/test/matrix/coo.cpp index 56735e792d5..ffb8d5aee9f 100644 --- a/core/test/matrix/coo.cpp +++ b/core/test/matrix/coo.cpp @@ -77,8 +77,7 @@ class Coo : public ::testing::Test { } }; -TYPED_TEST_SUITE(Coo, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Coo, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Coo, KnowsItsSize) diff --git a/core/test/matrix/coo_builder.cpp b/core/test/matrix/coo_builder.cpp index b1b22c5848a..9bfae5cf3af 100644 --- a/core/test/matrix/coo_builder.cpp +++ b/core/test/matrix/coo_builder.cpp @@ -32,7 +32,7 @@ class CooBuilder : public ::testing::Test { std::unique_ptr mtx; }; -TYPED_TEST_SUITE(CooBuilder, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(CooBuilder, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/matrix/csr.cpp b/core/test/matrix/csr.cpp index f199de423e8..4bbdc63851a 100644 --- a/core/test/matrix/csr.cpp +++ b/core/test/matrix/csr.cpp @@ -82,8 +82,7 @@ class Csr : public ::testing::Test { } }; -TYPED_TEST_SUITE(Csr, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Csr, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Csr, KnowsItsSize) diff --git a/core/test/matrix/csr_builder.cpp b/core/test/matrix/csr_builder.cpp index 2accb57770c..24cbe4718c5 100644 --- a/core/test/matrix/csr_builder.cpp +++ b/core/test/matrix/csr_builder.cpp @@ -33,7 +33,7 @@ class CsrBuilder : public ::testing::Test { std::unique_ptr mtx; }; -TYPED_TEST_SUITE(CsrBuilder, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(CsrBuilder, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/matrix/dense.cpp b/core/test/matrix/dense.cpp index f1a673840ea..e7158a15aed 100644 --- a/core/test/matrix/dense.cpp +++ b/core/test/matrix/dense.cpp @@ -48,7 +48,7 @@ class Dense : public ::testing::Test { std::unique_ptr> mtx; }; -TYPED_TEST_SUITE(Dense, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Dense, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Dense, CanBeEmpty) diff --git a/core/test/matrix/diagonal.cpp b/core/test/matrix/diagonal.cpp index 7e598d67a5e..de03a9350bb 100644 --- a/core/test/matrix/diagonal.cpp +++ b/core/test/matrix/diagonal.cpp @@ -47,8 +47,7 @@ class Diagonal : public ::testing::Test { } }; -TYPED_TEST_SUITE(Diagonal, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Diagonal, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Diagonal, KnowsItsSize) diff --git a/core/test/matrix/ell.cpp b/core/test/matrix/ell.cpp index 93fc73dde18..bcc2b591a50 100644 --- a/core/test/matrix/ell.cpp +++ b/core/test/matrix/ell.cpp @@ -79,8 +79,7 @@ class Ell : public ::testing::Test { } }; -TYPED_TEST_SUITE(Ell, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Ell, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Ell, KnowsItsSize) diff --git a/core/test/matrix/fbcsr.cpp b/core/test/matrix/fbcsr.cpp index fd024532a14..3d3d4ee738d 100644 --- a/core/test/matrix/fbcsr.cpp +++ b/core/test/matrix/fbcsr.cpp @@ -131,7 +131,7 @@ class FbcsrSample : public ::testing::Test { }; -TYPED_TEST_SUITE(FbcsrSample, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(FbcsrSample, gko::test::ValueIndexTypes, PairTypenameNameGenerator); @@ -183,7 +183,7 @@ template class FbcsrSampleComplex : public FbcsrSample {}; -TYPED_TEST_SUITE(FbcsrSampleComplex, gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(FbcsrSampleComplex, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); @@ -282,8 +282,7 @@ class Fbcsr : public ::testing::Test { } }; -TYPED_TEST_SUITE(Fbcsr, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Fbcsr, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Fbcsr, GetNumBlocksCorrectlyThrows) diff --git a/core/test/matrix/fbcsr_builder.cpp b/core/test/matrix/fbcsr_builder.cpp index 241c7ccc6eb..d91a0c7b70a 100644 --- a/core/test/matrix/fbcsr_builder.cpp +++ b/core/test/matrix/fbcsr_builder.cpp @@ -33,7 +33,7 @@ class FbcsrBuilder : public ::testing::Test { std::unique_ptr mtx; }; -TYPED_TEST_SUITE(FbcsrBuilder, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(FbcsrBuilder, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/matrix/hybrid.cpp b/core/test/matrix/hybrid.cpp index 6b1e2a4a747..d1a69312755 100644 --- a/core/test/matrix/hybrid.cpp +++ b/core/test/matrix/hybrid.cpp @@ -96,8 +96,7 @@ class Hybrid : public ::testing::Test { } }; -TYPED_TEST_SUITE(Hybrid, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Hybrid, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Hybrid, KnowsItsSize) diff --git a/core/test/matrix/identity.cpp b/core/test/matrix/identity.cpp index 80defae4441..bcf9c036992 100644 --- a/core/test/matrix/identity.cpp +++ b/core/test/matrix/identity.cpp @@ -31,8 +31,7 @@ class Identity : public ::testing::Test { std::shared_ptr exec; }; -TYPED_TEST_SUITE(Identity, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Identity, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Identity, CanBeEmpty) @@ -82,8 +81,7 @@ class IdentityFactory : public ::testing::Test { using value_type = T; }; -TYPED_TEST_SUITE(IdentityFactory, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(IdentityFactory, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(IdentityFactory, CanGenerateIdentityMatrix) diff --git a/core/test/matrix/permutation.cpp b/core/test/matrix/permutation.cpp index fcd5aad789c..edb1532696b 100644 --- a/core/test/matrix/permutation.cpp +++ b/core/test/matrix/permutation.cpp @@ -52,7 +52,7 @@ class Permutation : public ::testing::Test { std::unique_ptr> mtx; }; -TYPED_TEST_SUITE(Permutation, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(Permutation, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/matrix/row_gatherer.cpp b/core/test/matrix/row_gatherer.cpp index b808828cc08..46a09b808fc 100644 --- a/core/test/matrix/row_gatherer.cpp +++ b/core/test/matrix/row_gatherer.cpp @@ -65,7 +65,7 @@ class RowGatherer : public ::testing::Test { std::unique_ptr out; }; -TYPED_TEST_SUITE(RowGatherer, gko::test::TwoValueIndexTypeWithHalf, +TYPED_TEST_SUITE(RowGatherer, gko::test::TwoValueIndexTypes, TupleTypenameNameGenerator); diff --git a/core/test/matrix/sellp.cpp b/core/test/matrix/sellp.cpp index a79fcf2bbd3..123d7bae773 100644 --- a/core/test/matrix/sellp.cpp +++ b/core/test/matrix/sellp.cpp @@ -107,8 +107,7 @@ class Sellp : public ::testing::Test { } }; -TYPED_TEST_SUITE(Sellp, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Sellp, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Sellp, KnowsItsSize) diff --git a/core/test/matrix/sparsity_csr.cpp b/core/test/matrix/sparsity_csr.cpp index 67f8237adb6..e929f960f1e 100644 --- a/core/test/matrix/sparsity_csr.cpp +++ b/core/test/matrix/sparsity_csr.cpp @@ -74,7 +74,7 @@ class SparsityCsr : public ::testing::Test { } }; -TYPED_TEST_SUITE(SparsityCsr, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(SparsityCsr, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/mpi/base/bindings.cpp b/core/test/mpi/base/bindings.cpp index ddcbb1777df..9feebb76ca9 100644 --- a/core/test/mpi/base/bindings.cpp +++ b/core/test/mpi/base/bindings.cpp @@ -24,7 +24,7 @@ class MpiBindings : public ::testing::Test { std::shared_ptr ref; }; -using TestTypes = gko::test::merge_type_list_t; TYPED_TEST_SUITE(MpiBindings, TestTypes, TypenameNameGenerator); diff --git a/core/test/mpi/distributed/matrix.cpp b/core/test/mpi/distributed/matrix.cpp index 2b027face11..26a551b5758 100644 --- a/core/test/mpi/distributed/matrix.cpp +++ b/core/test/mpi/distributed/matrix.cpp @@ -177,7 +177,7 @@ class MatrixBuilder : public ::testing::Test { gko::experimental::mpi::communicator comm; }; -TYPED_TEST_SUITE(MatrixBuilder, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(MatrixBuilder, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/core/test/mpi/distributed/preconditioner/schwarz.cpp b/core/test/mpi/distributed/preconditioner/schwarz.cpp index fb6676cc011..b55ec6a80ce 100644 --- a/core/test/mpi/distributed/preconditioner/schwarz.cpp +++ b/core/test/mpi/distributed/preconditioner/schwarz.cpp @@ -65,7 +65,7 @@ class SchwarzFactory : public ::testing::Test { std::shared_ptr mtx; }; -TYPED_TEST_SUITE(SchwarzFactory, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(SchwarzFactory, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/core/test/mpi/distributed/vector_cache.cpp b/core/test/mpi/distributed/vector_cache.cpp index f64c5fe9038..320d37c3c33 100644 --- a/core/test/mpi/distributed/vector_cache.cpp +++ b/core/test/mpi/distributed/vector_cache.cpp @@ -42,7 +42,7 @@ class VectorCache : public ::testing::Test { }; -TYPED_TEST_SUITE(VectorCache, gko::test::ValueTypes, TypenameNameGenerator); +TYPED_TEST_SUITE(VectorCache, gko::test::ValueTypesBase, TypenameNameGenerator); TYPED_TEST(VectorCache, CanDefaultConstruct) diff --git a/core/test/multigrid/fixed_coarsening.cpp b/core/test/multigrid/fixed_coarsening.cpp index 35bd04bb067..5cab7282b5d 100644 --- a/core/test/multigrid/fixed_coarsening.cpp +++ b/core/test/multigrid/fixed_coarsening.cpp @@ -38,7 +38,7 @@ class FixedCoarseningFactory : public ::testing::Test { std::unique_ptr fixed_coarsening_factory; }; -TYPED_TEST_SUITE(FixedCoarseningFactory, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(FixedCoarseningFactory, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/multigrid/pgm.cpp b/core/test/multigrid/pgm.cpp index c06edda60a0..7798e97f5d6 100644 --- a/core/test/multigrid/pgm.cpp +++ b/core/test/multigrid/pgm.cpp @@ -40,7 +40,7 @@ class PgmFactory : public ::testing::Test { std::unique_ptr pgm_factory; }; -TYPED_TEST_SUITE(PgmFactory, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(PgmFactory, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/preconditioner/isai.cpp b/core/test/preconditioner/isai.cpp index b2ee8175d49..b5e7400d0e8 100644 --- a/core/test/preconditioner/isai.cpp +++ b/core/test/preconditioner/isai.cpp @@ -64,7 +64,7 @@ class IsaiFactory : public ::testing::Test { std::unique_ptr upper_isai_factory; }; -TYPED_TEST_SUITE(IsaiFactory, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(IsaiFactory, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/preconditioner/jacobi.cpp b/core/test/preconditioner/jacobi.cpp index 40bc9e8d494..8813b4c3c4d 100644 --- a/core/test/preconditioner/jacobi.cpp +++ b/core/test/preconditioner/jacobi.cpp @@ -43,7 +43,7 @@ class JacobiFactory : public ::testing::Test { std::shared_ptr> mtx; }; -TYPED_TEST_SUITE(JacobiFactory, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(JacobiFactory, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/reorder/amd.cpp b/core/test/reorder/amd.cpp index b97201e929e..9eecf3777e1 100644 --- a/core/test/reorder/amd.cpp +++ b/core/test/reorder/amd.cpp @@ -177,8 +177,7 @@ class Amd : public ::testing::Test { std::shared_ptr> amd; }; -TYPED_TEST_SUITE(Amd, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Amd, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Amd, WorksAndReducesFillIn) diff --git a/core/test/solver/batch_bicgstab.cpp b/core/test/solver/batch_bicgstab.cpp index 0b50f7f6e92..cd9446d07b2 100644 --- a/core/test/solver/batch_bicgstab.cpp +++ b/core/test/solver/batch_bicgstab.cpp @@ -50,8 +50,7 @@ class BatchBicgstab : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(BatchBicgstab, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(BatchBicgstab, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(BatchBicgstab, FactoryKnowsItsExecutor) diff --git a/core/test/solver/batch_cg.cpp b/core/test/solver/batch_cg.cpp index b517c931adf..1e97c765f8a 100644 --- a/core/test/solver/batch_cg.cpp +++ b/core/test/solver/batch_cg.cpp @@ -50,7 +50,7 @@ class BatchCg : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(BatchCg, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(BatchCg, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(BatchCg, FactoryKnowsItsExecutor) diff --git a/core/test/solver/bicg.cpp b/core/test/solver/bicg.cpp index a229bd85ed9..e5a40e0c4f8 100644 --- a/core/test/solver/bicg.cpp +++ b/core/test/solver/bicg.cpp @@ -46,7 +46,7 @@ class Bicg : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Bicg, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Bicg, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Bicg, BicgFactoryKnowsItsExecutor) diff --git a/core/test/solver/bicgstab.cpp b/core/test/solver/bicgstab.cpp index 23695fe1355..f8b8d3c7b05 100644 --- a/core/test/solver/bicgstab.cpp +++ b/core/test/solver/bicgstab.cpp @@ -45,8 +45,7 @@ class Bicgstab : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Bicgstab, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Bicgstab, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Bicgstab, BicgstabFactoryKnowsItsExecutor) diff --git a/core/test/solver/cb_gmres.cpp b/core/test/solver/cb_gmres.cpp index e014e5f8acc..70eb34a8440 100644 --- a/core/test/solver/cb_gmres.cpp +++ b/core/test/solver/cb_gmres.cpp @@ -87,9 +87,9 @@ using st_ir2 = st_helper_type; using TestTypes = gko::test::merge_type_list_t< gko::test::cartesian_type_product_t< - gko::test::ValueTypes, ::testing::Types>, + gko::test::ValueTypesBase, ::testing::Types>, gko::test::cartesian_type_product_t< - gko::test::RealValueTypes, ::testing::Types>>; + gko::test::RealValueTypesBase, ::testing::Types>>; TYPED_TEST_SUITE(CbGmres, TestTypes, PairTypenameNameGenerator); diff --git a/core/test/solver/cg.cpp b/core/test/solver/cg.cpp index 95552d841ac..cbf637de302 100644 --- a/core/test/solver/cg.cpp +++ b/core/test/solver/cg.cpp @@ -46,7 +46,7 @@ class Cg : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Cg, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Cg, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Cg, CgFactoryKnowsItsExecutor) diff --git a/core/test/solver/cgs.cpp b/core/test/solver/cgs.cpp index cc355b58270..5dc80892a1b 100644 --- a/core/test/solver/cgs.cpp +++ b/core/test/solver/cgs.cpp @@ -46,7 +46,7 @@ class Cgs : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Cgs, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Cgs, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Cgs, CgsFactoryKnowsItsExecutor) diff --git a/core/test/solver/direct.cpp b/core/test/solver/direct.cpp index 43acdd0bdf1..d895892a8be 100644 --- a/core/test/solver/direct.cpp +++ b/core/test/solver/direct.cpp @@ -35,8 +35,7 @@ class Direct : public ::testing::Test { std::unique_ptr factory; }; -TYPED_TEST_SUITE(Direct, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Direct, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Direct, FactoryKnowsItsExecutor) diff --git a/core/test/solver/fcg.cpp b/core/test/solver/fcg.cpp index c92fa4bb7f1..2898a5f5c46 100644 --- a/core/test/solver/fcg.cpp +++ b/core/test/solver/fcg.cpp @@ -44,7 +44,7 @@ class Fcg : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Fcg, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Fcg, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Fcg, FcgFactoryKnowsItsExecutor) diff --git a/core/test/solver/gcr.cpp b/core/test/solver/gcr.cpp index 58194f6e92a..add10957c7d 100644 --- a/core/test/solver/gcr.cpp +++ b/core/test/solver/gcr.cpp @@ -70,7 +70,7 @@ class Gcr : public ::testing::Test { } }; -TYPED_TEST_SUITE(Gcr, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Gcr, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Gcr, GcrFactoryKnowsItsExecutor) diff --git a/core/test/solver/gmres.cpp b/core/test/solver/gmres.cpp index 50f505f6321..9d4514f66e0 100644 --- a/core/test/solver/gmres.cpp +++ b/core/test/solver/gmres.cpp @@ -60,7 +60,7 @@ class Gmres : public ::testing::Test { std::unique_ptr big_solver; }; -TYPED_TEST_SUITE(Gmres, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Gmres, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Gmres, GmresFactoryKnowsItsExecutor) diff --git a/core/test/solver/idr.cpp b/core/test/solver/idr.cpp index 823327e337e..9eb79356046 100644 --- a/core/test/solver/idr.cpp +++ b/core/test/solver/idr.cpp @@ -45,7 +45,7 @@ class Idr : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Idr, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Idr, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Idr, IdrFactoryKnowsItsExecutor) diff --git a/core/test/solver/ir.cpp b/core/test/solver/ir.cpp index 59f85f42321..1137862a395 100644 --- a/core/test/solver/ir.cpp +++ b/core/test/solver/ir.cpp @@ -46,7 +46,7 @@ class Ir : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Ir, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Ir, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Ir, IrFactoryKnowsItsExecutor) diff --git a/core/test/solver/lower_trs.cpp b/core/test/solver/lower_trs.cpp index ae07e08c3f7..dfcb564ca12 100644 --- a/core/test/solver/lower_trs.cpp +++ b/core/test/solver/lower_trs.cpp @@ -33,7 +33,7 @@ class LowerTrs : public ::testing::Test { std::unique_ptr lower_trs_factory; }; -TYPED_TEST_SUITE(LowerTrs, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(LowerTrs, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/solver/multigrid.cpp b/core/test/solver/multigrid.cpp index 54c4a18b8d3..85be8402243 100644 --- a/core/test/solver/multigrid.cpp +++ b/core/test/solver/multigrid.cpp @@ -164,8 +164,7 @@ class Multigrid : public ::testing::Test { } }; -TYPED_TEST_SUITE(Multigrid, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Multigrid, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Multigrid, MultigridFactoryKnowsItsExecutor) diff --git a/core/test/solver/upper_trs.cpp b/core/test/solver/upper_trs.cpp index bc53d1a193c..2e84cb81e10 100644 --- a/core/test/solver/upper_trs.cpp +++ b/core/test/solver/upper_trs.cpp @@ -33,7 +33,7 @@ class UpperTrs : public ::testing::Test { std::unique_ptr upper_trs_factory; }; -TYPED_TEST_SUITE(UpperTrs, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(UpperTrs, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/utils.hpp b/core/test/utils.hpp index ab9326400e0..e9c4c5e0c99 100644 --- a/core/test/utils.hpp +++ b/core/test/utils.hpp @@ -321,14 +321,14 @@ using add_inner_wrapper_t = typename detail::add_inner_wrapper::type; -using RealValueTypes = +using RealValueTypesBase = #if GINKGO_DPCPP_SINGLE_MODE ::testing::Types; #else ::testing::Types; #endif -using RealValueTypesWithHalf = ::testing::Types< +using RealValueTypes = ::testing::Types< #if GINKGO_ENABLE_HALF gko::half, #endif @@ -337,16 +337,16 @@ using RealValueTypesWithHalf = ::testing::Types< #endif float>; +using ComplexValueTypesBase = + add_inner_wrapper_t; + using ComplexValueTypes = add_inner_wrapper_t; -using ComplexValueTypesWithHalf = - add_inner_wrapper_t; +using ValueTypesBase = + merge_type_list_t; using ValueTypes = merge_type_list_t; -using ValueTypesWithHalf = - merge_type_list_t; - using IndexTypes = ::testing::Types; using IntegerTypes = merge_type_list_t>; @@ -355,48 +355,46 @@ using LocalGlobalIndexTypes = ::testing::Types, std::tuple, std::tuple>; +using PODTypesBase = merge_type_list_t; + using PODTypes = merge_type_list_t; -using PODTypesWithHalf = - merge_type_list_t; +using ComplexAndPODTypesBase = + merge_type_list_t; -using ComplexAndPODTypes = merge_type_list_t; +using ComplexAndPODTypes = merge_type_list_t; -using ComplexAndPODTypesWithHalf = - merge_type_list_t; +using ValueIndexTypesBase = + cartesian_type_product_t; using ValueIndexTypes = cartesian_type_product_t; -using ValueIndexTypesWithHalf = - cartesian_type_product_t; +using RealValueIndexTypesBase = + cartesian_type_product_t; using RealValueIndexTypes = cartesian_type_product_t; -using RealValueIndexTypesWithHalf = - cartesian_type_product_t; +using ComplexValueIndexTypesBase = + cartesian_type_product_t; using ComplexValueIndexTypes = cartesian_type_product_t; -using ComplexValueIndexTypesWithHalf = - cartesian_type_product_t; +using TwoValueIndexTypesBase = add_to_cartesian_type_product_t< + merge_type_list_t< + cartesian_type_product_t, + cartesian_type_product_t>, + IndexTypes>; -using TwoValueIndexType = add_to_cartesian_type_product_t< +using TwoValueIndexTypes = add_to_cartesian_type_product_t< merge_type_list_t< cartesian_type_product_t, cartesian_type_product_t>, IndexTypes>; -using TwoValueIndexTypeWithHalf = add_to_cartesian_type_product_t< - merge_type_list_t, - cartesian_type_product_t>, - IndexTypes>; - -using ValueLocalGlobalIndexTypes = - add_to_cartesian_type_product_left_t; +using ValueLocalGlobalIndexTypesBase = + add_to_cartesian_type_product_left_t; template diff --git a/core/test/utils/array_generator_test.cpp b/core/test/utils/array_generator_test.cpp index ca96761ea4e..3933dd7db7a 100644 --- a/core/test/utils/array_generator_test.cpp +++ b/core/test/utils/array_generator_test.cpp @@ -65,8 +65,7 @@ class ArrayGenerator : public ::testing::Test { } }; -TYPED_TEST_SUITE(ArrayGenerator, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(ArrayGenerator, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(ArrayGenerator, OutputHasCorrectSize) diff --git a/core/test/utils/matrix_generator_test.cpp b/core/test/utils/matrix_generator_test.cpp index 61710540e24..c41a20b0efb 100644 --- a/core/test/utils/matrix_generator_test.cpp +++ b/core/test/utils/matrix_generator_test.cpp @@ -131,8 +131,7 @@ class MatrixGenerator : public ::testing::Test { } }; -TYPED_TEST_SUITE(MatrixGenerator, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(MatrixGenerator, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(MatrixGenerator, OutputHasCorrectSize) diff --git a/core/test/utils/matrix_utils_test.cpp b/core/test/utils/matrix_utils_test.cpp index f742d4561a2..3f692edeed6 100644 --- a/core/test/utils/matrix_utils_test.cpp +++ b/core/test/utils/matrix_utils_test.cpp @@ -41,8 +41,7 @@ class MatrixUtils : public ::testing::Test { mtx_data rectangular_data; }; -TYPED_TEST_SUITE(MatrixUtils, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(MatrixUtils, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(MatrixUtils, MakeSymmetricThrowsError) diff --git a/core/test/utils/unsort_matrix_test.cpp b/core/test/utils/unsort_matrix_test.cpp index 40ec65b08db..5d2f88f982a 100644 --- a/core/test/utils/unsort_matrix_test.cpp +++ b/core/test/utils/unsort_matrix_test.cpp @@ -119,7 +119,7 @@ class UnsortMatrix : public ::testing::Test { std::unique_ptr coo_empty; }; -TYPED_TEST_SUITE(UnsortMatrix, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(UnsortMatrix, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/core/test/utils/value_generator_test.cpp b/core/test/utils/value_generator_test.cpp index 57473c41b6e..829c9b54be2 100644 --- a/core/test/utils/value_generator_test.cpp +++ b/core/test/utils/value_generator_test.cpp @@ -59,8 +59,7 @@ class ValueGenerator : public ::testing::Test { } }; -TYPED_TEST_SUITE(ValueGenerator, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(ValueGenerator, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(ValueGenerator, OutputHasCorrectAverageAndDeviation) diff --git a/cuda/matrix/fft_kernels.cu b/cuda/matrix/fft_kernels.cu index 80e938fbbff..23105f3e7ae 100644 --- a/cuda/matrix/fft_kernels.cu +++ b/cuda/matrix/fft_kernels.cu @@ -120,7 +120,7 @@ void fft(std::shared_ptr exec, handle.execute(b->get_const_values(), x->get_values(), inverse); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT_KERNEL); template @@ -136,7 +136,7 @@ void fft2(std::shared_ptr exec, handle.execute(b->get_const_values(), x->get_values(), inverse); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT2_KERNEL); template @@ -152,7 +152,7 @@ void fft3(std::shared_ptr exec, handle.execute(b->get_const_values(), x->get_values(), inverse); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT3_KERNEL); } // namespace fft diff --git a/cuda/preconditioner/batch_jacobi_kernels.cu b/cuda/preconditioner/batch_jacobi_kernels.cu index 30bbc8fd2e7..2ac5717308a 100644 --- a/cuda/preconditioner/batch_jacobi_kernels.cu +++ b/cuda/preconditioner/batch_jacobi_kernels.cu @@ -99,7 +99,7 @@ void extract_common_blocks_pattern( blocks_pattern); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_EXTRACT_PATTERN_KERNEL); @@ -156,7 +156,7 @@ void compute_block_jacobi( cumulative_block_storage, block_pointers, blocks_pattern, blocks); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_KERNEL); diff --git a/cuda/solver/batch_bicgstab_kernels.cu b/cuda/solver/batch_bicgstab_kernels.cu index 52398093ac2..b702f1d7bbd 100644 --- a/cuda/solver/batch_bicgstab_kernels.cu +++ b/cuda/solver/batch_bicgstab_kernels.cu @@ -152,7 +152,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_BICGSTAB_APPLY_KERNEL_WRAPPER); diff --git a/cuda/solver/batch_cg_kernels.cu b/cuda/solver/batch_cg_kernels.cu index d3d93a0af6d..77068a10e94 100644 --- a/cuda/solver/batch_cg_kernels.cu +++ b/cuda/solver/batch_cg_kernels.cu @@ -133,7 +133,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_CG_APPLY_KERNEL_WRAPPER); diff --git a/cuda/solver/lower_trs_kernels.cu b/cuda/solver/lower_trs_kernels.cu index 7832cf9e4c5..b37f6536b0f 100644 --- a/cuda/solver/lower_trs_kernels.cu +++ b/cuda/solver/lower_trs_kernels.cu @@ -50,7 +50,7 @@ void generate(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_GENERATE_KERNEL); @@ -70,7 +70,7 @@ void solve(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_SOLVE_KERNEL); diff --git a/cuda/solver/upper_trs_kernels.cu b/cuda/solver/upper_trs_kernels.cu index b6828bc0c92..eb7d8386083 100644 --- a/cuda/solver/upper_trs_kernels.cu +++ b/cuda/solver/upper_trs_kernels.cu @@ -50,7 +50,7 @@ void generate(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_GENERATE_KERNEL); @@ -70,7 +70,7 @@ void solve(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); diff --git a/cuda/test/base/array.cpp b/cuda/test/base/array.cpp index 7294cbff29f..db7d4c54536 100644 --- a/cuda/test/base/array.cpp +++ b/cuda/test/base/array.cpp @@ -32,8 +32,7 @@ class Array : public CudaTestFixture { gko::array x; }; -TYPED_TEST_SUITE(Array, gko::test::ComplexAndPODTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Array, gko::test::ComplexAndPODTypes, TypenameNameGenerator); TYPED_TEST(Array, CanCreateTemporaryCloneOnDifferentExecutor) diff --git a/dpcpp/base/batch_multi_vector_kernels.dp.cpp b/dpcpp/base/batch_multi_vector_kernels.dp.cpp index 3dff550bc22..1db2b4acf84 100644 --- a/dpcpp/base/batch_multi_vector_kernels.dp.cpp +++ b/dpcpp/base/batch_multi_vector_kernels.dp.cpp @@ -104,7 +104,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_SCALE_KERNEL); @@ -163,7 +163,7 @@ void add_scaled(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_ADD_SCALED_KERNEL); @@ -232,7 +232,7 @@ void compute_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_DOT_KERNEL); @@ -277,7 +277,7 @@ void compute_conj_dot(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_CONJ_DOT_KERNEL); @@ -336,7 +336,7 @@ void compute_norm2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_NORM2_KERNEL); @@ -374,8 +374,7 @@ void copy(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); } // namespace batch_multi_vector diff --git a/dpcpp/base/device_matrix_data_kernels.dp.cpp b/dpcpp/base/device_matrix_data_kernels.dp.cpp index ab9cf9ebc7a..2c26bfeeba2 100644 --- a/dpcpp/base/device_matrix_data_kernels.dp.cpp +++ b/dpcpp/base/device_matrix_data_kernels.dp.cpp @@ -52,7 +52,7 @@ void remove_zeros(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_REMOVE_ZEROS_KERNEL); @@ -97,7 +97,7 @@ void sum_duplicates(std::shared_ptr exec, size_type, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SUM_DUPLICATES_KERNEL); @@ -115,7 +115,7 @@ void sort_row_major(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SORT_ROW_MAJOR_KERNEL); diff --git a/dpcpp/components/atomic.dp.hpp b/dpcpp/components/atomic.dp.hpp index 8258c6924e1..68a1232849f 100644 --- a/dpcpp/components/atomic.dp.hpp +++ b/dpcpp/components/atomic.dp.hpp @@ -173,7 +173,7 @@ GKO_BIND_ATOMIC_HELPER_STRUCTURE(unsigned int); #undef GKO_BIND_ATOMIC_HELPER_STRUCTURE -#define GKO_BIND_ATOMIC_HELPER_VALUETYPE(ValueType) \ +#define GKO_BIND_ATOMIC_HELPER_VALUETYPE_BASE(ValueType) \ template \ struct atomic_helper> { \ __dpct_inline__ static ValueType atomic_add( \ @@ -183,9 +183,9 @@ GKO_BIND_ATOMIC_HELPER_STRUCTURE(unsigned int); } \ }; -GKO_BIND_ATOMIC_HELPER_VALUETYPE(int); -GKO_BIND_ATOMIC_HELPER_VALUETYPE(unsigned int); -GKO_BIND_ATOMIC_HELPER_VALUETYPE(unsigned long long int); +GKO_BIND_ATOMIC_HELPER_VALUETYPE_BASE(int); +GKO_BIND_ATOMIC_HELPER_VALUETYPE_BASE(unsigned int); +GKO_BIND_ATOMIC_HELPER_VALUETYPE_BASE(unsigned long long int); #undef GKO_BIND_ATOMIC_HELPER_VALUETYPE @@ -241,7 +241,7 @@ GKO_BIND_ATOMIC_MAX_STRUCTURE(unsigned int); #undef GKO_BIND_ATOMIC_MAX_STRUCTURE -#define GKO_BIND_ATOMIC_MAX_VALUETYPE(ValueType) \ +#define GKO_BIND_ATOMIC_MAX_VALUETYPE_BASE(ValueType) \ template \ struct atomic_max_helper> { \ @@ -252,9 +252,9 @@ GKO_BIND_ATOMIC_MAX_STRUCTURE(unsigned int); } \ }; -GKO_BIND_ATOMIC_MAX_VALUETYPE(int); -GKO_BIND_ATOMIC_MAX_VALUETYPE(unsigned int); -GKO_BIND_ATOMIC_MAX_VALUETYPE(unsigned long long int); +GKO_BIND_ATOMIC_MAX_VALUETYPE_BASE(int); +GKO_BIND_ATOMIC_MAX_VALUETYPE_BASE(unsigned int); +GKO_BIND_ATOMIC_MAX_VALUETYPE_BASE(unsigned long long int); #undef GKO_BIND_ATOMIC_MAX_VALUETYPE diff --git a/dpcpp/distributed/assembly_kernels.dp.cpp b/dpcpp/distributed/assembly_kernels.dp.cpp index e0cc872b783..3f89c45ff1f 100644 --- a/dpcpp/distributed/assembly_kernels.dp.cpp +++ b/dpcpp/distributed/assembly_kernels.dp.cpp @@ -23,7 +23,7 @@ void count_non_owning_entries( array& send_positions, array& original_positions) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_COUNT_NON_OWNING_ENTRIES); diff --git a/dpcpp/distributed/matrix_kernels.dp.cpp b/dpcpp/distributed/matrix_kernels.dp.cpp index 47adaaeca59..ec9bc367e5a 100644 --- a/dpcpp/distributed/matrix_kernels.dp.cpp +++ b/dpcpp/distributed/matrix_kernels.dp.cpp @@ -27,7 +27,7 @@ void separate_local_nonlocal( array& non_local_col_idxs, array& non_local_values) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_SEPARATE_LOCAL_NONLOCAL); diff --git a/dpcpp/distributed/vector_kernels.dp.cpp b/dpcpp/distributed/vector_kernels.dp.cpp index fdc5dd2e52d..4f451e2f76b 100644 --- a/dpcpp/distributed/vector_kernels.dp.cpp +++ b/dpcpp/distributed/vector_kernels.dp.cpp @@ -22,7 +22,7 @@ void build_local( comm_index_type local_part, matrix::Dense* local_mtx) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_DISTRIBUTED_VECTOR_BUILD_LOCAL); diff --git a/dpcpp/factorization/cholesky_kernels.dp.cpp b/dpcpp/factorization/cholesky_kernels.dp.cpp index dfef9becf19..5cd8396be17 100644 --- a/dpcpp/factorization/cholesky_kernels.dp.cpp +++ b/dpcpp/factorization/cholesky_kernels.dp.cpp @@ -89,7 +89,7 @@ void symbolic_count(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_COUNT); @@ -138,7 +138,7 @@ void symbolic_factorize( }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_FACTORIZE); @@ -148,7 +148,7 @@ void forest_from_factor(std::shared_ptr exec, gko::factorization::elimination_forest& forest) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_FOREST_FROM_FACTOR); @@ -161,8 +161,7 @@ void initialize(std::shared_ptr exec, IndexType* transpose_idxs, matrix::Csr* factors) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_INITIALIZE); template @@ -174,8 +173,7 @@ void factorize(std::shared_ptr exec, matrix::Csr* factors, bool full_fillin, array& tmp_storage) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_FACTORIZE); } // namespace cholesky diff --git a/dpcpp/factorization/factorization_kernels.dp.cpp b/dpcpp/factorization/factorization_kernels.dp.cpp index 75f7250f569..070bd8f86ee 100644 --- a/dpcpp/factorization/factorization_kernels.dp.cpp +++ b/dpcpp/factorization/factorization_kernels.dp.cpp @@ -484,7 +484,7 @@ void add_diagonal_elements(std::shared_ptr exec, mtx_builder.get_col_idx_array() = std::move(new_col_idxs); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_ADD_DIAGONAL_ELEMENTS_KERNEL); @@ -512,7 +512,7 @@ void initialize_row_ptrs_l_u( components::prefix_sum_nonnegative(exec, u_row_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_U_KERNEL); @@ -537,7 +537,7 @@ void initialize_l_u(std::shared_ptr exec, csr_u->get_col_idxs(), csr_u->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_U_KERNEL); @@ -563,7 +563,7 @@ void initialize_row_ptrs_l( components::prefix_sum_nonnegative(exec, l_row_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_KERNEL); @@ -586,7 +586,7 @@ void initialize_l(std::shared_ptr exec, as_device_type(csr_l->get_values()), diag_sqrt); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_KERNEL); diff --git a/dpcpp/factorization/ic_kernels.dp.cpp b/dpcpp/factorization/ic_kernels.dp.cpp index 4968e1da538..b2626e7876a 100644 --- a/dpcpp/factorization/ic_kernels.dp.cpp +++ b/dpcpp/factorization/ic_kernels.dp.cpp @@ -20,7 +20,7 @@ template void sparselib_ic(std::shared_ptr exec, matrix::Csr* m) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_IC_SPARSELIB_IC_KERNEL); diff --git a/dpcpp/factorization/ilu_kernels.dp.cpp b/dpcpp/factorization/ilu_kernels.dp.cpp index d9ea7776f3c..847547f7706 100644 --- a/dpcpp/factorization/ilu_kernels.dp.cpp +++ b/dpcpp/factorization/ilu_kernels.dp.cpp @@ -20,7 +20,7 @@ template void sparselib_ilu(std::shared_ptr exec, matrix::Csr* m) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ILU_SPARSELIB_ILU_KERNEL); diff --git a/dpcpp/factorization/lu_kernels.dp.cpp b/dpcpp/factorization/lu_kernels.dp.cpp index e651944bb1f..bd26b1f79ca 100644 --- a/dpcpp/factorization/lu_kernels.dp.cpp +++ b/dpcpp/factorization/lu_kernels.dp.cpp @@ -32,8 +32,7 @@ void initialize(std::shared_ptr exec, const int32* factor_lookup_storage, IndexType* diag_idxs, matrix::Csr* factors) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_INITIALIZE); template @@ -43,8 +42,7 @@ void factorize(std::shared_ptr exec, matrix::Csr* factors, bool full_fillin, array& tmp_storage) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_FACTORIZE); template diff --git a/dpcpp/factorization/par_ic_kernels.dp.cpp b/dpcpp/factorization/par_ic_kernels.dp.cpp index 7c60faabc38..b4c6ae03942 100644 --- a/dpcpp/factorization/par_ic_kernels.dp.cpp +++ b/dpcpp/factorization/par_ic_kernels.dp.cpp @@ -132,7 +132,7 @@ void init_factor(std::shared_ptr exec, l_row_ptrs, l_vals, num_rows); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_INIT_FACTOR_KERNEL); @@ -155,7 +155,7 @@ void compute_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_COMPUTE_FACTOR_KERNEL); diff --git a/dpcpp/factorization/par_ict_kernels.dp.cpp b/dpcpp/factorization/par_ict_kernels.dp.cpp index 8e505053aaf..284da9aca43 100644 --- a/dpcpp/factorization/par_ict_kernels.dp.cpp +++ b/dpcpp/factorization/par_ict_kernels.dp.cpp @@ -486,7 +486,7 @@ void add_candidates(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, llh, a, l, l_new); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_ADD_CANDIDATES_KERNEL); @@ -508,7 +508,7 @@ void compute_factor(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, a, l, l_coo); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_COMPUTE_FACTOR_KERNEL); diff --git a/dpcpp/factorization/par_ilu_kernels.dp.cpp b/dpcpp/factorization/par_ilu_kernels.dp.cpp index b8df4266672..91d2049e361 100644 --- a/dpcpp/factorization/par_ilu_kernels.dp.cpp +++ b/dpcpp/factorization/par_ilu_kernels.dp.cpp @@ -129,7 +129,7 @@ void compute_l_u_factors(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILU_COMPUTE_L_U_FACTORS_KERNEL); diff --git a/dpcpp/factorization/par_ilut_approx_filter_kernel.dp.cpp b/dpcpp/factorization/par_ilut_approx_filter_kernel.dp.cpp index 417a2d6f3be..f18566d475b 100644 --- a/dpcpp/factorization/par_ilut_approx_filter_kernel.dp.cpp +++ b/dpcpp/factorization/par_ilut_approx_filter_kernel.dp.cpp @@ -167,7 +167,7 @@ void threshold_filter_approx(std::shared_ptr exec, &threshold, m_out, m_out_coo); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_APPROX_KERNEL); diff --git a/dpcpp/factorization/par_ilut_filter_kernel.dp.cpp b/dpcpp/factorization/par_ilut_filter_kernel.dp.cpp index 9e6d8909227..8fdb729f405 100644 --- a/dpcpp/factorization/par_ilut_filter_kernel.dp.cpp +++ b/dpcpp/factorization/par_ilut_filter_kernel.dp.cpp @@ -123,7 +123,7 @@ void threshold_filter(std::shared_ptr exec, m_out_coo, lower); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_KERNEL); diff --git a/dpcpp/factorization/par_ilut_kernels.dp.cpp b/dpcpp/factorization/par_ilut_kernels.dp.cpp index 9e9b951dd42..c491243f610 100644 --- a/dpcpp/factorization/par_ilut_kernels.dp.cpp +++ b/dpcpp/factorization/par_ilut_kernels.dp.cpp @@ -40,7 +40,7 @@ void threshold_select(std::shared_ptr exec, array>&, remove_complex& threshold) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_SELECT_KERNEL); @@ -66,7 +66,7 @@ void threshold_filter(std::shared_ptr exec, matrix::Coo* m_out_coo, bool) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_KERNEL); @@ -82,7 +82,7 @@ void threshold_filter_approx( matrix::Csr* m_out, matrix::Coo* m_out_coo) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_APPROX_KERNEL); @@ -96,7 +96,7 @@ void compute_l_u_factors(std::shared_ptr exec, matrix::Csr* u_csc) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_COMPUTE_LU_FACTORS_KERNEL); @@ -110,7 +110,7 @@ void add_candidates(std::shared_ptr exec, matrix::Csr* u_new) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_ADD_CANDIDATES_KERNEL); diff --git a/dpcpp/factorization/par_ilut_select_common.dp.cpp b/dpcpp/factorization/par_ilut_select_common.dp.cpp index f20ae4e280b..1073751d2bb 100644 --- a/dpcpp/factorization/par_ilut_select_common.dp.cpp +++ b/dpcpp/factorization/par_ilut_select_common.dp.cpp @@ -67,7 +67,7 @@ void sampleselect_count(std::shared_ptr exec, unsigned char* oracles, IndexType* partial_counts, \ IndexType* total_counts) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(DECLARE_SSSS_COUNT); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(DECLARE_SSSS_COUNT); template diff --git a/dpcpp/factorization/par_ilut_select_kernel.dp.cpp b/dpcpp/factorization/par_ilut_select_kernel.dp.cpp index f545063ff26..c2d4b962a13 100644 --- a/dpcpp/factorization/par_ilut_select_kernel.dp.cpp +++ b/dpcpp/factorization/par_ilut_select_kernel.dp.cpp @@ -150,7 +150,7 @@ void threshold_select(std::shared_ptr exec, threshold = exec->copy_val_to_host(out_ptr); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_SELECT_KERNEL); diff --git a/dpcpp/factorization/par_ilut_spgeam_kernel.dp.cpp b/dpcpp/factorization/par_ilut_spgeam_kernel.dp.cpp index 9add72baff8..e2312e2c3e8 100644 --- a/dpcpp/factorization/par_ilut_spgeam_kernel.dp.cpp +++ b/dpcpp/factorization/par_ilut_spgeam_kernel.dp.cpp @@ -432,7 +432,7 @@ void add_candidates(std::shared_ptr exec, u_new); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_ADD_CANDIDATES_KERNEL); diff --git a/dpcpp/factorization/par_ilut_sweep_kernel.dp.cpp b/dpcpp/factorization/par_ilut_sweep_kernel.dp.cpp index 7b18458532b..5decf02ff76 100644 --- a/dpcpp/factorization/par_ilut_sweep_kernel.dp.cpp +++ b/dpcpp/factorization/par_ilut_sweep_kernel.dp.cpp @@ -219,7 +219,7 @@ void compute_l_u_factors(std::shared_ptr exec, u_csc); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_COMPUTE_LU_FACTORS_KERNEL); diff --git a/dpcpp/matrix/batch_csr_kernels.dp.cpp b/dpcpp/matrix/batch_csr_kernels.dp.cpp index 736025075fd..b214f285a4f 100644 --- a/dpcpp/matrix/batch_csr_kernels.dp.cpp +++ b/dpcpp/matrix/batch_csr_kernels.dp.cpp @@ -75,7 +75,7 @@ void simple_apply(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SIMPLE_APPLY_KERNEL); @@ -129,7 +129,7 @@ void advanced_apply(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADVANCED_APPLY_KERNEL); @@ -175,7 +175,7 @@ void scale(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SCALE_KERNEL); @@ -217,7 +217,7 @@ void add_scaled_identity(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADD_SCALED_IDENTITY_KERNEL); diff --git a/dpcpp/matrix/batch_dense_kernels.dp.cpp b/dpcpp/matrix/batch_dense_kernels.dp.cpp index bb8272a457c..62b81bbb2a8 100644 --- a/dpcpp/matrix/batch_dense_kernels.dp.cpp +++ b/dpcpp/matrix/batch_dense_kernels.dp.cpp @@ -78,7 +78,7 @@ void simple_apply(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_SIMPLE_APPLY_KERNEL); @@ -131,7 +131,7 @@ void advanced_apply(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADVANCED_APPLY_KERNEL); @@ -175,8 +175,7 @@ void scale(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); template @@ -218,8 +217,7 @@ void scale_add(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); template @@ -260,7 +258,7 @@ void add_scaled_identity(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADD_SCALED_IDENTITY_KERNEL); diff --git a/dpcpp/matrix/batch_ell_kernels.dp.cpp b/dpcpp/matrix/batch_ell_kernels.dp.cpp index f598d273205..10393057ee7 100644 --- a/dpcpp/matrix/batch_ell_kernels.dp.cpp +++ b/dpcpp/matrix/batch_ell_kernels.dp.cpp @@ -75,7 +75,7 @@ void simple_apply(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SIMPLE_APPLY_KERNEL); @@ -129,7 +129,7 @@ void advanced_apply(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADVANCED_APPLY_KERNEL); @@ -172,7 +172,7 @@ void scale(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SCALE_KERNEL); @@ -214,7 +214,7 @@ void add_scaled_identity(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADD_SCALED_IDENTITY_KERNEL); diff --git a/dpcpp/matrix/coo_kernels.dp.cpp b/dpcpp/matrix/coo_kernels.dp.cpp index 3882a714104..32cd1f3ed7f 100644 --- a/dpcpp/matrix/coo_kernels.dp.cpp +++ b/dpcpp/matrix/coo_kernels.dp.cpp @@ -261,8 +261,7 @@ void spmv(std::shared_ptr exec, spmv2(exec, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV_KERNEL); template @@ -277,7 +276,7 @@ void advanced_spmv(std::shared_ptr exec, advanced_spmv2(exec, alpha, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV_KERNEL); @@ -321,8 +320,7 @@ void spmv2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV2_KERNEL); template @@ -369,7 +367,7 @@ void advanced_spmv2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV2_KERNEL); diff --git a/dpcpp/matrix/csr_kernels.dp.cpp b/dpcpp/matrix/csr_kernels.dp.cpp index d54df253a9b..f970d62679b 100644 --- a/dpcpp/matrix/csr_kernels.dp.cpp +++ b/dpcpp/matrix/csr_kernels.dp.cpp @@ -1558,7 +1558,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_SPMV_KERNEL); @@ -1631,7 +1631,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL); @@ -1711,7 +1711,7 @@ void calculate_nonzeros_per_row_in_span( row_nnz->get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_SPAN_KERNEL); @@ -1723,7 +1723,7 @@ void calculate_nonzeros_per_row_in_index_set( const gko::index_set& col_index_set, IndexType* row_nnz) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_INDEX_SET_KERNEL); @@ -1751,7 +1751,7 @@ void compute_submatrix(std::shared_ptr exec, as_device_type(result->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_KERNEL); @@ -1763,7 +1763,7 @@ void compute_submatrix_from_index_set( const gko::index_set& col_index_set, matrix::Csr* result) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_FROM_INDEX_SET_KERNEL); @@ -2028,8 +2028,7 @@ void spgemm(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEMM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEMM_KERNEL); template @@ -2165,7 +2164,7 @@ void advanced_spgemm(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADVANCED_SPGEMM_KERNEL); @@ -2254,8 +2253,7 @@ void spgeam(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEAM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEAM_KERNEL); template @@ -2276,7 +2274,7 @@ void fill_in_dense(std::shared_ptr exec, as_device_type(result->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_FILL_IN_DENSE_KERNEL); @@ -2286,7 +2284,7 @@ void convert_to_fbcsr(std::shared_ptr exec, array& row_ptrs, array& col_idxs, array& values) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_FBCSR_KERNEL); @@ -2349,8 +2347,7 @@ void transpose(std::shared_ptr exec, generic_transpose(exec, orig, trans); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_TRANSPOSE_KERNEL); template @@ -2361,7 +2358,7 @@ void conj_transpose(std::shared_ptr exec, generic_transpose(exec, orig, trans); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONJ_TRANSPOSE_KERNEL); @@ -2387,7 +2384,7 @@ void inv_symm_permute(std::shared_ptr exec, permuted->get_col_idxs(), as_device_type(permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_PERMUTE_KERNEL); @@ -2414,7 +2411,7 @@ void inv_nonsymm_permute(std::shared_ptr exec, as_device_type(permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_PERMUTE_KERNEL); @@ -2441,7 +2438,7 @@ void row_permute(std::shared_ptr exec, as_device_type(row_permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_PERMUTE_KERNEL); @@ -2468,7 +2465,7 @@ void inv_row_permute(std::shared_ptr exec, as_device_type(row_permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_PERMUTE_KERNEL); @@ -2495,7 +2492,7 @@ void inv_symm_scale_permute(std::shared_ptr exec, as_device_type(permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_SCALE_PERMUTE_KERNEL); @@ -2525,7 +2522,7 @@ void inv_nonsymm_scale_permute(std::shared_ptr exec, permuted->get_col_idxs(), as_device_type(permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_SCALE_PERMUTE_KERNEL); @@ -2552,7 +2549,7 @@ void row_scale_permute(std::shared_ptr exec, as_device_type(row_permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_SCALE_PERMUTE_KERNEL); @@ -2579,7 +2576,7 @@ void inv_row_scale_permute(std::shared_ptr exec, as_device_type(row_permuted->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_SCALE_PERMUTE_KERNEL); @@ -2637,7 +2634,7 @@ void sort_by_column_index(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_SORT_BY_COLUMN_INDEX); @@ -2669,7 +2666,7 @@ void is_sorted_by_column_index( *is_sorted = get_element(is_sorted_device_array, 0); }; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_IS_SORTED_BY_COLUMN_INDEX); @@ -2693,8 +2690,7 @@ void extract_diagonal(std::shared_ptr exec, orig_row_ptrs, orig_col_idxs, diag_values); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_EXTRACT_DIAGONAL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_EXTRACT_DIAGONAL); template @@ -2718,7 +2714,7 @@ void check_diagonal_entries_exist(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CHECK_DIAGONAL_ENTRIES_EXIST); @@ -2742,7 +2738,7 @@ void add_scaled_identity(std::shared_ptr exec, as_device_type(mtx->get_values())); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADD_SCALED_IDENTITY_KERNEL); diff --git a/dpcpp/matrix/dense_kernels.dp.cpp b/dpcpp/matrix/dense_kernels.dp.cpp index a36d30cf8e7..f4654e7ca06 100644 --- a/dpcpp/matrix/dense_kernels.dp.cpp +++ b/dpcpp/matrix/dense_kernels.dp.cpp @@ -181,7 +181,7 @@ void compute_dot_dispatch(std::shared_ptr exec, compute_dot(exec, x, y, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_DOT_DISPATCH_KERNEL); @@ -196,7 +196,7 @@ void compute_conj_dot_dispatch(std::shared_ptr exec, compute_conj_dot(exec, x, y, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_DISPATCH_KERNEL); @@ -210,7 +210,7 @@ void compute_norm2_dispatch(std::shared_ptr exec, compute_norm2(exec, x, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_NORM2_DISPATCH_KERNEL); @@ -241,8 +241,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); template @@ -273,7 +272,7 @@ void apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_APPLY_KERNEL); template @@ -308,7 +307,7 @@ void convert_to_coo(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_COO_KERNEL); @@ -342,7 +341,7 @@ void convert_to_csr(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_CSR_KERNEL); @@ -381,7 +380,7 @@ void convert_to_ell(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_ELL_KERNEL); @@ -391,7 +390,7 @@ void convert_to_fbcsr(std::shared_ptr exec, matrix::Fbcsr* result) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_FBCSR_KERNEL); @@ -401,7 +400,7 @@ void count_nonzero_blocks_per_row(std::shared_ptr exec, int bs, IndexType* result) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COUNT_NONZERO_BLOCKS_PER_ROW_KERNEL); @@ -457,7 +456,7 @@ void convert_to_hybrid(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_HYBRID_KERNEL); @@ -500,7 +499,7 @@ void convert_to_sellp(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SELLP_KERNEL); @@ -532,7 +531,7 @@ void convert_to_sparsity_csr(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SPARSITY_CSR_KERNEL); @@ -554,8 +553,7 @@ void transpose(std::shared_ptr exec, queue, orig, trans); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); template @@ -583,8 +581,7 @@ void conj_transpose(std::shared_ptr exec, as_device_type(trans->get_values()), trans->get_stride()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); } // namespace dense diff --git a/dpcpp/matrix/diagonal_kernels.dp.cpp b/dpcpp/matrix/diagonal_kernels.dp.cpp index 7bc42413330..b63489a50ba 100644 --- a/dpcpp/matrix/diagonal_kernels.dp.cpp +++ b/dpcpp/matrix/diagonal_kernels.dp.cpp @@ -84,7 +84,7 @@ void apply_to_csr(std::shared_ptr exec, inverse); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_APPLY_TO_CSR_KERNEL); diff --git a/dpcpp/matrix/ell_kernels.dp.cpp b/dpcpp/matrix/ell_kernels.dp.cpp index cd3cbdd190e..b9c1e6d3933 100644 --- a/dpcpp/matrix/ell_kernels.dp.cpp +++ b/dpcpp/matrix/ell_kernels.dp.cpp @@ -433,7 +433,7 @@ void spmv(std::shared_ptr exec, exec, num_worker_per_row, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_SPMV_KERNEL); @@ -469,7 +469,7 @@ void advanced_spmv(std::shared_ptr exec, exec, num_worker_per_row, a, b, c, alpha, beta); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_ADVANCED_SPMV_KERNEL); diff --git a/dpcpp/matrix/fbcsr_kernels.dp.cpp b/dpcpp/matrix/fbcsr_kernels.dp.cpp index 7d53b862d67..e9eb02f5fb2 100644 --- a/dpcpp/matrix/fbcsr_kernels.dp.cpp +++ b/dpcpp/matrix/fbcsr_kernels.dp.cpp @@ -32,8 +32,7 @@ void spmv(std::shared_ptr exec, const matrix::Dense* b, matrix::Dense* c) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_SPMV_KERNEL); template @@ -44,7 +43,7 @@ void advanced_spmv(std::shared_ptr exec, const matrix::Dense* beta, matrix::Dense* c) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_ADVANCED_SPMV_KERNEL); @@ -55,7 +54,7 @@ void fill_in_matrix_data(std::shared_ptr exec, array& col_idxs, array& values) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_MATRIX_DATA_KERNEL); @@ -64,7 +63,7 @@ void fill_in_dense(std::shared_ptr exec, const matrix::Fbcsr* source, matrix::Dense* result) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_DENSE_KERNEL); @@ -74,7 +73,7 @@ void convert_to_csr(const std::shared_ptr exec, matrix::Csr* result) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONVERT_TO_CSR_KERNEL); @@ -83,7 +82,7 @@ void transpose(std::shared_ptr exec, const matrix::Fbcsr* orig, matrix::Fbcsr* trans) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_TRANSPOSE_KERNEL); @@ -93,7 +92,7 @@ void conj_transpose(std::shared_ptr exec, matrix::Fbcsr* trans) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONJ_TRANSPOSE_KERNEL); @@ -103,7 +102,7 @@ void is_sorted_by_column_index( const matrix::Fbcsr* to_check, bool* is_sorted) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_IS_SORTED_BY_COLUMN_INDEX); @@ -112,7 +111,7 @@ void sort_by_column_index(const std::shared_ptr exec, matrix::Fbcsr* to_sort) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_SORT_BY_COLUMN_INDEX); @@ -121,7 +120,7 @@ void extract_diagonal(std::shared_ptr exec, const matrix::Fbcsr* orig, matrix::Diagonal* diag) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_EXTRACT_DIAGONAL); diff --git a/dpcpp/matrix/fft_kernels.dp.cpp b/dpcpp/matrix/fft_kernels.dp.cpp index 83c085e8d15..7ce02692d83 100644 --- a/dpcpp/matrix/fft_kernels.dp.cpp +++ b/dpcpp/matrix/fft_kernels.dp.cpp @@ -26,7 +26,7 @@ void fft(std::shared_ptr exec, matrix::Dense>* x, bool inverse, array& buffer) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT_KERNEL); template @@ -36,7 +36,7 @@ void fft2(std::shared_ptr exec, size_type size2, bool inverse, array& buffer) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT2_KERNEL); template @@ -46,7 +46,7 @@ void fft3(std::shared_ptr exec, size_type size2, size_type size3, bool inverse, array& buffer) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT3_KERNEL); } // namespace fft diff --git a/dpcpp/matrix/sellp_kernels.dp.cpp b/dpcpp/matrix/sellp_kernels.dp.cpp index c8b80e77ea9..5dee98d38a6 100644 --- a/dpcpp/matrix/sellp_kernels.dp.cpp +++ b/dpcpp/matrix/sellp_kernels.dp.cpp @@ -119,8 +119,7 @@ void spmv(std::shared_ptr exec, b->get_const_values(), c->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_SPMV_KERNEL); template @@ -143,7 +142,7 @@ void advanced_spmv(std::shared_ptr exec, beta->get_const_values(), c->get_values()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_ADVANCED_SPMV_KERNEL); diff --git a/dpcpp/matrix/sparsity_csr_kernels.dp.cpp b/dpcpp/matrix/sparsity_csr_kernels.dp.cpp index 10744ac3b59..d2f89964e75 100644 --- a/dpcpp/matrix/sparsity_csr_kernels.dp.cpp +++ b/dpcpp/matrix/sparsity_csr_kernels.dp.cpp @@ -243,7 +243,7 @@ void spmv(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SPMV_KERNEL); @@ -261,7 +261,7 @@ void advanced_spmv(std::shared_ptr exec, syn::value_list(), syn::type_list<>(), exec, a, b, c, alpha, beta); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_ADVANCED_SPMV_KERNEL); @@ -271,7 +271,7 @@ void transpose(std::shared_ptr exec, matrix::SparsityCsr* trans) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_TRANSPOSE_KERNEL); @@ -296,7 +296,7 @@ void sort_by_column_index(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SORT_BY_COLUMN_INDEX); @@ -330,7 +330,7 @@ void is_sorted_by_column_index( cpu_array = gpu_array; }; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_IS_SORTED_BY_COLUMN_INDEX); diff --git a/dpcpp/multigrid/pgm_kernels.dp.cpp b/dpcpp/multigrid/pgm_kernels.dp.cpp index e645ba3bc6e..a9148c54ff4 100644 --- a/dpcpp/multigrid/pgm_kernels.dp.cpp +++ b/dpcpp/multigrid/pgm_kernels.dp.cpp @@ -56,8 +56,7 @@ void sort_row_major(std::shared_ptr exec, size_type nnz, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PGM_SORT_ROW_MAJOR); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM_SORT_ROW_MAJOR); template @@ -90,7 +89,7 @@ void compute_coarse_coo(std::shared_ptr exec, [](auto a, auto b) { return a + b; }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_COMPUTE_COARSE_COO); diff --git a/dpcpp/preconditioner/batch_jacobi_kernels.dp.cpp b/dpcpp/preconditioner/batch_jacobi_kernels.dp.cpp index 3a63466ef5d..7721359716c 100644 --- a/dpcpp/preconditioner/batch_jacobi_kernels.dp.cpp +++ b/dpcpp/preconditioner/batch_jacobi_kernels.dp.cpp @@ -104,7 +104,7 @@ void extract_common_blocks_pattern( }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_EXTRACT_PATTERN_KERNEL); @@ -173,7 +173,7 @@ void compute_block_jacobi( cumulative_block_storage, block_pointers, blocks_pattern, blocks, exec); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_KERNEL); diff --git a/dpcpp/preconditioner/isai_kernels.dp.cpp b/dpcpp/preconditioner/isai_kernels.dp.cpp index 47ff2938c6c..cbf9647b92c 100644 --- a/dpcpp/preconditioner/isai_kernels.dp.cpp +++ b/dpcpp/preconditioner/isai_kernels.dp.cpp @@ -648,7 +648,7 @@ void generate_tri_inverse(std::shared_ptr exec, components::prefix_sum_nonnegative(exec, excess_nz_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_TRI_INVERSE_KERNEL); @@ -675,7 +675,7 @@ void generate_general_inverse(std::shared_ptr exec, components::prefix_sum_nonnegative(exec, excess_nz_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_GENERAL_INVERSE_KERNEL); @@ -706,7 +706,7 @@ void generate_excess_system(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_EXCESS_SYSTEM_KERNEL); @@ -725,7 +725,7 @@ void scale_excess_solution(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCALE_EXCESS_SOLUTION_KERNEL); @@ -749,7 +749,7 @@ void scatter_excess_solution(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCATTER_EXCESS_SOLUTION_KERNEL); diff --git a/dpcpp/preconditioner/jacobi_advanced_apply_instantiate.inc.dp.cpp b/dpcpp/preconditioner/jacobi_advanced_apply_instantiate.inc.dp.cpp index 01a244f34af..1126421fde7 100644 --- a/dpcpp/preconditioner/jacobi_advanced_apply_instantiate.inc.dp.cpp +++ b/dpcpp/preconditioner/jacobi_advanced_apply_instantiate.inc.dp.cpp @@ -201,7 +201,7 @@ void advanced_apply( const preconditioner::block_interleaved_storage_scheme&, \ const ValueType*, const ValueType*, size_type, ValueType*, size_type) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( DECLARE_JACOBI_ADVANCED_APPLY_INSTANTIATION); diff --git a/dpcpp/preconditioner/jacobi_advanced_apply_kernel.dp.cpp b/dpcpp/preconditioner/jacobi_advanced_apply_kernel.dp.cpp index 537e2b9cfa5..6b28e8d866b 100644 --- a/dpcpp/preconditioner/jacobi_advanced_apply_kernel.dp.cpp +++ b/dpcpp/preconditioner/jacobi_advanced_apply_kernel.dp.cpp @@ -66,8 +66,7 @@ void apply(std::shared_ptr exec, size_type num_blocks, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_APPLY_KERNEL); } // namespace jacobi diff --git a/dpcpp/preconditioner/jacobi_generate_instantiate.inc.dp.cpp b/dpcpp/preconditioner/jacobi_generate_instantiate.inc.dp.cpp index 4fe0d9c5031..7f2832f006b 100644 --- a/dpcpp/preconditioner/jacobi_generate_instantiate.inc.dp.cpp +++ b/dpcpp/preconditioner/jacobi_generate_instantiate.inc.dp.cpp @@ -392,7 +392,7 @@ void generate(syn::value_list, remove_complex*, precision_reduction*, const IndexType*, \ size_type) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( DECLARE_JACOBI_GENERATE_INSTANTIATION); diff --git a/dpcpp/preconditioner/jacobi_generate_kernel.dp.cpp b/dpcpp/preconditioner/jacobi_generate_kernel.dp.cpp index 826509be1df..62ff7fdbb51 100644 --- a/dpcpp/preconditioner/jacobi_generate_kernel.dp.cpp +++ b/dpcpp/preconditioner/jacobi_generate_kernel.dp.cpp @@ -61,7 +61,7 @@ void generate(std::shared_ptr exec, block_pointers.get_const_data(), num_blocks); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_GENERATE_KERNEL); diff --git a/dpcpp/preconditioner/jacobi_kernels.dp.cpp b/dpcpp/preconditioner/jacobi_kernels.dp.cpp index 3fa743e2cc8..f7735238d7e 100644 --- a/dpcpp/preconditioner/jacobi_kernels.dp.cpp +++ b/dpcpp/preconditioner/jacobi_kernels.dp.cpp @@ -389,7 +389,7 @@ void find_blocks(std::shared_ptr exec, exec, max_block_size, num_natural_blocks, block_pointers.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_FIND_BLOCKS_KERNEL); @@ -452,7 +452,7 @@ void transpose_jacobi( storage_scheme, out_blocks.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_TRANSPOSE_KERNEL); @@ -476,7 +476,7 @@ void conj_transpose_jacobi( storage_scheme, out_blocks.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONJ_TRANSPOSE_KERNEL); @@ -489,7 +489,7 @@ void convert_to_dense( storage_scheme, ValueType* result_values, size_type result_stride) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONVERT_TO_DENSE_KERNEL); diff --git a/dpcpp/preconditioner/jacobi_simple_apply_instantiate.inc.dp.cpp b/dpcpp/preconditioner/jacobi_simple_apply_instantiate.inc.dp.cpp index 5bf5f06cf29..e3a71690d6e 100644 --- a/dpcpp/preconditioner/jacobi_simple_apply_instantiate.inc.dp.cpp +++ b/dpcpp/preconditioner/jacobi_simple_apply_instantiate.inc.dp.cpp @@ -193,7 +193,7 @@ void apply(syn::value_list, const preconditioner::block_interleaved_storage_scheme&, \ const ValueType*, size_type, ValueType*, size_type) -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( DECLARE_JACOBI_SIMPLE_APPLY_INSTANTIATION); diff --git a/dpcpp/preconditioner/jacobi_simple_apply_kernel.dp.cpp b/dpcpp/preconditioner/jacobi_simple_apply_kernel.dp.cpp index 610dbe1c8a6..b3012b4ff40 100644 --- a/dpcpp/preconditioner/jacobi_simple_apply_kernel.dp.cpp +++ b/dpcpp/preconditioner/jacobi_simple_apply_kernel.dp.cpp @@ -61,7 +61,7 @@ void simple_apply( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_SIMPLE_APPLY_KERNEL); diff --git a/dpcpp/preconditioner/sor_kernels.dp.cpp b/dpcpp/preconditioner/sor_kernels.dp.cpp index aed20ab8c8a..4af676288bd 100644 --- a/dpcpp/preconditioner/sor_kernels.dp.cpp +++ b/dpcpp/preconditioner/sor_kernels.dp.cpp @@ -50,7 +50,7 @@ void initialize_weighted_l( }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L); @@ -100,7 +100,7 @@ void initialize_weighted_l_u( }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L_U); diff --git a/dpcpp/solver/batch_bicgstab_kernels.dp.cpp b/dpcpp/solver/batch_bicgstab_kernels.dp.cpp index 578446c1cc9..4cf3dacae48 100644 --- a/dpcpp/solver/batch_bicgstab_kernels.dp.cpp +++ b/dpcpp/solver/batch_bicgstab_kernels.dp.cpp @@ -192,7 +192,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_BICGSTAB_APPLY_KERNEL_WRAPPER); diff --git a/dpcpp/solver/batch_cg_kernels.dp.cpp b/dpcpp/solver/batch_cg_kernels.dp.cpp index ae1018b9e80..fee88cf7c92 100644 --- a/dpcpp/solver/batch_cg_kernels.dp.cpp +++ b/dpcpp/solver/batch_cg_kernels.dp.cpp @@ -163,7 +163,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_CG_APPLY_KERNEL_WRAPPER); diff --git a/dpcpp/solver/cb_gmres_kernels.dp.cpp b/dpcpp/solver/cb_gmres_kernels.dp.cpp index e5bd911390b..80886af39cc 100644 --- a/dpcpp/solver/cb_gmres_kernels.dp.cpp +++ b/dpcpp/solver/cb_gmres_kernels.dp.cpp @@ -947,7 +947,8 @@ void initialize(std::shared_ptr exec, givens_cos->get_stride(), stop_status->get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE( + GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); template diff --git a/dpcpp/solver/idr_kernels.dp.cpp b/dpcpp/solver/idr_kernels.dp.cpp index b34b7123d45..e334e341529 100644 --- a/dpcpp/solver/idr_kernels.dp.cpp +++ b/dpcpp/solver/idr_kernels.dp.cpp @@ -789,8 +789,7 @@ void initialize(std::shared_ptr exec, const size_type nrhs, orthonormalize_subspace_vectors(exec, subspace_vectors); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_INITIALIZE_KERNEL); template @@ -817,7 +816,7 @@ void step_1(std::shared_ptr exec, const size_type nrhs, v->get_stride(), stop_status->get_const_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_1_KERNEL); template @@ -844,7 +843,7 @@ void step_2(std::shared_ptr exec, const size_type nrhs, stop_status->get_const_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_2_KERNEL); template @@ -861,7 +860,7 @@ void step_3(std::shared_ptr exec, const size_type nrhs, update_x_r_and_f(exec, nrhs, k, m, g, u, f, residual, x, stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_3_KERNEL); template @@ -879,8 +878,7 @@ void compute_omega( as_device_type(omega->get_values()), stop_status->get_const_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); } // namespace idr diff --git a/dpcpp/solver/lower_trs_kernels.dp.cpp b/dpcpp/solver/lower_trs_kernels.dp.cpp index f38b74ae240..f0257d12892 100644 --- a/dpcpp/solver/lower_trs_kernels.dp.cpp +++ b/dpcpp/solver/lower_trs_kernels.dp.cpp @@ -42,7 +42,7 @@ void generate(std::shared_ptr exec, bool unit_diag, const solver::trisolve_algorithm algorithm, const size_type num_rhs) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_GENERATE_KERNEL); @@ -59,7 +59,7 @@ void solve(std::shared_ptr exec, const matrix::Dense* b, matrix::Dense* x) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_SOLVE_KERNEL); diff --git a/dpcpp/solver/multigrid_kernels.dp.cpp b/dpcpp/solver/multigrid_kernels.dp.cpp index cdbcb39d043..aaf0ab63354 100644 --- a/dpcpp/solver/multigrid_kernels.dp.cpp +++ b/dpcpp/solver/multigrid_kernels.dp.cpp @@ -31,8 +31,7 @@ void kcycle_step_1(std::shared_ptr exec, matrix::Dense* g, matrix::Dense* d, matrix::Dense* e) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); template @@ -45,8 +44,7 @@ void kcycle_step_2(std::shared_ptr exec, const matrix::Dense* d, matrix::Dense* e) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); template @@ -56,7 +54,7 @@ void kcycle_check_stop(std::shared_ptr exec, const ValueType rel_tol, bool& is_stop) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_MULTIGRID_KCYCLE_CHECK_STOP_KERNEL); diff --git a/dpcpp/solver/upper_trs_kernels.dp.cpp b/dpcpp/solver/upper_trs_kernels.dp.cpp index fe5381bc12b..a4878726b05 100644 --- a/dpcpp/solver/upper_trs_kernels.dp.cpp +++ b/dpcpp/solver/upper_trs_kernels.dp.cpp @@ -42,7 +42,7 @@ void generate(std::shared_ptr exec, bool unit_diag, const solver::trisolve_algorithm algorithm, const size_type num_rhs) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_GENERATE_KERNEL); @@ -59,7 +59,7 @@ void solve(std::shared_ptr exec, const matrix::Dense* b, matrix::Dense* x) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); diff --git a/dpcpp/stop/residual_norm_kernels.dp.cpp b/dpcpp/stop/residual_norm_kernels.dp.cpp index 8f055f693a9..129c26e08f4 100644 --- a/dpcpp/stop/residual_norm_kernels.dp.cpp +++ b/dpcpp/stop/residual_norm_kernels.dp.cpp @@ -71,7 +71,7 @@ void residual_norm(std::shared_ptr exec, *one_changed = get_element(*device_storage, 1); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_RESIDUAL_NORM_KERNEL); @@ -128,8 +128,7 @@ void implicit_residual_norm( *one_changed = get_element(*device_storage, 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); } // namespace implicit_residual_norm diff --git a/extensions/test/kokkos/types.cpp b/extensions/test/kokkos/types.cpp index bb3252b149c..ec59e3fb04c 100644 --- a/extensions/test/kokkos/types.cpp +++ b/extensions/test/kokkos/types.cpp @@ -29,7 +29,7 @@ class ArrayMapper : public ::testing::Test { gko::array array = {exec, I{1, 2, 3, 4}}; }; -TYPED_TEST_SUITE(ArrayMapper, gko::test::ValueTypes, TypenameNameGenerator); +TYPED_TEST_SUITE(ArrayMapper, gko::test::ValueTypesBase, TypenameNameGenerator); TYPED_TEST(ArrayMapper, CanMapDefault) @@ -89,7 +89,7 @@ class DenseMapper : public ::testing::Test { gko::initialize({1, 2, 3, 4}, exec); }; -TYPED_TEST_SUITE(DenseMapper, gko::test::ValueTypes, TypenameNameGenerator); +TYPED_TEST_SUITE(DenseMapper, gko::test::ValueTypesBase, TypenameNameGenerator); TYPED_TEST(DenseMapper, CanMapDefault) diff --git a/hip/matrix/fft_kernels.hip.cpp b/hip/matrix/fft_kernels.hip.cpp index 6b14aaf067d..4db4fbbcd32 100644 --- a/hip/matrix/fft_kernels.hip.cpp +++ b/hip/matrix/fft_kernels.hip.cpp @@ -163,7 +163,7 @@ void fft(std::shared_ptr exec, handle.execute(b->get_const_values(), x->get_values(), inverse); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT_KERNEL); template @@ -179,7 +179,7 @@ void fft2(std::shared_ptr exec, handle.execute(b->get_const_values(), x->get_values(), inverse); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT2_KERNEL); template @@ -195,7 +195,7 @@ void fft3(std::shared_ptr exec, handle.execute(b->get_const_values(), x->get_values(), inverse); } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT3_KERNEL); } // namespace fft diff --git a/hip/matrix/fft_kernels_stub.hip.cpp b/hip/matrix/fft_kernels_stub.hip.cpp index 210349e58e4..753642b555e 100644 --- a/hip/matrix/fft_kernels_stub.hip.cpp +++ b/hip/matrix/fft_kernels_stub.hip.cpp @@ -34,7 +34,7 @@ void fft(std::shared_ptr exec, matrix::Dense>* x, bool inverse, array& buffer) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT_KERNEL); template @@ -44,7 +44,7 @@ void fft2(std::shared_ptr exec, size_type size2, bool inverse, array& buffer) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT2_KERNEL); template @@ -54,7 +54,7 @@ void fft3(std::shared_ptr exec, size_type size2, size_type size3, bool inverse, array& buffer) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT3_KERNEL); } // namespace fft diff --git a/hip/preconditioner/batch_jacobi_kernels.hip.cpp b/hip/preconditioner/batch_jacobi_kernels.hip.cpp index 2424a035cf4..fdd57a95127 100644 --- a/hip/preconditioner/batch_jacobi_kernels.hip.cpp +++ b/hip/preconditioner/batch_jacobi_kernels.hip.cpp @@ -101,7 +101,7 @@ void extract_common_blocks_pattern( blocks_pattern); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_EXTRACT_PATTERN_KERNEL); @@ -159,7 +159,7 @@ void compute_block_jacobi( cumulative_block_storage, block_pointers, blocks_pattern, blocks); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_KERNEL); diff --git a/hip/solver/batch_bicgstab_kernels.hip.cpp b/hip/solver/batch_bicgstab_kernels.hip.cpp index 2aede809427..b421da91338 100644 --- a/hip/solver/batch_bicgstab_kernels.hip.cpp +++ b/hip/solver/batch_bicgstab_kernels.hip.cpp @@ -176,7 +176,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_BICGSTAB_APPLY_KERNEL_WRAPPER); diff --git a/hip/solver/batch_cg_kernels.hip.cpp b/hip/solver/batch_cg_kernels.hip.cpp index b6d3580585e..ef9137dcf5a 100644 --- a/hip/solver/batch_cg_kernels.hip.cpp +++ b/hip/solver/batch_cg_kernels.hip.cpp @@ -158,7 +158,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_CG_APPLY_KERNEL_WRAPPER); diff --git a/hip/solver/lower_trs_kernels.hip.cpp b/hip/solver/lower_trs_kernels.hip.cpp index 6858f1eddc0..5eab76ed5fa 100644 --- a/hip/solver/lower_trs_kernels.hip.cpp +++ b/hip/solver/lower_trs_kernels.hip.cpp @@ -54,7 +54,7 @@ void generate(std::shared_ptr exec, false, unit_diag); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_GENERATE_KERNEL); @@ -70,7 +70,7 @@ void solve(std::shared_ptr exec, trans_x, b, x); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_SOLVE_KERNEL); diff --git a/hip/solver/upper_trs_kernels.hip.cpp b/hip/solver/upper_trs_kernels.hip.cpp index f1398faeea4..fb480d9b22d 100644 --- a/hip/solver/upper_trs_kernels.hip.cpp +++ b/hip/solver/upper_trs_kernels.hip.cpp @@ -54,7 +54,7 @@ void generate(std::shared_ptr exec, true, unit_diag); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_GENERATE_KERNEL); @@ -70,7 +70,7 @@ void solve(std::shared_ptr exec, trans_x, b, x); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); diff --git a/hip/test/matrix/fbcsr_kernels.cpp b/hip/test/matrix/fbcsr_kernels.cpp index 536ff3dc01c..0bed7e7c13e 100644 --- a/hip/test/matrix/fbcsr_kernels.cpp +++ b/hip/test/matrix/fbcsr_kernels.cpp @@ -61,8 +61,7 @@ class Fbcsr : public HipTestFixture { } }; -TYPED_TEST_SUITE(Fbcsr, gko::test::RealValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Fbcsr, gko::test::RealValueTypes, TypenameNameGenerator); TYPED_TEST(Fbcsr, CanWriteFromMatrixOnDevice) diff --git a/include/ginkgo/core/base/batch_multi_vector.hpp b/include/ginkgo/core/base/batch_multi_vector.hpp index bd641f057a1..be47c8a3ee8 100644 --- a/include/ginkgo/core/base/batch_multi_vector.hpp +++ b/include/ginkgo/core/base/batch_multi_vector.hpp @@ -53,21 +53,19 @@ class MultiVector : public EnablePolymorphicObject>, public EnablePolymorphicAssignment>, #if GINKGO_ENABLE_HALF - public ConvertibleTo>>>, + public ConvertibleTo< + MultiVector>>>, #endif - public ConvertibleTo>> { + public ConvertibleTo>> { friend class EnablePolymorphicObject; friend class MultiVector>; - friend class MultiVector>; + friend class MultiVector>; public: using EnablePolymorphicAssignment::convert_to; using EnablePolymorphicAssignment::move_to; - using ConvertibleTo< - MultiVector>>::convert_to; - using ConvertibleTo< - MultiVector>>::move_to; + using ConvertibleTo>>::convert_to; + using ConvertibleTo>>::move_to; using value_type = ValueType; using index_type = int32; @@ -84,27 +82,23 @@ class MultiVector static std::unique_ptr create_with_config_of( ptr_param other); - void convert_to(MultiVector>* result) - const override; + void convert_to( + MultiVector>* result) const override; - void move_to( - MultiVector>* result) override; + void move_to(MultiVector>* result) override; #if GINKGO_ENABLE_HALF - friend class MultiVector< - previous_precision_with_half>>; - using ConvertibleTo>>>::convert_to; - using ConvertibleTo>>>::move_to; + friend class MultiVector>>; + using ConvertibleTo< + MultiVector>>>::convert_to; + using ConvertibleTo< + MultiVector>>>::move_to; - void convert_to( - MultiVector< - next_precision_with_half>>* - result) const override; + void convert_to(MultiVector>>* + result) const override; - void move_to(MultiVector>>* result) override; + void move_to(MultiVector>>* result) + override; #endif /** diff --git a/include/ginkgo/core/base/math.hpp b/include/ginkgo/core/base/math.hpp index e308b092ea6..8f063d8c2fe 100644 --- a/include/ginkgo/core/base/math.hpp +++ b/include/ginkgo/core/base/math.hpp @@ -293,46 +293,46 @@ namespace detail { // singly linked list of all our supported precisions template -struct next_precision_impl {}; +struct next_precision_base_impl {}; template <> -struct next_precision_impl { +struct next_precision_base_impl { using type = double; }; template <> -struct next_precision_impl { +struct next_precision_base_impl { using type = float; }; template -struct next_precision_impl> { - using type = std::complex::type>; +struct next_precision_base_impl> { + using type = std::complex::type>; }; template -struct next_precision_with_half_impl {}; +struct next_precision_impl {}; template <> -struct next_precision_with_half_impl { +struct next_precision_impl { using type = float; }; template <> -struct next_precision_with_half_impl { +struct next_precision_impl { using type = double; }; template <> -struct next_precision_with_half_impl { +struct next_precision_impl { using type = gko::half; }; template -struct next_precision_with_half_impl> { - using type = std::complex::type>; +struct next_precision_impl> { + using type = std::complex::type>; }; @@ -418,7 +418,7 @@ struct highest_precision_variadic { * Obtains the next type in the singly-linked precision list. */ template -using next_precision = typename detail::next_precision_impl::type; +using next_precision_base = typename detail::next_precision_base_impl::type; /** @@ -428,26 +428,24 @@ using next_precision = typename detail::next_precision_impl::type; * next_precision. */ template -using previous_precision = next_precision; +using previous_precision_base = next_precision_base; /** * Obtains the next type in the singly-linked precision list with half. */ #if GINKGO_ENABLE_HALF template -using next_precision_with_half = - typename detail::next_precision_with_half_impl::type; +using next_precision = typename detail::next_precision_impl::type; template -using previous_precision_with_half = - next_precision_with_half>; +using previous_precision = next_precision>; #else // fallback to float/double list template -using next_precision_with_half = next_precision; +using next_precision = next_precision_base; template -using previous_precision_with_half = previous_precision; +using previous_precision = previous_precision_base; #endif diff --git a/include/ginkgo/core/base/precision_dispatch.hpp b/include/ginkgo/core/base/precision_dispatch.hpp index 4adc02763f0..29aa4bfcab1 100644 --- a/include/ginkgo/core/base/precision_dispatch.hpp +++ b/include/ginkgo/core/base/precision_dispatch.hpp @@ -19,9 +19,9 @@ namespace gko { /** * Convert the given LinOp from matrix::Dense<...> to matrix::Dense. * The conversion tries to convert the input LinOp to all Dense types with value - * type recursively reachable by next_precision<...> starting from the ValueType - * template parameter. This means that all real-to-real and complex-to-complex - * conversions for default precisions are being considered. + * type recursively reachable by next_precision_base<...> starting from the + * ValueType template parameter. This means that all real-to-real and + * complex-to-complex conversions for default precisions are being considered. * If the input matrix is non-const, the contents of the modified converted * object will be converted back to the input matrix when the returned object is * destroyed. This may lead to a loss of precision! @@ -48,9 +48,9 @@ make_temporary_conversion(Ptr&& matrix) { using Pointee = detail::pointee; using Dense = matrix::Dense; - using NextDense = matrix::Dense>; - using NextNextDense = matrix::Dense< - next_precision_with_half>>; + using NextDense = matrix::Dense>; + using NextNextDense = + matrix::Dense>>; using MaybeConstDense = std::conditional_t::value, const Dense, Dense>; auto result = detail::temporary_conversion< @@ -201,7 +201,7 @@ void precision_dispatch_real_complex(Function fn, const LinOp* alpha, * If GINKGO_MIXED_PRECISION is defined, this means that the function will be * called with its dynamic type as a static type, so the (templated/generic) * function will be instantiated with all pairs of Dense and - * Dense> parameter types, and the appropriate + * Dense> parameter types, and the appropriate * overload will be called based on the dynamic type of the parameter. * * If GINKGO_MIXED_PRECISION is not defined, it will behave exactly like @@ -228,9 +228,8 @@ void mixed_precision_dispatch(Function fn, const LinOp* in, LinOp* out) { #ifdef GINKGO_MIXED_PRECISION using fst_type = matrix::Dense; - using snd_type = matrix::Dense>; - using trd_type = matrix::Dense< - next_precision_with_half>>; + using snd_type = matrix::Dense>; + using trd_type = matrix::Dense>>; auto dispatch_out_vector = [&](auto dense_in) { if (auto dense_out = dynamic_cast(out)) { fn(dense_in, dense_out); @@ -314,7 +313,7 @@ namespace distributed { * Convert the given LinOp from experimental::distributed::Vector<...> to * experimental::distributed::Vector. The conversion tries to convert * the input LinOp to all Dense types with value type recursively reachable by - * next_precision<...> starting from the ValueType template parameter. This + * next_precision_base<...> starting from the ValueType template parameter. This * means that all real-to-real and complex-to-complex conversions for default * precisions are being considered. If the input matrix is non-const, the * contents of the modified converted object will be converted back to the input @@ -341,7 +340,7 @@ gko::detail::temporary_conversion> make_temporary_conversion( { auto result = gko::detail::temporary_conversion>::template create< - Vector>>(matrix); + Vector>>(matrix); if (!result) { GKO_NOT_SUPPORTED(matrix); } @@ -357,7 +356,7 @@ gko::detail::temporary_conversion> make_temporary_conversion(const LinOp* matrix) { auto result = gko::detail::temporary_conversion>:: - template create>>(matrix); + template create>>(matrix); if (!result) { GKO_NOT_SUPPORTED(matrix); } diff --git a/include/ginkgo/core/base/types.hpp b/include/ginkgo/core/base/types.hpp index 4f1166de223..7611bc54bb9 100644 --- a/include/ginkgo/core/base/types.hpp +++ b/include/ginkgo/core/base/types.hpp @@ -420,19 +420,19 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * value type. */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(_macro) \ - template _macro(float); \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(_macro) \ + template _macro(float); \ + template <> \ _macro(double) GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(_macro) \ - template _macro(float); \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(_macro) \ + template _macro(float); \ template _macro(double) #endif -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF(_macro) \ - GKO_ADAPT_HF(template _macro(half)); \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(_macro) +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(_macro) \ + GKO_ADAPT_HF(template _macro(half)); \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(_macro) /** @@ -444,22 +444,22 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * value type. */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(_macro); \ - template _macro(std::complex); \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(_macro); \ + template _macro(std::complex); \ + template <> \ _macro(std::complex) GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(_macro); \ - template _macro(std::complex); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(_macro); \ + template _macro(std::complex); \ template _macro(std::complex) #endif -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(_macro) \ - GKO_ADAPT_HF(template _macro(half)); \ - GKO_ADAPT_HF(template _macro(std::complex)); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro) +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro) \ + GKO_ADAPT_HF(template _macro(half)); \ + GKO_ADAPT_HF(template _macro(std::complex)); \ + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(_macro) // Helper macro to make Windows builds work @@ -479,21 +479,23 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * @note This won't be necessary after upgrading to C++20 */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS(_macro, ...) \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS_BASE(_macro, \ + ...) \ template GKO_INDIRECT(_macro(float, __VA_ARGS__)); \ template <> \ GKO_INDIRECT(_macro(double, __VA_ARGS__)) \ GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS(_macro, ...) \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS_BASE(_macro, \ + ...) \ template GKO_INDIRECT(_macro(float, __VA_ARGS__)); \ template GKO_INDIRECT(_macro(double, __VA_ARGS__)) #endif -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS_WITH_HALF( \ - _macro, ...) \ - GKO_INDIRECT(GKO_ADAPT_HF(template _macro(half, __VA_ARGS__))); \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS(_macro, __VA_ARGS__) +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS(_macro, ...) \ + GKO_INDIRECT(GKO_ADAPT_HF(template _macro(half, __VA_ARGS__))); \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS_BASE(_macro, \ + __VA_ARGS__) /** @@ -507,26 +509,26 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * @note This won't be necessary after upgrading to C++20 */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS(_macro, ...) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS(_macro, \ - __VA_ARGS__); \ - template GKO_INDIRECT(_macro(std::complex, __VA_ARGS__)); \ - template <> \ - GKO_INDIRECT(_macro(std::complex, __VA_ARGS__)) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS_BASE(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS_BASE(_macro, \ + __VA_ARGS__); \ + template GKO_INDIRECT(_macro(std::complex, __VA_ARGS__)); \ + template <> \ + GKO_INDIRECT(_macro(std::complex, __VA_ARGS__)) \ GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS(_macro, ...) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS(_macro, \ - __VA_ARGS__); \ - template GKO_INDIRECT(_macro(std::complex, __VA_ARGS__)); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS_BASE(_macro, ...) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_VARGS_BASE(_macro, \ + __VA_ARGS__); \ + template GKO_INDIRECT(_macro(std::complex, __VA_ARGS__)); \ template GKO_INDIRECT(_macro(std::complex, __VA_ARGS__)) #endif -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS_WITH_HALF(_macro, ...) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS(_macro, ...) \ GKO_INDIRECT(GKO_ADAPT_HF(template _macro(half, __VA_ARGS__))); \ GKO_INDIRECT( \ GKO_ADAPT_HF(template _macro(std::complex, __VA_ARGS__))); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS(_macro, __VA_ARGS__) + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_VARGS_BASE(_macro, __VA_ARGS__) /** @@ -540,7 +542,7 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * value and scalar type, respectively. */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(_macro) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_BASE(_macro) \ template _macro(float, float); \ template <> \ _macro(double, double) GKO_NOT_IMPLEMENTED; \ @@ -551,17 +553,17 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, template <> \ _macro(std::complex, double) GKO_NOT_IMPLEMENTED; #else -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(_macro) \ - template _macro(float, float); \ - template _macro(double, double); \ - template _macro(std::complex, std::complex); \ - template _macro(std::complex, std::complex); \ - template _macro(std::complex, float); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_BASE(_macro) \ + template _macro(float, float); \ + template _macro(double, double); \ + template _macro(std::complex, std::complex); \ + template _macro(std::complex, std::complex); \ + template _macro(std::complex, float); \ template _macro(std::complex, double) #endif -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF(_macro) \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(_macro); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_BASE(_macro); \ GKO_ADAPT_HF(template _macro(half, half)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ GKO_ADAPT_HF(template _macro(std::complex, half)) @@ -590,46 +592,45 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * value and index types. */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro) \ - template _macro(float, int32); \ - template <> \ - _macro(double, int32) GKO_NOT_IMPLEMENTED; \ - template _macro(float, int64); \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_BASE(_macro) \ + template _macro(float, int32); \ + template <> \ + _macro(double, int32) GKO_NOT_IMPLEMENTED; \ + template _macro(float, int64); \ + template <> \ _macro(double, int64) GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro) \ - template _macro(float, int32); \ - template _macro(double, int32); \ - template _macro(float, int64); \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_BASE(_macro) \ + template _macro(float, int32); \ + template _macro(double, int32); \ + template _macro(float, int64); \ template _macro(double, int64) #endif -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( \ - _macro) \ - GKO_ADAPT_HF(template _macro(half, int32)); \ - GKO_ADAPT_HF(template _macro(half, int64)); \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro) +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro) \ + GKO_ADAPT_HF(template _macro(half, int32)); \ + GKO_ADAPT_HF(template _macro(half, int64)); \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_BASE(_macro) #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE(_macro) \ - template _macro(float, int32); \ - template <> \ - _macro(double, int32) GKO_NOT_IMPLEMENTED; \ - template _macro(std::complex, int32); \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_BASE(_macro) \ + template _macro(float, int32); \ + template <> \ + _macro(double, int32) GKO_NOT_IMPLEMENTED; \ + template _macro(std::complex, int32); \ + template <> \ _macro(std::complex, int32) GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE(_macro) \ - template _macro(float, int32); \ - template _macro(double, int32); \ - template _macro(std::complex, int32); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_BASE(_macro) \ + template _macro(float, int32); \ + template _macro(double, int32); \ + template _macro(std::complex, int32); \ template _macro(std::complex, int32) #endif -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF(_macro) \ - GKO_ADAPT_HF(template _macro(half, int32)); \ - GKO_ADAPT_HF(template _macro(std::complex, int32)); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE(_macro) +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE(_macro) \ + GKO_ADAPT_HF(template _macro(half, int32)); \ + GKO_ADAPT_HF(template _macro(std::complex, int32)); \ + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_BASE(_macro) /** @@ -641,29 +642,29 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * value and index types. */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(_macro) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro); \ - template _macro(std::complex, int32); \ - template <> \ - _macro(std::complex, int32) GKO_NOT_IMPLEMENTED; \ - template _macro(std::complex, int64); \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_BASE(_macro); \ + template _macro(std::complex, int32); \ + template <> \ + _macro(std::complex, int32) GKO_NOT_IMPLEMENTED; \ + template _macro(std::complex, int64); \ + template <> \ _macro(std::complex, int64) GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(_macro) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE(_macro); \ - template _macro(std::complex, int32); \ - template _macro(std::complex, int32); \ - template _macro(std::complex, int64); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_BASE(_macro); \ + template _macro(std::complex, int32); \ + template _macro(std::complex, int32); \ + template _macro(std::complex, int64); \ template _macro(std::complex, int64) #endif -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF(_macro) \ - GKO_ADAPT_HF(template _macro(half, int32)); \ - GKO_ADAPT_HF(template _macro(half, int64)); \ - GKO_ADAPT_HF(template _macro(std::complex, int32)); \ - GKO_ADAPT_HF(template _macro(std::complex, int64)); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(_macro) +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(_macro) \ + GKO_ADAPT_HF(template _macro(half, int32)); \ + GKO_ADAPT_HF(template _macro(half, int64)); \ + GKO_ADAPT_HF(template _macro(std::complex, int32)); \ + GKO_ADAPT_HF(template _macro(std::complex, int64)); \ + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_BASE(_macro) /** @@ -676,34 +677,34 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * value, the local and the global index types. */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( \ - _macro) \ - template _macro(float, int32, int32); \ - template _macro(float, int32, int64); \ - template _macro(float, int64, int64); \ - template <> \ - _macro(double, int32, int32) GKO_NOT_IMPLEMENTED; \ - template <> \ - _macro(double, int32, int64) GKO_NOT_IMPLEMENTED; \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( \ + _macro) \ + template _macro(float, int32, int32); \ + template _macro(float, int32, int64); \ + template _macro(float, int64, int64); \ + template <> \ + _macro(double, int32, int32) GKO_NOT_IMPLEMENTED; \ + template <> \ + _macro(double, int32, int64) GKO_NOT_IMPLEMENTED; \ + template <> \ _macro(double, int64, int64) GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( \ - _macro) \ - template _macro(float, int32, int32); \ - template _macro(float, int32, int64); \ - template _macro(float, int64, int64); \ - template _macro(double, int32, int32); \ - template _macro(double, int32, int64); \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( \ + _macro) \ + template _macro(float, int32, int32); \ + template _macro(float, int32, int64); \ + template _macro(float, int64, int64); \ + template _macro(double, int32, int32); \ + template _macro(double, int32, int64); \ template _macro(double, int64, int64) #endif -#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_WITH_HALF( \ - _macro) \ - GKO_ADAPT_HF(template _macro(half, int32, int32)); \ - GKO_ADAPT_HF(template _macro(half, int32, int64)); \ - GKO_ADAPT_HF(template _macro(half, int64, int64)); \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( \ +#define GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( \ + _macro) \ + GKO_ADAPT_HF(template _macro(half, int32, int32)); \ + GKO_ADAPT_HF(template _macro(half, int32, int64)); \ + GKO_ADAPT_HF(template _macro(half, int64, int64)); \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( \ _macro) @@ -716,43 +717,44 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * value and index types. */ #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(_macro) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( \ - _macro); \ - template _macro(std::complex, int32, int32); \ - template _macro(std::complex, int32, int64); \ - template _macro(std::complex, int64, int64); \ - template <> \ - _macro(std::complex, int32, int32) GKO_NOT_IMPLEMENTED; \ - template <> \ - _macro(std::complex, int32, int64) GKO_NOT_IMPLEMENTED; \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( \ + _macro) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( \ + _macro); \ + template _macro(std::complex, int32, int32); \ + template _macro(std::complex, int32, int64); \ + template _macro(std::complex, int64, int64); \ + template <> \ + _macro(std::complex, int32, int32) GKO_NOT_IMPLEMENTED; \ + template <> \ + _macro(std::complex, int32, int64) GKO_NOT_IMPLEMENTED; \ + template <> \ _macro(std::complex, int64, int64) GKO_NOT_IMPLEMENTED #else -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(_macro) \ - GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( \ - _macro); \ - template _macro(std::complex, int32, int32); \ - template _macro(std::complex, int32, int64); \ - template _macro(std::complex, int64, int64); \ - template _macro(std::complex, int32, int32); \ - template _macro(std::complex, int32, int64); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( \ + _macro) \ + GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( \ + _macro); \ + template _macro(std::complex, int32, int32); \ + template _macro(std::complex, int32, int64); \ + template _macro(std::complex, int64, int64); \ + template _macro(std::complex, int32, int32); \ + template _macro(std::complex, int32, int64); \ template _macro(std::complex, int64, int64) #endif -#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_WITH_HALF( \ - _macro) \ - GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(_macro); \ - GKO_ADAPT_HF(template _macro(half, int32, int32)); \ - GKO_ADAPT_HF(template _macro(half, int32, int64)); \ - GKO_ADAPT_HF(template _macro(half, int64, int64)); \ - GKO_ADAPT_HF(template _macro(std::complex, int32, int32)); \ - GKO_ADAPT_HF(template _macro(std::complex, int32, int64)); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE(_macro); \ + GKO_ADAPT_HF(template _macro(half, int32, int32)); \ + GKO_ADAPT_HF(template _macro(half, int32, int64)); \ + GKO_ADAPT_HF(template _macro(half, int64, int64)); \ + GKO_ADAPT_HF(template _macro(std::complex, int32, int32)); \ + GKO_ADAPT_HF(template _macro(std::complex, int32, int64)); \ GKO_ADAPT_HF(template _macro(std::complex, int64, int64)) #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_BASE(_macro) \ template <> \ _macro(float, double) GKO_NOT_IMPLEMENTED; \ template <> \ @@ -763,13 +765,13 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, _macro(std::complex, std::complex) GKO_NOT_IMPLEMENTED -#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY(_macro) \ - GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro); \ - template _macro(float, float); \ - template <> \ - _macro(double, double) GKO_NOT_IMPLEMENTED; \ - template _macro(std::complex, std::complex); \ - template <> \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_BASE(_macro); \ + template _macro(float, float); \ + template <> \ + _macro(double, double) GKO_NOT_IMPLEMENTED; \ + template _macro(std::complex, std::complex); \ + template <> \ _macro(std::complex, std::complex) GKO_NOT_IMPLEMENTED #else /** @@ -781,7 +783,7 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * Should take two arguments `src` and `dst`, which * are replaced by the source and destination value type. */ -#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_BASE(_macro) \ template _macro(float, double); \ template _macro(double, float); \ template _macro(std::complex, std::complex); \ @@ -797,16 +799,16 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * Should take two arguments `src` and `dst`, which * are replaced by the source and destination value type. */ -#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY(_macro) \ - GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro); \ - template _macro(float, float); \ - template _macro(double, double); \ - template _macro(std::complex, std::complex); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_BASE(_macro); \ + template _macro(float, float); \ + template _macro(double, double); \ + template _macro(std::complex, std::complex); \ template _macro(std::complex, std::complex) #endif #if GINKGO_DPCPP_SINGLE_MODE -#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_WITH_HALF(_macro) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro) \ GKO_ADAPT_HF(template <> _macro(half, double) GKO_NOT_IMPLEMENTED); \ GKO_ADAPT_HF(template <> _macro(double, half) GKO_NOT_IMPLEMENTED); \ GKO_ADAPT_HF(template _macro(float, half)); \ @@ -817,9 +819,9 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ GKO_ADAPT_HF(template <> _macro(std::complex, std::complex) \ GKO_NOT_IMPLEMENTED); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_BASE(_macro) #else -#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_WITH_HALF(_macro) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro) \ GKO_ADAPT_HF(template _macro(half, double)); \ GKO_ADAPT_HF(template _macro(double, half)); \ GKO_ADAPT_HF(template _macro(float, half)); \ @@ -828,16 +830,16 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_BASE(_macro) #endif -#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY_WITH_HALF(_macro) \ - GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_WITH_HALF(_macro); \ - GKO_ADAPT_HF(template _macro(half, half)); \ - GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ - template _macro(float, float); \ - template _macro(double, double); \ - template _macro(std::complex, std::complex); \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY(_macro) \ + GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(_macro); \ + GKO_ADAPT_HF(template _macro(half, half)); \ + GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ + template _macro(float, float); \ + template _macro(double, double); \ + template _macro(std::complex, std::complex); \ template _macro(std::complex, std::complex) /** @@ -848,7 +850,7 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * Should take two arguments, which are replaced by the * value and index types. */ -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_PAIR(_macro) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_PAIR_BASE(_macro) \ template _macro(float, float); \ template _macro(double, double); \ template _macro(std::complex, float); \ @@ -856,11 +858,11 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, template _macro(std::complex, std::complex); \ template _macro(std::complex, std::complex) -#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_PAIR_WITH_HALF(_macro) \ +#define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_PAIR(_macro) \ GKO_ADAPT_HF(template _macro(half, half)); \ GKO_ADAPT_HF(template _macro(std::complex, half)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_PAIR(_macro) + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_PAIR_BASE(_macro) /** * Instantiates a template for each combined value and index type compiled by @@ -871,23 +873,22 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * Should take two arguments, which are replaced by the * value and index types. */ -#define GKO_INSTANTIATE_FOR_EACH_COMBINED_VALUE_AND_INDEX_TYPE(_macro) \ - template _macro(char, char); \ - template _macro(int32, int32); \ - template _macro(int64, int64); \ - template _macro(unsigned int, unsigned int); \ - template _macro(unsigned long, unsigned long); \ - template _macro(float, float); \ - template _macro(double, double); \ - template _macro(long double, long double); \ - template _macro(std::complex, std::complex); \ +#define GKO_INSTANTIATE_FOR_EACH_COMBINED_VALUE_AND_INDEX_TYPE_BASE(_macro) \ + template _macro(char, char); \ + template _macro(int32, int32); \ + template _macro(int64, int64); \ + template _macro(unsigned int, unsigned int); \ + template _macro(unsigned long, unsigned long); \ + template _macro(float, float); \ + template _macro(double, double); \ + template _macro(long double, long double); \ + template _macro(std::complex, std::complex); \ template _macro(std::complex, std::complex) -#define GKO_INSTANTIATE_FOR_EACH_COMBINED_VALUE_AND_INDEX_TYPE_WITH_HALF( \ - _macro) \ +#define GKO_INSTANTIATE_FOR_EACH_COMBINED_VALUE_AND_INDEX_TYPE(_macro) \ GKO_ADAPT_HF(template _macro(half, half)); \ GKO_ADAPT_HF(template _macro(std::complex, std::complex)); \ - GKO_INSTANTIATE_FOR_EACH_COMBINED_VALUE_AND_INDEX_TYPE(_macro) + GKO_INSTANTIATE_FOR_EACH_COMBINED_VALUE_AND_INDEX_TYPE_BASE(_macro) /** * Instantiates a template for each value and index type compiled by Ginkgo. @@ -897,20 +898,20 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * Should take two arguments, which are replaced by the * value and index types. */ -#define GKO_INSTANTIATE_FOR_EACH_POD_TYPE(_macro) \ - template _macro(float); \ - template _macro(double); \ - template _macro(std::complex); \ - template _macro(std::complex); \ - template _macro(size_type); \ - template _macro(bool); \ - template _macro(int32); \ +#define GKO_INSTANTIATE_FOR_EACH_POD_TYPE_BASE(_macro) \ + template _macro(float); \ + template _macro(double); \ + template _macro(std::complex); \ + template _macro(std::complex); \ + template _macro(size_type); \ + template _macro(bool); \ + template _macro(int32); \ template _macro(int64) -#define GKO_INSTANTIATE_FOR_EACH_POD_TYPE_WITH_HALF(_macro) \ - GKO_ADAPT_HF(template _macro(half)); \ - GKO_ADAPT_HF(template _macro(std::complex)); \ - GKO_INSTANTIATE_FOR_EACH_POD_TYPE(_macro) +#define GKO_INSTANTIATE_FOR_EACH_POD_TYPE(_macro) \ + GKO_ADAPT_HF(template _macro(half)); \ + GKO_ADAPT_HF(template _macro(std::complex)); \ + GKO_INSTANTIATE_FOR_EACH_POD_TYPE_BASE(_macro) /** * Instantiates a template for each normal type @@ -920,16 +921,16 @@ GKO_ATTRIBUTES constexpr bool operator!=(precision_reduction x, * Should take one argument, which is replaced by the * value type. */ +#define GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_BASE(_macro) \ + GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE(_macro); \ + GKO_INSTANTIATE_FOR_EACH_INDEX_TYPE(_macro); \ + template _macro(gko::size_type) + #define GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(_macro) \ GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro); \ GKO_INSTANTIATE_FOR_EACH_INDEX_TYPE(_macro); \ template _macro(gko::size_type) -#define GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF(_macro) \ - GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(_macro); \ - GKO_INSTANTIATE_FOR_EACH_INDEX_TYPE(_macro); \ - template _macro(gko::size_type) - /** * Instantiates a template for int32 type. diff --git a/include/ginkgo/core/distributed/matrix.hpp b/include/ginkgo/core/distributed/matrix.hpp index 2f2f470a4ed..1bb7f2315fd 100644 --- a/include/ginkgo/core/distributed/matrix.hpp +++ b/include/ginkgo/core/distributed/matrix.hpp @@ -257,14 +257,13 @@ class Vector; */ template -class Matrix - : public EnableDistributedLinOp< - Matrix>, - public ConvertibleTo< - Matrix, LocalIndexType, GlobalIndexType>>, - public DistributedBase { +class Matrix : public EnableDistributedLinOp< + Matrix>, + public ConvertibleTo, + LocalIndexType, GlobalIndexType>>, + public DistributedBase { friend class EnableDistributedPolymorphicObject; - friend class Matrix, LocalIndexType, + friend class Matrix, LocalIndexType, GlobalIndexType>; friend class multigrid::Pgm; @@ -279,15 +278,15 @@ class Matrix using EnableDistributedLinOp::convert_to; using EnableDistributedLinOp::move_to; - using ConvertibleTo, LocalIndexType, + using ConvertibleTo, LocalIndexType, GlobalIndexType>>::convert_to; - using ConvertibleTo, LocalIndexType, + using ConvertibleTo, LocalIndexType, GlobalIndexType>>::move_to; - void convert_to(Matrix, local_index_type, + void convert_to(Matrix, local_index_type, global_index_type>* result) const override; - void move_to(Matrix, local_index_type, + void move_to(Matrix, local_index_type, global_index_type>* result) override; /** diff --git a/include/ginkgo/core/distributed/vector.hpp b/include/ginkgo/core/distributed/vector.hpp index 17b8d0f944b..a3dd460bd43 100644 --- a/include/ginkgo/core/distributed/vector.hpp +++ b/include/ginkgo/core/distributed/vector.hpp @@ -66,20 +66,20 @@ class Partition; template class Vector : public EnableDistributedLinOp>, - public ConvertibleTo>>, + public ConvertibleTo>>, public EnableAbsoluteComputation>>, public DistributedBase { friend class EnableDistributedPolymorphicObject; friend class Vector>; friend class Vector>; - friend class Vector>; + friend class Vector>; friend class detail::VectorCache; public: using EnableDistributedLinOp::convert_to; using EnableDistributedLinOp::move_to; - using ConvertibleTo>>::convert_to; - using ConvertibleTo>>::move_to; + using ConvertibleTo>>::convert_to; + using ConvertibleTo>>::move_to; using value_type = ValueType; using absolute_type = remove_complex; @@ -168,9 +168,10 @@ class Vector void read_distributed(const matrix_data& data, ptr_param> partition); - void convert_to(Vector>* result) const override; + void convert_to( + Vector>* result) const override; - void move_to(Vector>* result) override; + void move_to(Vector>* result) override; std::unique_ptr compute_absolute() const override; @@ -672,7 +673,7 @@ template struct conversion_target_helper> { using target_type = experimental::distributed::Vector; using source_type = - experimental::distributed::Vector>; + experimental::distributed::Vector>; static std::unique_ptr create_empty(const source_type* source) { diff --git a/include/ginkgo/core/matrix/batch_csr.hpp b/include/ginkgo/core/matrix/batch_csr.hpp index 49eb5e4d7cd..766ad1facb1 100644 --- a/include/ginkgo/core/matrix/batch_csr.hpp +++ b/include/ginkgo/core/matrix/batch_csr.hpp @@ -48,14 +48,12 @@ class Csr final : public EnableBatchLinOp>, #if GINKGO_ENABLE_HALF public ConvertibleTo< - Csr>, - IndexType>>, + Csr>, IndexType>>, #endif - public ConvertibleTo< - Csr, IndexType>> { + public ConvertibleTo, IndexType>> { friend class EnablePolymorphicObject; friend class Csr, IndexType>; - friend class Csr, IndexType>; + friend class Csr, IndexType>; static_assert(std::is_same::value, "IndexType must be a 32 bit integer"); @@ -69,30 +67,24 @@ class Csr final using absolute_type = remove_complex; using complex_type = to_complex; - void convert_to(Csr, IndexType>* result) - const override; + void convert_to( + Csr, IndexType>* result) const override; - void move_to( - Csr, IndexType>* result) override; + void move_to(Csr, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Csr< - previous_precision_with_half>, - IndexType>; + friend class Csr>, + IndexType>; using ConvertibleTo< - Csr>, - IndexType>>::convert_to; + Csr>, IndexType>>::convert_to; using ConvertibleTo< - Csr>, - IndexType>>::move_to; + Csr>, IndexType>>::move_to; - void convert_to( - Csr>, - IndexType>* result) const override; + void convert_to(Csr>, IndexType>* + result) const override; - void move_to( - Csr>, - IndexType>* result) override; + void move_to(Csr>, IndexType>* + result) override; #endif /** diff --git a/include/ginkgo/core/matrix/batch_dense.hpp b/include/ginkgo/core/matrix/batch_dense.hpp index c1340e482f4..ad4db6d0a84 100644 --- a/include/ginkgo/core/matrix/batch_dense.hpp +++ b/include/ginkgo/core/matrix/batch_dense.hpp @@ -48,13 +48,12 @@ template class Dense final : public EnableBatchLinOp>, #if GINKGO_ENABLE_HALF - public ConvertibleTo< - Dense>>>, + public ConvertibleTo>>>, #endif - public ConvertibleTo>> { + public ConvertibleTo>> { friend class EnablePolymorphicObject; friend class Dense>; - friend class Dense>; + friend class Dense>; public: using EnableBatchLinOp::convert_to; @@ -67,26 +66,22 @@ class Dense final using absolute_type = remove_complex; using complex_type = to_complex; - void convert_to( - Dense>* result) const override; + void convert_to(Dense>* result) const override; - void move_to(Dense>* result) override; + void move_to(Dense>* result) override; #if GINKGO_ENABLE_HALF - friend class Dense< - previous_precision_with_half>>; - using ConvertibleTo>>>::convert_to; - using ConvertibleTo>>>::move_to; + friend class Dense>>; + using ConvertibleTo< + Dense>>>::convert_to; + using ConvertibleTo< + Dense>>>::move_to; - void convert_to( - Dense>>* - result) const override; + void convert_to(Dense>>* result) + const override; void move_to( - Dense>>* - result) override; + Dense>>* result) override; #endif /** diff --git a/include/ginkgo/core/matrix/batch_ell.hpp b/include/ginkgo/core/matrix/batch_ell.hpp index 872b8ce2db9..c52da8f8f9d 100644 --- a/include/ginkgo/core/matrix/batch_ell.hpp +++ b/include/ginkgo/core/matrix/batch_ell.hpp @@ -53,14 +53,12 @@ class Ell final : public EnableBatchLinOp>, #if GINKGO_ENABLE_HALF public ConvertibleTo< - Ell>, - IndexType>>, + Ell>, IndexType>>, #endif - public ConvertibleTo< - Ell, IndexType>> { + public ConvertibleTo, IndexType>> { friend class EnablePolymorphicObject; friend class Ell, IndexType>; - friend class Ell, IndexType>; + friend class Ell, IndexType>; static_assert(std::is_same::value, "IndexType must be a 32 bit integer"); @@ -74,30 +72,24 @@ class Ell final using absolute_type = remove_complex; using complex_type = to_complex; - void convert_to(Ell, IndexType>* result) - const override; + void convert_to( + Ell, IndexType>* result) const override; - void move_to( - Ell, IndexType>* result) override; + void move_to(Ell, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Ell< - previous_precision_with_half>, - IndexType>; + friend class Ell>, + IndexType>; using ConvertibleTo< - Ell>, - IndexType>>::convert_to; + Ell>, IndexType>>::convert_to; using ConvertibleTo< - Ell>, - IndexType>>::move_to; + Ell>, IndexType>>::move_to; - void convert_to( - Ell>, - IndexType>* result) const override; + void convert_to(Ell>, IndexType>* + result) const override; - void move_to( - Ell>, - IndexType>* result) override; + void move_to(Ell>, IndexType>* + result) override; #endif /** diff --git a/include/ginkgo/core/matrix/coo.hpp b/include/ginkgo/core/matrix/coo.hpp index a0edf5aa862..89e94568f0f 100644 --- a/include/ginkgo/core/matrix/coo.hpp +++ b/include/ginkgo/core/matrix/coo.hpp @@ -47,21 +47,19 @@ class Hybrid; * @ingroup LinOp */ template -class Coo - : public EnableLinOp>, - public ConvertibleTo, IndexType>>, +class Coo : public EnableLinOp>, + public ConvertibleTo, IndexType>>, #if GINKGO_ENABLE_HALF - public ConvertibleTo< - Coo>, - IndexType>>, + public ConvertibleTo< + Coo>, IndexType>>, #endif - public ConvertibleTo>, - public ConvertibleTo>, - public DiagonalExtractable, - public ReadableFromMatrixData, - public WritableToMatrixData, - public EnableAbsoluteComputation< - remove_complex>> { + public ConvertibleTo>, + public ConvertibleTo>, + public DiagonalExtractable, + public ReadableFromMatrixData, + public WritableToMatrixData, + public EnableAbsoluteComputation< + remove_complex>> { friend class EnablePolymorphicObject; friend class Csr; friend class Dense; @@ -72,10 +70,8 @@ class Coo public: using EnableLinOp::convert_to; using EnableLinOp::move_to; - using ConvertibleTo< - Coo, IndexType>>::convert_to; - using ConvertibleTo< - Coo, IndexType>>::move_to; + using ConvertibleTo, IndexType>>::convert_to; + using ConvertibleTo, IndexType>>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; @@ -88,32 +84,26 @@ class Coo using device_mat_data = device_matrix_data; using absolute_type = remove_complex; - friend class Coo, IndexType>; + friend class Coo, IndexType>; - void convert_to(Coo, IndexType>* result) - const override; + void convert_to( + Coo, IndexType>* result) const override; - void move_to( - Coo, IndexType>* result) override; + void move_to(Coo, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Coo< - previous_precision_with_half>, - IndexType>; + friend class Coo>, + IndexType>; using ConvertibleTo< - Coo>, - IndexType>>::convert_to; + Coo>, IndexType>>::convert_to; using ConvertibleTo< - Coo>, - IndexType>>::move_to; + Coo>, IndexType>>::move_to; - void convert_to( - Coo>, - IndexType>* result) const override; + void convert_to(Coo>, IndexType>* + result) const override; - void move_to( - Coo>, - IndexType>* result) override; + void move_to(Coo>, IndexType>* + result) override; #endif void convert_to(Csr* other) const override; diff --git a/include/ginkgo/core/matrix/csr.hpp b/include/ginkgo/core/matrix/csr.hpp index 2f66683085f..9c620f10ded 100644 --- a/include/ginkgo/core/matrix/csr.hpp +++ b/include/ginkgo/core/matrix/csr.hpp @@ -98,29 +98,27 @@ void strategy_rebuild_helper(Csr* result); * @ingroup LinOp */ template -class Csr - : public EnableLinOp>, - public ConvertibleTo, IndexType>>, +class Csr : public EnableLinOp>, + public ConvertibleTo, IndexType>>, #if GINKGO_ENABLE_HALF - public ConvertibleTo< - Csr>, - IndexType>>, + public ConvertibleTo< + Csr>, IndexType>>, #endif - public ConvertibleTo>, - public ConvertibleTo>, - public ConvertibleTo>, - public ConvertibleTo>, - public ConvertibleTo>, - public ConvertibleTo>, - public ConvertibleTo>, - public DiagonalExtractable, - public ReadableFromMatrixData, - public WritableToMatrixData, - public Transposable, - public Permutable, - public EnableAbsoluteComputation< - remove_complex>>, - public ScaledIdentityAddable { + public ConvertibleTo>, + public ConvertibleTo>, + public ConvertibleTo>, + public ConvertibleTo>, + public ConvertibleTo>, + public ConvertibleTo>, + public ConvertibleTo>, + public DiagonalExtractable, + public ReadableFromMatrixData, + public WritableToMatrixData, + public Transposable, + public Permutable, + public EnableAbsoluteComputation< + remove_complex>>, + public ScaledIdentityAddable { friend class EnablePolymorphicObject; friend class Coo; friend class Dense; @@ -136,10 +134,8 @@ class Csr public: using EnableLinOp::convert_to; using EnableLinOp::move_to; - using ConvertibleTo< - Csr, IndexType>>::convert_to; - using ConvertibleTo< - Csr, IndexType>>::move_to; + using ConvertibleTo, IndexType>>::convert_to; + using ConvertibleTo, IndexType>>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; @@ -696,32 +692,26 @@ class Csr index_type max_length_per_row_; }; - friend class Csr, IndexType>; + friend class Csr, IndexType>; - void convert_to(Csr, IndexType>* result) - const override; + void convert_to( + Csr, IndexType>* result) const override; - void move_to( - Csr, IndexType>* result) override; + void move_to(Csr, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Csr< - previous_precision_with_half>, - IndexType>; + friend class Csr>, + IndexType>; using ConvertibleTo< - Csr>, - IndexType>>::convert_to; + Csr>, IndexType>>::convert_to; using ConvertibleTo< - Csr>, - IndexType>>::move_to; + Csr>, IndexType>>::move_to; - void convert_to( - Csr>, - IndexType>* result) const override; + void convert_to(Csr>, IndexType>* + result) const override; - void move_to( - Csr>, - IndexType>* result) override; + void move_to(Csr>, IndexType>* + result) override; #endif void convert_to(Dense* other) const override; diff --git a/include/ginkgo/core/matrix/dense.hpp b/include/ginkgo/core/matrix/dense.hpp index 9ae96ca46d6..9e19109e82a 100644 --- a/include/ginkgo/core/matrix/dense.hpp +++ b/include/ginkgo/core/matrix/dense.hpp @@ -87,10 +87,9 @@ class SparsityCsr; template class Dense : public EnableLinOp>, - public ConvertibleTo>>, + public ConvertibleTo>>, #if GINKGO_ENABLE_HALF - public ConvertibleTo< - Dense>>>, + public ConvertibleTo>>>, #endif public ConvertibleTo>, public ConvertibleTo>, @@ -139,8 +138,8 @@ class Dense public: using EnableLinOp::convert_to; using EnableLinOp::move_to; - using ConvertibleTo>>::convert_to; - using ConvertibleTo>>::move_to; + using ConvertibleTo>>::convert_to; + using ConvertibleTo>>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; @@ -280,28 +279,24 @@ class Dense return other->create_const_view_of_impl(); } - friend class Dense>; + friend class Dense>; - void convert_to( - Dense>* result) const override; + void convert_to(Dense>* result) const override; - void move_to(Dense>* result) override; + void move_to(Dense>* result) override; #if GINKGO_ENABLE_HALF - friend class Dense< - previous_precision_with_half>>; - using ConvertibleTo>>>::convert_to; - using ConvertibleTo>>>::move_to; + friend class Dense>>; + using ConvertibleTo< + Dense>>>::convert_to; + using ConvertibleTo< + Dense>>>::move_to; - void convert_to( - Dense>>* - result) const override; + void convert_to(Dense>>* result) + const override; void move_to( - Dense>>* - result) override; + Dense>>* result) override; #endif void convert_to(Coo* result) const override; diff --git a/include/ginkgo/core/matrix/diagonal.hpp b/include/ginkgo/core/matrix/diagonal.hpp index 3b11399138b..03a485f3ff3 100644 --- a/include/ginkgo/core/matrix/diagonal.hpp +++ b/include/ginkgo/core/matrix/diagonal.hpp @@ -41,10 +41,9 @@ class Diagonal : public EnableLinOp>, public ConvertibleTo>, public ConvertibleTo>, - public ConvertibleTo>>, + public ConvertibleTo>>, #if GINKGO_ENABLE_HALF - public ConvertibleTo>>>, + public ConvertibleTo>>>, #endif public Transposable, public WritableToMatrixData, @@ -64,9 +63,8 @@ class Diagonal using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; - using ConvertibleTo< - Diagonal>>::convert_to; - using ConvertibleTo>>::move_to; + using ConvertibleTo>>::convert_to; + using ConvertibleTo>>::move_to; using value_type = ValueType; using index_type = int64; @@ -76,33 +74,28 @@ class Diagonal using device_mat_data32 = device_matrix_data; using absolute_type = remove_complex; - friend class Diagonal>; + friend class Diagonal>; std::unique_ptr transpose() const override; std::unique_ptr conj_transpose() const override; - void convert_to( - Diagonal>* result) const override; + void convert_to(Diagonal>* result) const override; - void move_to( - Diagonal>* result) override; + void move_to(Diagonal>* result) override; #if GINKGO_ENABLE_HALF - friend class Diagonal< - previous_precision_with_half>>; - using ConvertibleTo>>>::convert_to; - using ConvertibleTo>>>::move_to; + friend class Diagonal>>; + using ConvertibleTo< + Diagonal>>>::convert_to; + using ConvertibleTo< + Diagonal>>>::move_to; - void convert_to( - Diagonal>>* - result) const override; + void convert_to(Diagonal>>* result) + const override; void move_to( - Diagonal>>* - result) override; + Diagonal>>* result) override; #endif void convert_to(Csr* result) const override; diff --git a/include/ginkgo/core/matrix/ell.hpp b/include/ginkgo/core/matrix/ell.hpp index adbd3505855..8a1512e3f51 100644 --- a/include/ginkgo/core/matrix/ell.hpp +++ b/include/ginkgo/core/matrix/ell.hpp @@ -49,36 +49,32 @@ class Hybrid; * @ingroup LinOp */ template -class Ell - : public EnableLinOp>, - public ConvertibleTo, IndexType>>, +class Ell : public EnableLinOp>, + public ConvertibleTo, IndexType>>, #if GINKGO_ENABLE_HALF - public ConvertibleTo< - Ell>, - IndexType>>, + public ConvertibleTo< + Ell>, IndexType>>, #endif - public ConvertibleTo>, - public ConvertibleTo>, - public DiagonalExtractable, - public ReadableFromMatrixData, - public WritableToMatrixData, - public EnableAbsoluteComputation< - remove_complex>> { + public ConvertibleTo>, + public ConvertibleTo>, + public DiagonalExtractable, + public ReadableFromMatrixData, + public WritableToMatrixData, + public EnableAbsoluteComputation< + remove_complex>> { friend class EnablePolymorphicObject; friend class Dense; friend class Coo; friend class Csr; friend class Ell, IndexType>; - friend class Ell, IndexType>; + friend class Ell, IndexType>; friend class Hybrid; public: using EnableLinOp::convert_to; using EnableLinOp::move_to; - using ConvertibleTo< - Ell, IndexType>>::convert_to; - using ConvertibleTo< - Ell, IndexType>>::move_to; + using ConvertibleTo, IndexType>>::convert_to; + using ConvertibleTo, IndexType>>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; @@ -91,30 +87,24 @@ class Ell using device_mat_data = device_matrix_data; using absolute_type = remove_complex; - void convert_to(Ell, IndexType>* result) - const override; + void convert_to( + Ell, IndexType>* result) const override; - void move_to( - Ell, IndexType>* result) override; + void move_to(Ell, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Ell< - previous_precision_with_half>, - IndexType>; + friend class Ell>, + IndexType>; using ConvertibleTo< - Ell>, - IndexType>>::convert_to; + Ell>, IndexType>>::convert_to; using ConvertibleTo< - Ell>, - IndexType>>::move_to; + Ell>, IndexType>>::move_to; - void convert_to( - Ell>, - IndexType>* result) const override; + void convert_to(Ell>, IndexType>* + result) const override; - void move_to( - Ell>, - IndexType>* result) override; + void move_to(Ell>, IndexType>* + result) override; #endif void convert_to(Dense* other) const override; diff --git a/include/ginkgo/core/matrix/fbcsr.hpp b/include/ginkgo/core/matrix/fbcsr.hpp index 283807b242c..ae11dec6843 100644 --- a/include/ginkgo/core/matrix/fbcsr.hpp +++ b/include/ginkgo/core/matrix/fbcsr.hpp @@ -96,24 +96,21 @@ inline IndexType get_num_blocks(const int block_size, const IndexType size) * @ingroup LinOp */ template -class Fbcsr - : public EnableLinOp>, - public ConvertibleTo< - Fbcsr, IndexType>>, +class Fbcsr : public EnableLinOp>, + public ConvertibleTo, IndexType>>, #if GINKGO_ENABLE_HALF - public ConvertibleTo< - Fbcsr>, - IndexType>>, + public ConvertibleTo< + Fbcsr>, IndexType>>, #endif - public ConvertibleTo>, - public ConvertibleTo>, - public ConvertibleTo>, - public DiagonalExtractable, - public ReadableFromMatrixData, - public WritableToMatrixData, - public Transposable, - public EnableAbsoluteComputation< - remove_complex>> { + public ConvertibleTo>, + public ConvertibleTo>, + public ConvertibleTo>, + public DiagonalExtractable, + public ReadableFromMatrixData, + public WritableToMatrixData, + public Transposable, + public EnableAbsoluteComputation< + remove_complex>> { friend class EnablePolymorphicObject; friend class Csr; friend class Dense; @@ -143,9 +140,8 @@ class Fbcsr using EnableLinOp>::convert_to; using ConvertibleTo< - Fbcsr, IndexType>>::convert_to; - using ConvertibleTo< - Fbcsr, IndexType>>::move_to; + Fbcsr, IndexType>>::convert_to; + using ConvertibleTo, IndexType>>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; @@ -153,32 +149,26 @@ class Fbcsr using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; - friend class Fbcsr, IndexType>; + friend class Fbcsr, IndexType>; - void convert_to(Fbcsr, IndexType>* - result) const override; + void convert_to( + Fbcsr, IndexType>* result) const override; - void move_to( - Fbcsr, IndexType>* result) override; + void move_to(Fbcsr, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Fbcsr< - previous_precision_with_half>, - IndexType>; + friend class Fbcsr>, + IndexType>; + using ConvertibleTo>, + IndexType>>::convert_to; using ConvertibleTo< - Fbcsr>, - IndexType>>::convert_to; - using ConvertibleTo< - Fbcsr>, - IndexType>>::move_to; + Fbcsr>, IndexType>>::move_to; - void convert_to( - Fbcsr>, - IndexType>* result) const override; + void convert_to(Fbcsr>, IndexType>* + result) const override; - void move_to( - Fbcsr>, - IndexType>* result) override; + void move_to(Fbcsr>, IndexType>* + result) override; #endif void convert_to(Dense* other) const override; diff --git a/include/ginkgo/core/matrix/hybrid.hpp b/include/ginkgo/core/matrix/hybrid.hpp index 24cb3ed26c7..8432e856319 100644 --- a/include/ginkgo/core/matrix/hybrid.hpp +++ b/include/ginkgo/core/matrix/hybrid.hpp @@ -41,12 +41,10 @@ class Csr; template class Hybrid : public EnableLinOp>, - public ConvertibleTo< - Hybrid, IndexType>>, + public ConvertibleTo, IndexType>>, #if GINKGO_ENABLE_HALF public ConvertibleTo< - Hybrid>, - IndexType>>, + Hybrid>, IndexType>>, #endif public ConvertibleTo>, public ConvertibleTo>, @@ -65,9 +63,8 @@ class Hybrid using EnableLinOp::convert_to; using EnableLinOp::move_to; using ConvertibleTo< - Hybrid, IndexType>>::convert_to; - using ConvertibleTo< - Hybrid, IndexType>>::move_to; + Hybrid, IndexType>>::convert_to; + using ConvertibleTo, IndexType>>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; @@ -362,32 +359,26 @@ class Hybrid imbalance_bounded_limit strategy_; }; - friend class Hybrid, IndexType>; + friend class Hybrid, IndexType>; - void convert_to(Hybrid, IndexType>* - result) const override; + void convert_to( + Hybrid, IndexType>* result) const override; - void move_to(Hybrid, IndexType>* result) - override; + void move_to(Hybrid, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Hybrid< - previous_precision_with_half>, - IndexType>; + friend class Hybrid>, + IndexType>; + using ConvertibleTo>, + IndexType>>::convert_to; using ConvertibleTo< - Hybrid>, - IndexType>>::convert_to; - using ConvertibleTo< - Hybrid>, - IndexType>>::move_to; + Hybrid>, IndexType>>::move_to; - void convert_to( - Hybrid>, - IndexType>* result) const override; + void convert_to(Hybrid>, + IndexType>* result) const override; - void move_to( - Hybrid>, - IndexType>* result) override; + void move_to(Hybrid>, IndexType>* + result) override; #endif void convert_to(Dense* other) const override; diff --git a/include/ginkgo/core/matrix/sellp.hpp b/include/ginkgo/core/matrix/sellp.hpp index 6140a832c85..529df8e9f25 100644 --- a/include/ginkgo/core/matrix/sellp.hpp +++ b/include/ginkgo/core/matrix/sellp.hpp @@ -40,22 +40,19 @@ class Csr; * @ingroup LinOp */ template -class Sellp - : public EnableLinOp>, - public ConvertibleTo< - Sellp, IndexType>>, +class Sellp : public EnableLinOp>, + public ConvertibleTo, IndexType>>, #if GINKGO_ENABLE_HALF - public ConvertibleTo< - Sellp>, - IndexType>>, + public ConvertibleTo< + Sellp>, IndexType>>, #endif - public ConvertibleTo>, - public ConvertibleTo>, - public DiagonalExtractable, - public ReadableFromMatrixData, - public WritableToMatrixData, - public EnableAbsoluteComputation< - remove_complex>> { + public ConvertibleTo>, + public ConvertibleTo>, + public DiagonalExtractable, + public ReadableFromMatrixData, + public WritableToMatrixData, + public EnableAbsoluteComputation< + remove_complex>> { friend class EnablePolymorphicObject; friend class Dense; friend class Csr; @@ -65,9 +62,8 @@ class Sellp using EnableLinOp::convert_to; using EnableLinOp::move_to; using ConvertibleTo< - Sellp, IndexType>>::convert_to; - using ConvertibleTo< - Sellp, IndexType>>::move_to; + Sellp, IndexType>>::convert_to; + using ConvertibleTo, IndexType>>::move_to; using ConvertibleTo>::convert_to; using ConvertibleTo>::move_to; using ConvertibleTo>::convert_to; @@ -80,32 +76,26 @@ class Sellp using device_mat_data = device_matrix_data; using absolute_type = remove_complex; - friend class Sellp, IndexType>; + friend class Sellp, IndexType>; - void convert_to(Sellp, IndexType>* - result) const override; + void convert_to( + Sellp, IndexType>* result) const override; - void move_to( - Sellp, IndexType>* result) override; + void move_to(Sellp, IndexType>* result) override; #if GINKGO_ENABLE_HALF - friend class Sellp< - previous_precision_with_half>, - IndexType>; + friend class Sellp>, + IndexType>; + using ConvertibleTo>, + IndexType>>::convert_to; using ConvertibleTo< - Sellp>, - IndexType>>::convert_to; - using ConvertibleTo< - Sellp>, - IndexType>>::move_to; + Sellp>, IndexType>>::move_to; - void convert_to( - Sellp>, - IndexType>* result) const override; + void convert_to(Sellp>, IndexType>* + result) const override; - void move_to( - Sellp>, - IndexType>* result) override; + void move_to(Sellp>, IndexType>* + result) override; #endif void convert_to(Dense* other) const override; diff --git a/omp/base/batch_multi_vector_kernels.cpp b/omp/base/batch_multi_vector_kernels.cpp index bbae1b0b85d..5b57921ab8f 100644 --- a/omp/base/batch_multi_vector_kernels.cpp +++ b/omp/base/batch_multi_vector_kernels.cpp @@ -37,7 +37,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_SCALE_KERNEL); @@ -59,7 +59,7 @@ void add_scaled(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_ADD_SCALED_KERNEL); @@ -81,7 +81,7 @@ void compute_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_DOT_KERNEL); @@ -103,7 +103,7 @@ void compute_conj_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_CONJ_DOT_KERNEL); @@ -122,7 +122,7 @@ void compute_norm2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_NORM2_KERNEL); @@ -141,8 +141,7 @@ void copy(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); } // namespace batch_multi_vector diff --git a/omp/base/device_matrix_data_kernels.cpp b/omp/base/device_matrix_data_kernels.cpp index cb2dabd3010..bce89e2f409 100644 --- a/omp/base/device_matrix_data_kernels.cpp +++ b/omp/base/device_matrix_data_kernels.cpp @@ -69,7 +69,7 @@ void remove_zeros(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_REMOVE_ZEROS_KERNEL); @@ -127,7 +127,7 @@ void sum_duplicates(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SUM_DUPLICATES_KERNEL); @@ -142,7 +142,7 @@ void sort_row_major(std::shared_ptr exec, aos_to_soa(exec, tmp, data); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SORT_ROW_MAJOR_KERNEL); diff --git a/omp/distributed/assembly_kernels.cpp b/omp/distributed/assembly_kernels.cpp index 9fa9976e607..44c9c908c52 100644 --- a/omp/distributed/assembly_kernels.cpp +++ b/omp/distributed/assembly_kernels.cpp @@ -73,7 +73,7 @@ void count_non_owning_entries( num_input_elements); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_COUNT_NON_OWNING_ENTRIES); diff --git a/omp/distributed/matrix_kernels.cpp b/omp/distributed/matrix_kernels.cpp index 2f36ec4a778..d60b31ac6a8 100644 --- a/omp/distributed/matrix_kernels.cpp +++ b/omp/distributed/matrix_kernels.cpp @@ -149,7 +149,7 @@ void separate_local_nonlocal( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_SEPARATE_LOCAL_NONLOCAL); diff --git a/omp/distributed/vector_kernels.cpp b/omp/distributed/vector_kernels.cpp index 1ae60ed108e..007509f50fd 100644 --- a/omp/distributed/vector_kernels.cpp +++ b/omp/distributed/vector_kernels.cpp @@ -42,7 +42,7 @@ void build_local( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_DISTRIBUTED_VECTOR_BUILD_LOCAL); diff --git a/omp/factorization/cholesky_kernels.cpp b/omp/factorization/cholesky_kernels.cpp index 0eb30441405..aa4aabfc731 100644 --- a/omp/factorization/cholesky_kernels.cpp +++ b/omp/factorization/cholesky_kernels.cpp @@ -78,7 +78,7 @@ void symbolic_count(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_COUNT); @@ -126,7 +126,7 @@ void symbolic_factorize( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_FACTORIZE); @@ -169,7 +169,7 @@ void forest_from_factor( num_rows, num_rows + 1, child_ptrs); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_FOREST_FROM_FACTOR); @@ -201,8 +201,7 @@ void initialize(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_INITIALIZE); namespace { @@ -283,8 +282,7 @@ void factorize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_FACTORIZE); } // namespace cholesky diff --git a/omp/factorization/factorization_kernels.cpp b/omp/factorization/factorization_kernels.cpp index 47cd38d89c3..e7b66f6f887 100644 --- a/omp/factorization/factorization_kernels.cpp +++ b/omp/factorization/factorization_kernels.cpp @@ -180,7 +180,7 @@ void add_diagonal_elements(std::shared_ptr exec, mtx_builder.get_col_idx_array() = std::move(new_col_idxs); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_ADD_DIAGONAL_ELEMENTS_KERNEL); @@ -215,7 +215,7 @@ void initialize_row_ptrs_l_u( components::prefix_sum_nonnegative(exec, u_row_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_U_KERNEL); @@ -233,7 +233,7 @@ void initialize_l_u(std::shared_ptr exec, helpers::identity{})); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_U_KERNEL); @@ -264,7 +264,7 @@ void initialize_row_ptrs_l( components::prefix_sum_nonnegative(exec, l_row_ptrs, num_rows + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_KERNEL); @@ -287,7 +287,7 @@ void initialize_l(std::shared_ptr exec, helpers::identity{})); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_KERNEL); diff --git a/omp/factorization/ic_kernels.cpp b/omp/factorization/ic_kernels.cpp index 313bf8c7982..c071ba2ca87 100644 --- a/omp/factorization/ic_kernels.cpp +++ b/omp/factorization/ic_kernels.cpp @@ -20,7 +20,7 @@ template void sparselib_ic(std::shared_ptr exec, matrix::Csr* m) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_IC_SPARSELIB_IC_KERNEL); diff --git a/omp/factorization/ilu_kernels.cpp b/omp/factorization/ilu_kernels.cpp index db3fd5ef7a8..b88e6a77900 100644 --- a/omp/factorization/ilu_kernels.cpp +++ b/omp/factorization/ilu_kernels.cpp @@ -20,7 +20,7 @@ template void sparselib_ilu(std::shared_ptr exec, matrix::Csr* m) GKO_NOT_IMPLEMENTED; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ILU_SPARSELIB_ILU_KERNEL); diff --git a/omp/factorization/lu_kernels.cpp b/omp/factorization/lu_kernels.cpp index 5f766a7208a..8bcfd155715 100644 --- a/omp/factorization/lu_kernels.cpp +++ b/omp/factorization/lu_kernels.cpp @@ -59,8 +59,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_INITIALIZE); namespace { @@ -127,8 +126,7 @@ void factorize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_FACTORIZE); template diff --git a/omp/factorization/par_ic_kernels.cpp b/omp/factorization/par_ic_kernels.cpp index 9488c448519..93093783acc 100644 --- a/omp/factorization/par_ic_kernels.cpp +++ b/omp/factorization/par_ic_kernels.cpp @@ -42,7 +42,7 @@ void init_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_INIT_FACTOR_KERNEL); @@ -96,7 +96,7 @@ void compute_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_COMPUTE_FACTOR_KERNEL); diff --git a/omp/factorization/par_ict_kernels.cpp b/omp/factorization/par_ict_kernels.cpp index a67ad860965..b5546e1a644 100644 --- a/omp/factorization/par_ict_kernels.cpp +++ b/omp/factorization/par_ict_kernels.cpp @@ -91,7 +91,7 @@ void compute_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_COMPUTE_FACTOR_KERNEL); @@ -166,7 +166,7 @@ void add_candidates(std::shared_ptr exec, [](IndexType, row_state) {}); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_ADD_CANDIDATES_KERNEL); diff --git a/omp/factorization/par_ilu_kernels.cpp b/omp/factorization/par_ilu_kernels.cpp index 0504bca8b1d..da42a631b81 100644 --- a/omp/factorization/par_ilu_kernels.cpp +++ b/omp/factorization/par_ilu_kernels.cpp @@ -88,7 +88,7 @@ void compute_l_u_factors(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILU_COMPUTE_L_U_FACTORS_KERNEL); diff --git a/omp/factorization/par_ilut_kernels.cpp b/omp/factorization/par_ilut_kernels.cpp index af9229f3509..8b251e88bf4 100644 --- a/omp/factorization/par_ilut_kernels.cpp +++ b/omp/factorization/par_ilut_kernels.cpp @@ -54,7 +54,7 @@ void threshold_select(std::shared_ptr exec, threshold = abs(*target); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_SELECT_KERNEL); @@ -144,7 +144,7 @@ void threshold_filter(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_KERNEL); @@ -233,7 +233,7 @@ void threshold_filter_approx(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_APPROX_KERNEL); @@ -317,7 +317,7 @@ void compute_l_u_factors(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_COMPUTE_LU_FACTORS_KERNEL); @@ -433,7 +433,7 @@ void add_candidates(std::shared_ptr exec, [](IndexType, row_state) {}); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_ADD_CANDIDATES_KERNEL); diff --git a/omp/matrix/batch_csr_kernels.cpp b/omp/matrix/batch_csr_kernels.cpp index b55253e9d4e..d4ea6cbd642 100644 --- a/omp/matrix/batch_csr_kernels.cpp +++ b/omp/matrix/batch_csr_kernels.cpp @@ -41,7 +41,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SIMPLE_APPLY_KERNEL); @@ -71,7 +71,7 @@ void advanced_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADVANCED_APPLY_KERNEL); @@ -98,7 +98,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SCALE_KERNEL); @@ -122,7 +122,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADD_SCALED_IDENTITY_KERNEL); diff --git a/omp/matrix/batch_dense_kernels.cpp b/omp/matrix/batch_dense_kernels.cpp index ea7da295bb4..cd4a7f05b4a 100644 --- a/omp/matrix/batch_dense_kernels.cpp +++ b/omp/matrix/batch_dense_kernels.cpp @@ -41,7 +41,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_SIMPLE_APPLY_KERNEL); @@ -71,7 +71,7 @@ void advanced_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADVANCED_APPLY_KERNEL); @@ -98,8 +98,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); template @@ -122,8 +121,7 @@ void scale_add(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); template @@ -146,7 +144,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADD_SCALED_IDENTITY_KERNEL); diff --git a/omp/matrix/batch_ell_kernels.cpp b/omp/matrix/batch_ell_kernels.cpp index 74b8d94cfc8..8b1239565a1 100644 --- a/omp/matrix/batch_ell_kernels.cpp +++ b/omp/matrix/batch_ell_kernels.cpp @@ -41,7 +41,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SIMPLE_APPLY_KERNEL); @@ -71,7 +71,7 @@ void advanced_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADVANCED_APPLY_KERNEL); @@ -98,7 +98,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SCALE_KERNEL); @@ -122,7 +122,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADD_SCALED_IDENTITY_KERNEL); diff --git a/omp/matrix/coo_kernels.cpp b/omp/matrix/coo_kernels.cpp index 6d4a46b7ed3..021795d8e9c 100644 --- a/omp/matrix/coo_kernels.cpp +++ b/omp/matrix/coo_kernels.cpp @@ -42,8 +42,7 @@ void spmv(std::shared_ptr exec, spmv2(exec, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV_KERNEL); template @@ -58,7 +57,7 @@ void advanced_spmv(std::shared_ptr exec, advanced_spmv2(exec, alpha, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV_KERNEL); @@ -307,8 +306,7 @@ void spmv2(std::shared_ptr exec, generic_spmv2(exec, a, b, c, one()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV2_KERNEL); template @@ -321,7 +319,7 @@ void advanced_spmv2(std::shared_ptr exec, generic_spmv2(exec, a, b, c, alpha->at(0, 0)); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV2_KERNEL); diff --git a/omp/matrix/csr_kernels.cpp b/omp/matrix/csr_kernels.cpp index d9c7b9840c1..1adcc0df186 100644 --- a/omp/matrix/csr_kernels.cpp +++ b/omp/matrix/csr_kernels.cpp @@ -77,7 +77,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_SPMV_KERNEL); @@ -118,7 +118,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL); @@ -374,8 +374,7 @@ void spgemm(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEMM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEMM_KERNEL); template @@ -491,7 +490,7 @@ void advanced_spgemm(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADVANCED_SPGEMM_KERNEL); @@ -541,8 +540,7 @@ void spgeam(std::shared_ptr exec, [](IndexType, IndexType) {}); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEAM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEAM_KERNEL); template @@ -565,7 +563,7 @@ void fill_in_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_FILL_IN_DENSE_KERNEL); @@ -635,7 +633,7 @@ void convert_to_fbcsr(std::shared_ptr exec, std::copy(col_idx_vec.begin(), col_idx_vec.end(), col_idxs.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_FBCSR_KERNEL); @@ -694,8 +692,7 @@ void transpose(std::shared_ptr exec, [](const ValueType x) { return x; }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_TRANSPOSE_KERNEL); template @@ -707,7 +704,7 @@ void conj_transpose(std::shared_ptr exec, [](const ValueType x) { return conj(x); }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONJ_TRANSPOSE_KERNEL); @@ -731,7 +728,7 @@ void calculate_nonzeros_per_row_in_span( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_SPAN_KERNEL); @@ -778,7 +775,7 @@ void calculate_nonzeros_per_row_in_index_set( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_INDEX_SET_KERNEL); @@ -811,7 +808,7 @@ void compute_submatrix(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_KERNEL); @@ -871,7 +868,7 @@ void compute_submatrix_from_index_set( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_FROM_INDEX_SET_KERNEL); @@ -884,7 +881,7 @@ void inv_symm_permute(std::shared_ptr exec, inv_nonsymm_permute(exec, perm, perm, orig, permuted); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_PERMUTE_KERNEL); @@ -924,7 +921,7 @@ void inv_nonsymm_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_PERMUTE_KERNEL); @@ -962,7 +959,7 @@ void row_permute(std::shared_ptr exec, const IndexType* perm, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_PERMUTE_KERNEL); @@ -1001,7 +998,7 @@ void inv_row_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_PERMUTE_KERNEL); @@ -1014,7 +1011,7 @@ void inv_symm_scale_permute(std::shared_ptr exec, inv_nonsymm_scale_permute(exec, scale, perm, scale, perm, orig, permuted); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_SCALE_PERMUTE_KERNEL); @@ -1058,7 +1055,7 @@ void inv_nonsymm_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_SCALE_PERMUTE_KERNEL); @@ -1099,7 +1096,7 @@ void row_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_SCALE_PERMUTE_KERNEL); @@ -1140,7 +1137,7 @@ void inv_row_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_SCALE_PERMUTE_KERNEL); @@ -1163,7 +1160,7 @@ void sort_by_column_index(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_SORT_BY_COLUMN_INDEX); @@ -1191,7 +1188,7 @@ void is_sorted_by_column_index( *is_sorted = local_is_sorted; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_IS_SORTED_BY_COLUMN_INDEX); @@ -1217,8 +1214,7 @@ void extract_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_EXTRACT_DIAGONAL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_EXTRACT_DIAGONAL); template @@ -1245,7 +1241,7 @@ void check_diagonal_entries_exist(std::shared_ptr exec, has_all_diags = l_has_all_diags; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CHECK_DIAGONAL_ENTRIES_EXIST); @@ -1274,7 +1270,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADD_SCALED_IDENTITY_KERNEL); diff --git a/omp/matrix/dense_kernels.cpp b/omp/matrix/dense_kernels.cpp index 4ca5aa0c075..d1c0f2f8949 100644 --- a/omp/matrix/dense_kernels.cpp +++ b/omp/matrix/dense_kernels.cpp @@ -46,7 +46,7 @@ void compute_dot_dispatch(std::shared_ptr exec, compute_dot(exec, x, y, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_DOT_DISPATCH_KERNEL); @@ -60,7 +60,7 @@ void compute_conj_dot_dispatch(std::shared_ptr exec, compute_conj_dot(exec, x, y, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_DISPATCH_KERNEL); @@ -73,7 +73,7 @@ void compute_norm2_dispatch(std::shared_ptr exec, compute_norm2(exec, x, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_NORM2_DISPATCH_KERNEL); @@ -100,8 +100,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); template @@ -137,7 +136,7 @@ void apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_APPLY_KERNEL); template @@ -169,7 +168,7 @@ void convert_to_coo(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_COO_KERNEL); @@ -200,7 +199,7 @@ void convert_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_CSR_KERNEL); @@ -233,7 +232,7 @@ void convert_to_ell(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_ELL_KERNEL); @@ -281,7 +280,7 @@ void convert_to_fbcsr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_FBCSR_KERNEL); @@ -327,7 +326,7 @@ void convert_to_hybrid(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_HYBRID_KERNEL); @@ -369,7 +368,7 @@ void convert_to_sellp(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SELLP_KERNEL); @@ -399,7 +398,7 @@ void convert_to_sparsity_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SPARSITY_CSR_KERNEL); @@ -416,8 +415,7 @@ void transpose(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); template @@ -433,8 +431,7 @@ void conj_transpose(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); template @@ -464,7 +461,7 @@ void count_nonzero_blocks_per_row(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COUNT_NONZERO_BLOCKS_PER_ROW_KERNEL); diff --git a/omp/matrix/diagonal_kernels.cpp b/omp/matrix/diagonal_kernels.cpp index c16e740dc45..71363c7bc6e 100644 --- a/omp/matrix/diagonal_kernels.cpp +++ b/omp/matrix/diagonal_kernels.cpp @@ -43,7 +43,7 @@ void apply_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_APPLY_TO_CSR_KERNEL); diff --git a/omp/matrix/ell_kernels.cpp b/omp/matrix/ell_kernels.cpp index dc200ae0f93..c35a3654b86 100644 --- a/omp/matrix/ell_kernels.cpp +++ b/omp/matrix/ell_kernels.cpp @@ -185,7 +185,7 @@ void spmv(std::shared_ptr exec, spmv_blocked<4>(exec, a, b, c, out); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_SPMV_KERNEL); @@ -228,7 +228,7 @@ void advanced_spmv(std::shared_ptr exec, spmv_blocked<4>(exec, a, b, c, out); } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_ADVANCED_SPMV_KERNEL); diff --git a/omp/matrix/fbcsr_kernels.cpp b/omp/matrix/fbcsr_kernels.cpp index 14dcb1db77a..d17d47a7467 100644 --- a/omp/matrix/fbcsr_kernels.cpp +++ b/omp/matrix/fbcsr_kernels.cpp @@ -74,8 +74,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_SPMV_KERNEL); template @@ -119,7 +118,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_ADVANCED_SPMV_KERNEL); @@ -177,7 +176,7 @@ void fill_in_matrix_data(std::shared_ptr exec, std::copy(col_idx_vec.begin(), col_idx_vec.end(), col_idxs.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_MATRIX_DATA_KERNEL); @@ -210,7 +209,7 @@ void fill_in_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_DENSE_KERNEL); @@ -256,7 +255,7 @@ void convert_to_csr(const std::shared_ptr exec, row_ptrs[result->get_size()[0]] = source->get_num_stored_elements(); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONVERT_TO_CSR_KERNEL); @@ -331,7 +330,7 @@ void transpose(std::shared_ptr exec, [](const ValueType x) { return x; }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_TRANSPOSE_KERNEL); @@ -344,7 +343,7 @@ void conj_transpose(std::shared_ptr exec, [](const ValueType x) { return conj(x); }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONJ_TRANSPOSE_KERNEL); @@ -372,7 +371,7 @@ void is_sorted_by_column_index( *is_sorted = local_is_sorted; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_IS_SORTED_BY_COLUMN_INDEX); @@ -427,7 +426,7 @@ void sort_by_column_index(const std::shared_ptr exec, syn::value_list(), syn::type_list<>(), to_sort); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_SORT_BY_COLUMN_INDEX); @@ -464,7 +463,7 @@ void extract_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_EXTRACT_DIAGONAL); diff --git a/omp/matrix/fft_kernels.cpp b/omp/matrix/fft_kernels.cpp index 0301b9093ff..c4858b32334 100644 --- a/omp/matrix/fft_kernels.cpp +++ b/omp/matrix/fft_kernels.cpp @@ -119,7 +119,7 @@ void fft(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT_KERNEL); template @@ -190,7 +190,7 @@ void fft2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT2_KERNEL); template @@ -295,7 +295,7 @@ void fft3(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT3_KERNEL); } // namespace fft diff --git a/omp/matrix/sellp_kernels.cpp b/omp/matrix/sellp_kernels.cpp index 6306093b36d..7f8b16264ce 100644 --- a/omp/matrix/sellp_kernels.cpp +++ b/omp/matrix/sellp_kernels.cpp @@ -155,8 +155,7 @@ void spmv(std::shared_ptr exec, spmv_blocked<4>(exec, a, b, c, out); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_SPMV_KERNEL); template @@ -195,7 +194,7 @@ void advanced_spmv(std::shared_ptr exec, spmv_blocked<4>(exec, a, b, c, out); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_ADVANCED_SPMV_KERNEL); diff --git a/omp/matrix/sparsity_csr_kernels.cpp b/omp/matrix/sparsity_csr_kernels.cpp index 560ee6d4890..35bb42c70a6 100644 --- a/omp/matrix/sparsity_csr_kernels.cpp +++ b/omp/matrix/sparsity_csr_kernels.cpp @@ -58,7 +58,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SPMV_KERNEL); @@ -95,7 +95,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_ADVANCED_SPMV_KERNEL); @@ -149,7 +149,7 @@ void transpose(std::shared_ptr exec, transpose_and_transform(exec, trans, orig); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_TRANSPOSE_KERNEL); @@ -168,7 +168,7 @@ void sort_by_column_index(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SORT_BY_COLUMN_INDEX); @@ -197,7 +197,7 @@ void is_sorted_by_column_index( *is_sorted = local_is_sorted; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_IS_SORTED_BY_COLUMN_INDEX); diff --git a/omp/multigrid/pgm_kernels.cpp b/omp/multigrid/pgm_kernels.cpp index bfe95291f2e..4c824a0140b 100644 --- a/omp/multigrid/pgm_kernels.cpp +++ b/omp/multigrid/pgm_kernels.cpp @@ -47,8 +47,7 @@ void sort_row_major(std::shared_ptr exec, size_type nnz, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PGM_SORT_ROW_MAJOR); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM_SORT_ROW_MAJOR); template @@ -84,7 +83,7 @@ void compute_coarse_coo(std::shared_ptr exec, coarse_val[coarse_idxs] = temp_val; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_COMPUTE_COARSE_COO); diff --git a/omp/preconditioner/batch_jacobi_kernels.cpp b/omp/preconditioner/batch_jacobi_kernels.cpp index 99036fd628f..58fb2602075 100644 --- a/omp/preconditioner/batch_jacobi_kernels.cpp +++ b/omp/preconditioner/batch_jacobi_kernels.cpp @@ -74,7 +74,7 @@ void extract_common_blocks_pattern( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_EXTRACT_PATTERN_KERNEL); @@ -102,7 +102,7 @@ void compute_block_jacobi( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_KERNEL); diff --git a/omp/preconditioner/isai_kernels.cpp b/omp/preconditioner/isai_kernels.cpp index 61a2193a2b3..6f2fe4838d9 100644 --- a/omp/preconditioner/isai_kernels.cpp +++ b/omp/preconditioner/isai_kernels.cpp @@ -230,7 +230,7 @@ void generate_tri_inverse(std::shared_ptr exec, trs_solve, true); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_TRI_INVERSE_KERNEL); @@ -324,7 +324,7 @@ void generate_general_inverse(std::shared_ptr exec, general_solve, false); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_GENERAL_INVERSE_KERNEL); @@ -388,7 +388,7 @@ void generate_excess_system(std::shared_ptr, e_row_ptrs[e_dim] = excess_nz_ptrs[e_end] - excess_nz_ptrs[e_start]; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_EXCESS_SYSTEM_KERNEL); @@ -415,7 +415,7 @@ void scale_excess_solution(std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCALE_EXCESS_SOLUTION_KERNEL); @@ -441,7 +441,7 @@ void scatter_excess_solution(std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCATTER_EXCESS_SOLUTION_KERNEL); diff --git a/omp/preconditioner/jacobi_kernels.cpp b/omp/preconditioner/jacobi_kernels.cpp index ee51f7adb40..76224f97a2f 100644 --- a/omp/preconditioner/jacobi_kernels.cpp +++ b/omp/preconditioner/jacobi_kernels.cpp @@ -132,7 +132,7 @@ void find_blocks(std::shared_ptr exec, block_pointers.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_FIND_BLOCKS_KERNEL); @@ -436,7 +436,7 @@ void generate(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_GENERATE_KERNEL); @@ -514,8 +514,7 @@ void apply(std::shared_ptr exec, size_type num_blocks, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_APPLY_KERNEL); template @@ -549,7 +548,7 @@ void simple_apply( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_SIMPLE_APPLY_KERNEL); @@ -586,7 +585,7 @@ void transpose_jacobi( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_TRANSPOSE_KERNEL); @@ -623,7 +622,7 @@ void conj_transpose_jacobi( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONJ_TRANSPOSE_KERNEL); @@ -662,7 +661,7 @@ void convert_to_dense( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONVERT_TO_DENSE_KERNEL); diff --git a/omp/preconditioner/sor_kernels.cpp b/omp/preconditioner/sor_kernels.cpp index 670277b6ebd..509946ac15a 100644 --- a/omp/preconditioner/sor_kernels.cpp +++ b/omp/preconditioner/sor_kernels.cpp @@ -29,7 +29,7 @@ void initialize_weighted_l( [](auto val) { return val; })); }; -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L); @@ -57,7 +57,7 @@ void initialize_weighted_l_u( })); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L_U); diff --git a/omp/solver/batch_bicgstab_kernels.cpp b/omp/solver/batch_bicgstab_kernels.cpp index f8a4dbb8172..11f412f1835 100644 --- a/omp/solver/batch_bicgstab_kernels.cpp +++ b/omp/solver/batch_bicgstab_kernels.cpp @@ -91,7 +91,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_BICGSTAB_APPLY_KERNEL_WRAPPER); diff --git a/omp/solver/batch_cg_kernels.cpp b/omp/solver/batch_cg_kernels.cpp index 26a7046a176..d8c05c39f74 100644 --- a/omp/solver/batch_cg_kernels.cpp +++ b/omp/solver/batch_cg_kernels.cpp @@ -97,7 +97,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_CG_APPLY_KERNEL_WRAPPER); diff --git a/omp/solver/cb_gmres_kernels.cpp b/omp/solver/cb_gmres_kernels.cpp index a53294b9fbe..aeffc3202d6 100644 --- a/omp/solver/cb_gmres_kernels.cpp +++ b/omp/solver/cb_gmres_kernels.cpp @@ -330,7 +330,8 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE( + GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); template diff --git a/omp/solver/idr_kernels.cpp b/omp/solver/idr_kernels.cpp index eb0eb1074e5..9218f48c859 100644 --- a/omp/solver/idr_kernels.cpp +++ b/omp/solver/idr_kernels.cpp @@ -184,8 +184,7 @@ void initialize(std::shared_ptr exec, const size_type nrhs, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_INITIALIZE_KERNEL); template @@ -219,7 +218,7 @@ void step_1(std::shared_ptr exec, const size_type nrhs, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_1_KERNEL); template @@ -245,7 +244,7 @@ void step_2(std::shared_ptr exec, const size_type nrhs, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_2_KERNEL); template @@ -291,7 +290,7 @@ void step_3(std::shared_ptr exec, const size_type nrhs, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_3_KERNEL); template @@ -322,8 +321,7 @@ void compute_omega( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); } // namespace idr diff --git a/omp/solver/lower_trs_kernels.cpp b/omp/solver/lower_trs_kernels.cpp index c873e5e8958..6dac6b46078 100644 --- a/omp/solver/lower_trs_kernels.cpp +++ b/omp/solver/lower_trs_kernels.cpp @@ -47,7 +47,7 @@ void generate(std::shared_ptr exec, // "analysis" phase for the triangular matrix. } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_GENERATE_KERNEL); @@ -88,7 +88,7 @@ void solve(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_SOLVE_KERNEL); diff --git a/omp/solver/multigrid_kernels.cpp b/omp/solver/multigrid_kernels.cpp index 509ecf51828..12e5bad8577 100644 --- a/omp/solver/multigrid_kernels.cpp +++ b/omp/solver/multigrid_kernels.cpp @@ -44,8 +44,7 @@ void kcycle_step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); template @@ -75,8 +74,7 @@ void kcycle_step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); template @@ -94,7 +92,7 @@ void kcycle_check_stop(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_MULTIGRID_KCYCLE_CHECK_STOP_KERNEL); diff --git a/omp/solver/upper_trs_kernels.cpp b/omp/solver/upper_trs_kernels.cpp index 5014f823d35..ea05cabeb63 100644 --- a/omp/solver/upper_trs_kernels.cpp +++ b/omp/solver/upper_trs_kernels.cpp @@ -47,7 +47,7 @@ void generate(std::shared_ptr exec, // "analysis" phase for the triangular matrix. } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_GENERATE_KERNEL); @@ -90,7 +90,7 @@ void solve(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); diff --git a/omp/stop/residual_norm_kernels.cpp b/omp/stop/residual_norm_kernels.cpp index ff259477d03..0ec4395a16b 100644 --- a/omp/stop/residual_norm_kernels.cpp +++ b/omp/stop/residual_norm_kernels.cpp @@ -53,7 +53,7 @@ void residual_norm(std::shared_ptr exec, *all_converged = local_all_converged; } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_RESIDUAL_NORM_KERNEL); @@ -98,8 +98,7 @@ void implicit_residual_norm( *all_converged = local_all_converged; } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); } // namespace implicit_residual_norm diff --git a/reference/base/batch_multi_vector_kernels.cpp b/reference/base/batch_multi_vector_kernels.cpp index 4f48a0b6f94..d7fbf3ce214 100644 --- a/reference/base/batch_multi_vector_kernels.cpp +++ b/reference/base/batch_multi_vector_kernels.cpp @@ -35,7 +35,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_SCALE_KERNEL); @@ -56,7 +56,7 @@ void add_scaled(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_ADD_SCALED_KERNEL); @@ -77,7 +77,7 @@ void compute_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_DOT_KERNEL); @@ -98,7 +98,7 @@ void compute_conj_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_CONJ_DOT_KERNEL); @@ -116,7 +116,7 @@ void compute_norm2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_MULTI_VECTOR_COMPUTE_NORM2_KERNEL); @@ -134,8 +134,7 @@ void copy(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_MULTI_VECTOR_COPY_KERNEL); } // namespace batch_multi_vector diff --git a/reference/base/device_matrix_data_kernels.cpp b/reference/base/device_matrix_data_kernels.cpp index 78a2e25a712..f9a23b35e69 100644 --- a/reference/base/device_matrix_data_kernels.cpp +++ b/reference/base/device_matrix_data_kernels.cpp @@ -29,7 +29,7 @@ void soa_to_aos(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SOA_TO_AOS_KERNEL); @@ -46,7 +46,7 @@ void aos_to_soa(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_AOS_TO_SOA_KERNEL); @@ -78,7 +78,7 @@ void remove_zeros(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_REMOVE_ZEROS_KERNEL); @@ -127,7 +127,7 @@ void sum_duplicates(std::shared_ptr exec, size_type, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SUM_DUPLICATES_KERNEL); @@ -142,7 +142,7 @@ void sort_row_major(std::shared_ptr exec, aos_to_soa(exec, tmp, data); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DEVICE_MATRIX_DATA_SORT_ROW_MAJOR_KERNEL); diff --git a/reference/components/absolute_array_kernels.cpp b/reference/components/absolute_array_kernels.cpp index 759caae894c..964e1f80d6a 100644 --- a/reference/components/absolute_array_kernels.cpp +++ b/reference/components/absolute_array_kernels.cpp @@ -20,8 +20,7 @@ void inplace_absolute_array(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_INPLACE_ABSOLUTE_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_INPLACE_ABSOLUTE_ARRAY_KERNEL); template @@ -34,8 +33,7 @@ void outplace_absolute_array(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_OUTPLACE_ABSOLUTE_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_OUTPLACE_ABSOLUTE_ARRAY_KERNEL); } // namespace components diff --git a/reference/components/fill_array_kernels.cpp b/reference/components/fill_array_kernels.cpp index 663ad8f5b6b..1649aa87982 100644 --- a/reference/components/fill_array_kernels.cpp +++ b/reference/components/fill_array_kernels.cpp @@ -20,7 +20,7 @@ void fill_array(std::shared_ptr exec, ValueType* array, std::fill_n(array, n, val); } -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF(GKO_DECLARE_FILL_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_FILL_ARRAY_KERNEL); template GKO_DECLARE_FILL_ARRAY_KERNEL(bool); @@ -31,8 +31,7 @@ void fill_seq_array(std::shared_ptr exec, std::iota(array, array + n, 0); } -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF( - GKO_DECLARE_FILL_SEQ_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_FILL_SEQ_ARRAY_KERNEL); } // namespace components diff --git a/reference/components/precision_conversion_kernels.cpp b/reference/components/precision_conversion_kernels.cpp index 5ec37a1cd72..db12d9316ee 100644 --- a/reference/components/precision_conversion_kernels.cpp +++ b/reference/components/precision_conversion_kernels.cpp @@ -20,8 +20,7 @@ void convert_precision(std::shared_ptr exec, std::copy_n(in, size, out); } -GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_WITH_HALF( - GKO_DECLARE_CONVERT_PRECISION_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION(GKO_DECLARE_CONVERT_PRECISION_KERNEL); } // namespace components diff --git a/reference/components/reduce_array_kernels.cpp b/reference/components/reduce_array_kernels.cpp index 3c3c6f620ec..a70ef95a878 100644 --- a/reference/components/reduce_array_kernels.cpp +++ b/reference/components/reduce_array_kernels.cpp @@ -22,8 +22,7 @@ void reduce_add_array(std::shared_ptr exec, val.get_const_data()[0]); } -GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE_WITH_HALF( - GKO_DECLARE_REDUCE_ADD_ARRAY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_TEMPLATE_TYPE(GKO_DECLARE_REDUCE_ADD_ARRAY_KERNEL); } // namespace components diff --git a/reference/distributed/assembly_kernels.cpp b/reference/distributed/assembly_kernels.cpp index e38680243a0..36c44ca4022 100644 --- a/reference/distributed/assembly_kernels.cpp +++ b/reference/distributed/assembly_kernels.cpp @@ -67,7 +67,7 @@ void count_non_owning_entries( num_input_elements); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_COUNT_NON_OWNING_ENTRIES); @@ -97,7 +97,7 @@ void fill_send_buffers( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_FILL_SEND_BUFFERS); diff --git a/reference/distributed/matrix_kernels.cpp b/reference/distributed/matrix_kernels.cpp index 95176b34656..ab0e07070ff 100644 --- a/reference/distributed/matrix_kernels.cpp +++ b/reference/distributed/matrix_kernels.cpp @@ -86,7 +86,7 @@ void separate_local_nonlocal( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_SEPARATE_LOCAL_NONLOCAL); diff --git a/reference/distributed/vector_kernels.cpp b/reference/distributed/vector_kernels.cpp index 76a8be06a0f..1425f1dc9ab 100644 --- a/reference/distributed/vector_kernels.cpp +++ b/reference/distributed/vector_kernels.cpp @@ -40,7 +40,7 @@ void build_local( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_LOCAL_GLOBAL_INDEX_TYPE_BASE( GKO_DECLARE_DISTRIBUTED_VECTOR_BUILD_LOCAL); diff --git a/reference/factorization/cholesky_kernels.cpp b/reference/factorization/cholesky_kernels.cpp index 199cae4c8fa..e4d7112a15f 100644 --- a/reference/factorization/cholesky_kernels.cpp +++ b/reference/factorization/cholesky_kernels.cpp @@ -63,7 +63,7 @@ void symbolic_count(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_COUNT); @@ -102,7 +102,7 @@ void symbolic_factorize( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_SYMBOLIC_FACTORIZE); @@ -140,7 +140,7 @@ void forest_from_factor( num_rows + 1, child_ptrs); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CHOLESKY_FOREST_FROM_FACTOR); @@ -172,8 +172,7 @@ void initialize(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_INITIALIZE); namespace { @@ -255,8 +254,7 @@ void factorize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CHOLESKY_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CHOLESKY_FACTORIZE); } // namespace cholesky diff --git a/reference/factorization/factorization_kernels.cpp b/reference/factorization/factorization_kernels.cpp index 15d778c2235..99b522ffba9 100644 --- a/reference/factorization/factorization_kernels.cpp +++ b/reference/factorization/factorization_kernels.cpp @@ -127,7 +127,7 @@ void add_diagonal_elements(std::shared_ptr exec, mtx_builder.get_col_idx_array() = std::move(new_col_idxs_array); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_ADD_DIAGONAL_ELEMENTS_KERNEL); @@ -159,7 +159,7 @@ void initialize_row_ptrs_l_u( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_U_KERNEL); @@ -177,7 +177,7 @@ void initialize_l_u(std::shared_ptr exec, helpers::identity{})); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_U_KERNEL); @@ -204,7 +204,7 @@ void initialize_row_ptrs_l( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_ROW_PTRS_L_KERNEL); @@ -227,7 +227,7 @@ void initialize_l(std::shared_ptr exec, helpers::identity{})); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FACTORIZATION_INITIALIZE_L_KERNEL); diff --git a/reference/factorization/ic_kernels.cpp b/reference/factorization/ic_kernels.cpp index 3557ee0b978..93945c2da14 100644 --- a/reference/factorization/ic_kernels.cpp +++ b/reference/factorization/ic_kernels.cpp @@ -69,7 +69,7 @@ void sparselib_ic(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_IC_SPARSELIB_IC_KERNEL); diff --git a/reference/factorization/ilu_kernels.cpp b/reference/factorization/ilu_kernels.cpp index 2eedd988929..3323e0b6cef 100644 --- a/reference/factorization/ilu_kernels.cpp +++ b/reference/factorization/ilu_kernels.cpp @@ -65,7 +65,7 @@ void sparselib_ilu(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ILU_SPARSELIB_ILU_KERNEL); diff --git a/reference/factorization/lu_kernels.cpp b/reference/factorization/lu_kernels.cpp index d8bb8c427ef..9866eb5d207 100644 --- a/reference/factorization/lu_kernels.cpp +++ b/reference/factorization/lu_kernels.cpp @@ -58,8 +58,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_INITIALIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_INITIALIZE); namespace { @@ -125,8 +124,7 @@ void factorize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_LU_FACTORIZE); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_LU_FACTORIZE); template diff --git a/reference/factorization/par_ic_kernels.cpp b/reference/factorization/par_ic_kernels.cpp index e8f3a9273f4..4da317cf201 100644 --- a/reference/factorization/par_ic_kernels.cpp +++ b/reference/factorization/par_ic_kernels.cpp @@ -46,7 +46,7 @@ void init_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_INIT_FACTOR_KERNEL); @@ -96,7 +96,7 @@ void compute_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_IC_COMPUTE_FACTOR_KERNEL); diff --git a/reference/factorization/par_ict_kernels.cpp b/reference/factorization/par_ict_kernels.cpp index c6b192b328b..684158d380c 100644 --- a/reference/factorization/par_ict_kernels.cpp +++ b/reference/factorization/par_ict_kernels.cpp @@ -89,7 +89,7 @@ void compute_factor(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_COMPUTE_FACTOR_KERNEL); @@ -167,7 +167,7 @@ void add_candidates(std::shared_ptr exec, [](IndexType, row_state) {}); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ICT_ADD_CANDIDATES_KERNEL); diff --git a/reference/factorization/par_ilu_kernels.cpp b/reference/factorization/par_ilu_kernels.cpp index ddcc41d1070..44c2e5f66bc 100644 --- a/reference/factorization/par_ilu_kernels.cpp +++ b/reference/factorization/par_ilu_kernels.cpp @@ -86,7 +86,7 @@ void compute_l_u_factors(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILU_COMPUTE_L_U_FACTORS_KERNEL); diff --git a/reference/factorization/par_ilut_kernels.cpp b/reference/factorization/par_ilut_kernels.cpp index c22c6924d6c..ce78ea451f6 100644 --- a/reference/factorization/par_ilut_kernels.cpp +++ b/reference/factorization/par_ilut_kernels.cpp @@ -58,7 +58,7 @@ void threshold_select(std::shared_ptr exec, threshold = abs(*target); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_SELECT_KERNEL); @@ -150,7 +150,7 @@ void threshold_filter(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_KERNEL); @@ -226,7 +226,7 @@ void threshold_filter_approx(std::shared_ptr exec, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_THRESHOLD_FILTER_APPROX_KERNEL); @@ -314,7 +314,7 @@ void compute_l_u_factors(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_COMPUTE_LU_FACTORS_KERNEL); @@ -437,7 +437,7 @@ void add_candidates(std::shared_ptr exec, [](IndexType, row_state) {}); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PAR_ILUT_ADD_CANDIDATES_KERNEL); diff --git a/reference/matrix/batch_csr_kernels.cpp b/reference/matrix/batch_csr_kernels.cpp index c277d4f0738..d3304ab9795 100644 --- a/reference/matrix/batch_csr_kernels.cpp +++ b/reference/matrix/batch_csr_kernels.cpp @@ -39,7 +39,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SIMPLE_APPLY_KERNEL); @@ -68,7 +68,7 @@ void advanced_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADVANCED_APPLY_KERNEL); @@ -94,7 +94,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_SCALE_KERNEL); @@ -117,7 +117,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_CSR_ADD_SCALED_IDENTITY_KERNEL); diff --git a/reference/matrix/batch_dense_kernels.cpp b/reference/matrix/batch_dense_kernels.cpp index 9c92fb54056..599af30ecfb 100644 --- a/reference/matrix/batch_dense_kernels.cpp +++ b/reference/matrix/batch_dense_kernels.cpp @@ -39,7 +39,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_SIMPLE_APPLY_KERNEL); @@ -68,7 +68,7 @@ void advanced_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADVANCED_APPLY_KERNEL); @@ -94,8 +94,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_KERNEL); template @@ -117,8 +116,7 @@ void scale_add(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BATCH_DENSE_SCALE_ADD_KERNEL); template @@ -140,7 +138,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_BATCH_DENSE_ADD_SCALED_IDENTITY_KERNEL); diff --git a/reference/matrix/batch_ell_kernels.cpp b/reference/matrix/batch_ell_kernels.cpp index bc0eb61e30d..1a4855f389f 100644 --- a/reference/matrix/batch_ell_kernels.cpp +++ b/reference/matrix/batch_ell_kernels.cpp @@ -39,7 +39,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SIMPLE_APPLY_KERNEL); @@ -68,7 +68,7 @@ void advanced_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADVANCED_APPLY_KERNEL); @@ -94,7 +94,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_SCALE_KERNEL); @@ -117,7 +117,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_ELL_ADD_SCALED_IDENTITY_KERNEL); diff --git a/reference/matrix/coo_kernels.cpp b/reference/matrix/coo_kernels.cpp index ebb8c1dfce6..f9bf9f5f33d 100644 --- a/reference/matrix/coo_kernels.cpp +++ b/reference/matrix/coo_kernels.cpp @@ -38,8 +38,7 @@ void spmv(std::shared_ptr exec, spmv2(exec, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV_KERNEL); template @@ -54,7 +53,7 @@ void advanced_spmv(std::shared_ptr exec, advanced_spmv2(exec, alpha, a, b, c); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV_KERNEL); @@ -74,8 +73,7 @@ void spmv2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_COO_SPMV2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_COO_SPMV2_KERNEL); template @@ -98,7 +96,7 @@ void advanced_spmv2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_ADVANCED_SPMV2_KERNEL); @@ -115,7 +113,7 @@ void fill_in_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_FILL_IN_DENSE_KERNEL); @@ -138,7 +136,7 @@ void extract_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_COO_EXTRACT_DIAGONAL_KERNEL); diff --git a/reference/matrix/csr_kernels.cpp b/reference/matrix/csr_kernels.cpp index 679844084d2..8296ac2b582 100644 --- a/reference/matrix/csr_kernels.cpp +++ b/reference/matrix/csr_kernels.cpp @@ -76,7 +76,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_SPMV_KERNEL); @@ -116,7 +116,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADVANCED_SPMV_KERNEL); @@ -240,8 +240,7 @@ void spgemm(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEMM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEMM_KERNEL); template @@ -296,7 +295,7 @@ void advanced_spgemm(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADVANCED_SPGEMM_KERNEL); @@ -346,8 +345,7 @@ void spgeam(std::shared_ptr exec, [](IndexType, IndexType) {}); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SPGEAM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SPGEAM_KERNEL); template @@ -369,7 +367,7 @@ void fill_in_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_FILL_IN_DENSE_KERNEL); @@ -416,7 +414,7 @@ void convert_to_sellp(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_SELLP_KERNEL); @@ -447,7 +445,7 @@ void convert_to_ell(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_ELL_KERNEL); @@ -517,7 +515,7 @@ void convert_to_fbcsr(std::shared_ptr exec, std::copy(col_idx_vec.begin(), col_idx_vec.end(), col_idxs.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_FBCSR_KERNEL); @@ -576,8 +574,7 @@ void transpose(std::shared_ptr exec, [](const ValueType x) { return x; }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_TRANSPOSE_KERNEL); template @@ -589,7 +586,7 @@ void conj_transpose(std::shared_ptr exec, [](const ValueType x) { return conj(x); }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONJ_TRANSPOSE_KERNEL); @@ -613,7 +610,7 @@ void calculate_nonzeros_per_row_in_span( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_SPAN_KERNEL); @@ -660,7 +657,7 @@ void calculate_nonzeros_per_row_in_index_set( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CALC_NNZ_PER_ROW_IN_INDEX_SET_KERNEL); @@ -694,7 +691,7 @@ void compute_submatrix(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_KERNEL); @@ -752,7 +749,7 @@ void compute_submatrix_from_index_set( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_COMPUTE_SUB_MATRIX_FROM_INDEX_SET_KERNEL); @@ -803,7 +800,7 @@ void convert_to_hybrid(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CONVERT_TO_HYBRID_KERNEL); @@ -816,7 +813,7 @@ void inv_symm_permute(std::shared_ptr exec, inv_nonsymm_permute(exec, perm, perm, orig, permuted); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_PERMUTE_KERNEL); @@ -854,7 +851,7 @@ void inv_nonsymm_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_PERMUTE_KERNEL); @@ -889,7 +886,7 @@ void row_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_PERMUTE_KERNEL); @@ -924,7 +921,7 @@ void inv_row_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_PERMUTE_KERNEL); @@ -954,7 +951,7 @@ void inv_col_permute(std::shared_ptr exec, cp_row_ptrs[num_rows] = in_row_ptrs[num_rows]; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_COL_PERMUTE_KERNEL); @@ -967,7 +964,7 @@ void inv_symm_scale_permute(std::shared_ptr exec, inv_nonsymm_scale_permute(exec, scale, perm, scale, perm, orig, permuted); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_SYMM_SCALE_PERMUTE_KERNEL); @@ -1009,7 +1006,7 @@ void inv_nonsymm_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_NONSYMM_SCALE_PERMUTE_KERNEL); @@ -1046,7 +1043,7 @@ void row_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ROW_SCALE_PERMUTE_KERNEL); @@ -1083,7 +1080,7 @@ void inv_row_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_ROW_SCALE_PERMUTE_KERNEL); @@ -1114,7 +1111,7 @@ void inv_col_scale_permute(std::shared_ptr exec, cp_row_ptrs[num_rows] = in_row_ptrs[num_rows]; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_INV_COL_SCALE_PERMUTE_KERNEL); @@ -1136,7 +1133,7 @@ void sort_by_column_index(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_SORT_BY_COLUMN_INDEX); @@ -1160,7 +1157,7 @@ void is_sorted_by_column_index( return; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_IS_SORTED_BY_COLUMN_INDEX); @@ -1185,8 +1182,7 @@ void extract_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_EXTRACT_DIAGONAL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_EXTRACT_DIAGONAL); template @@ -1202,8 +1198,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_SCALE_KERNEL); template @@ -1219,8 +1214,7 @@ void inv_scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_CSR_INV_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_CSR_INV_SCALE_KERNEL); template @@ -1246,7 +1240,7 @@ void check_diagonal_entries_exist(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_CHECK_DIAGONAL_ENTRIES_EXIST); @@ -1269,7 +1263,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_CSR_ADD_SCALED_IDENTITY_KERNEL); diff --git a/reference/matrix/dense_kernels.cpp b/reference/matrix/dense_kernels.cpp index 561073c8c2d..921a49998b7 100644 --- a/reference/matrix/dense_kernels.cpp +++ b/reference/matrix/dense_kernels.cpp @@ -56,8 +56,7 @@ void simple_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_SIMPLE_APPLY_KERNEL); template @@ -90,7 +89,7 @@ void apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_APPLY_KERNEL); template @@ -106,7 +105,7 @@ void copy(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_CONVERSION_OR_COPY( GKO_DECLARE_DENSE_COPY_KERNEL); @@ -121,7 +120,7 @@ void fill(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_DENSE_FILL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_FILL_KERNEL); template @@ -143,8 +142,7 @@ void scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SCALE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE(GKO_DECLARE_DENSE_SCALE_KERNEL); template @@ -167,7 +165,7 @@ void inv_scale(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_INV_SCALE_KERNEL); @@ -191,7 +189,7 @@ void add_scaled(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_ADD_SCALED_KERNEL); @@ -215,7 +213,7 @@ void sub_scaled(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_SUB_SCALED_KERNEL); @@ -231,8 +229,7 @@ void add_scaled_diag(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_ADD_SCALED_DIAG_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_ADD_SCALED_DIAG_KERNEL); template @@ -247,8 +244,7 @@ void sub_scaled_diag(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_SUB_SCALED_DIAG_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_SUB_SCALED_DIAG_KERNEL); template @@ -267,8 +263,7 @@ void compute_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_DOT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_DOT_KERNEL); template @@ -280,7 +275,7 @@ void compute_dot_dispatch(std::shared_ptr exec, compute_dot(exec, x, y, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_DOT_DISPATCH_KERNEL); @@ -300,8 +295,7 @@ void compute_conj_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_KERNEL); template @@ -314,7 +308,7 @@ void compute_conj_dot_dispatch(std::shared_ptr exec, compute_conj_dot(exec, x, y, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_CONJ_DOT_DISPATCH_KERNEL); @@ -337,8 +331,7 @@ void compute_norm2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_NORM2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_NORM2_KERNEL); template @@ -350,7 +343,7 @@ void compute_norm2_dispatch(std::shared_ptr exec, compute_norm2(exec, x, result, tmp); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_NORM2_DISPATCH_KERNEL); @@ -370,8 +363,7 @@ void compute_norm1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_NORM1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_NORM1_KERNEL); template @@ -394,8 +386,7 @@ void compute_mean(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_COMPUTE_MEAN_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_COMPUTE_MEAN_KERNEL); template @@ -409,7 +400,7 @@ void fill_in_matrix_data(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_FILL_IN_MATRIX_DATA_KERNEL); @@ -429,7 +420,7 @@ void compute_squared_norm2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_SQUARED_NORM2_KERNEL); @@ -444,7 +435,7 @@ void compute_sqrt(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_SQRT_KERNEL); @@ -475,7 +466,7 @@ void convert_to_coo(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_COO_KERNEL); @@ -507,7 +498,7 @@ void convert_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_CSR_KERNEL); @@ -539,7 +530,7 @@ void convert_to_ell(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_ELL_KERNEL); @@ -586,7 +577,7 @@ void convert_to_fbcsr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_FBCSR_KERNEL); @@ -635,7 +626,7 @@ void convert_to_hybrid(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_HYBRID_KERNEL); @@ -671,7 +662,7 @@ void convert_to_sellp(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SELLP_KERNEL); @@ -701,7 +692,7 @@ void convert_to_sparsity_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_CONVERT_TO_SPARSITY_CSR_KERNEL); @@ -722,7 +713,7 @@ void compute_max_nnz_per_row(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_MAX_NNZ_PER_ROW_KERNEL); @@ -754,7 +745,7 @@ void compute_slice_sets(std::shared_ptr exec, components::prefix_sum_nonnegative(exec, slice_sets, num_slices + 1); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COMPUTE_SLICE_SETS_KERNEL); @@ -774,9 +765,9 @@ void count_nonzeros_per_row(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COUNT_NONZEROS_PER_ROW_KERNEL); -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DENSE_COUNT_NONZEROS_PER_ROW_KERNEL_SIZE_T); @@ -806,7 +797,7 @@ void count_nonzero_blocks_per_row(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COUNT_NONZERO_BLOCKS_PER_ROW_KERNEL); @@ -822,8 +813,7 @@ void transpose(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_TRANSPOSE_KERNEL); template @@ -838,8 +828,7 @@ void conj_transpose(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_CONJ_TRANSPOSE_KERNEL); template @@ -855,7 +844,7 @@ void symm_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_SYMM_PERMUTE_KERNEL); @@ -873,7 +862,7 @@ void inv_symm_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_SYMM_PERMUTE_KERNEL); @@ -890,7 +879,7 @@ void nonsymm_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_NONSYMM_PERMUTE_KERNEL); @@ -907,7 +896,7 @@ void inv_nonsymm_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_NONSYMM_PERMUTE_KERNEL); @@ -923,7 +912,7 @@ void row_gather(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2( GKO_DECLARE_DENSE_ROW_GATHER_KERNEL); @@ -948,7 +937,7 @@ void advanced_row_gather(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_2( GKO_DECLARE_DENSE_ADVANCED_ROW_GATHER_KERNEL); @@ -964,7 +953,7 @@ void col_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COL_PERMUTE_KERNEL); @@ -981,7 +970,7 @@ void inv_row_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_ROW_PERMUTE_KERNEL); @@ -998,7 +987,7 @@ void inv_col_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_COL_PERMUTE_KERNEL); @@ -1017,7 +1006,7 @@ void symm_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_SYMM_SCALE_PERMUTE_KERNEL); @@ -1036,7 +1025,7 @@ void inv_symm_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_SYMM_SCALE_PERMUTE_KERNEL); @@ -1059,7 +1048,7 @@ void nonsymm_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_NONSYMM_SCALE_PERMUTE_KERNEL); @@ -1082,7 +1071,7 @@ void inv_nonsymm_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_NONSYMM_SCALE_PERMUTE_KERNEL); @@ -1100,7 +1089,7 @@ void row_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_ROW_SCALE_PERMUTE_KERNEL); @@ -1118,7 +1107,7 @@ void inv_row_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_ROW_SCALE_PERMUTE_KERNEL); @@ -1136,7 +1125,7 @@ void col_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_COL_SCALE_PERMUTE_KERNEL); @@ -1154,7 +1143,7 @@ void inv_col_scale_permute(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DENSE_INV_COL_SCALE_PERMUTE_KERNEL); @@ -1169,8 +1158,7 @@ void extract_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DENSE_EXTRACT_DIAGONAL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DENSE_EXTRACT_DIAGONAL_KERNEL); template @@ -1185,8 +1173,7 @@ void inplace_absolute_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_INPLACE_ABSOLUTE_DENSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_INPLACE_ABSOLUTE_DENSE_KERNEL); template @@ -1202,8 +1189,7 @@ void outplace_absolute_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_OUTPLACE_ABSOLUTE_DENSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_OUTPLACE_ABSOLUTE_DENSE_KERNEL); template @@ -1219,7 +1205,7 @@ void make_complex(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_MAKE_COMPLEX_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MAKE_COMPLEX_KERNEL); template @@ -1235,7 +1221,7 @@ void get_real(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GET_REAL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GET_REAL_KERNEL); template @@ -1251,7 +1237,7 @@ void get_imag(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GET_IMAG_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GET_IMAG_KERNEL); template @@ -1271,7 +1257,7 @@ void add_scaled_identity(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_SCALAR_TYPE( GKO_DECLARE_DENSE_ADD_SCALED_IDENTITY_KERNEL); diff --git a/reference/matrix/diagonal_kernels.cpp b/reference/matrix/diagonal_kernels.cpp index 47d59728ab0..028b7685c2b 100644 --- a/reference/matrix/diagonal_kernels.cpp +++ b/reference/matrix/diagonal_kernels.cpp @@ -35,8 +35,7 @@ void apply_to_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_APPLY_TO_DENSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DIAGONAL_APPLY_TO_DENSE_KERNEL); template @@ -53,7 +52,7 @@ void right_apply_to_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_DENSE_KERNEL); @@ -78,7 +77,7 @@ void apply_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_APPLY_TO_CSR_KERNEL); @@ -102,7 +101,7 @@ void right_apply_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_RIGHT_APPLY_TO_CSR_KERNEL); @@ -119,7 +118,7 @@ void fill_in_matrix_data(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_FILL_IN_MATRIX_DATA_KERNEL); @@ -142,7 +141,7 @@ void convert_to_csr(std::shared_ptr exec, row_ptrs[size] = size; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_DIAGONAL_CONVERT_TO_CSR_KERNEL); @@ -160,8 +159,7 @@ void conj_transpose(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_DIAGONAL_CONJ_TRANSPOSE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_DIAGONAL_CONJ_TRANSPOSE_KERNEL); } // namespace diagonal diff --git a/reference/matrix/ell_kernels.cpp b/reference/matrix/ell_kernels.cpp index ece95b38a39..5aae164aa41 100644 --- a/reference/matrix/ell_kernels.cpp +++ b/reference/matrix/ell_kernels.cpp @@ -68,7 +68,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_SPMV_KERNEL); @@ -121,7 +121,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_ADVANCED_SPMV_KERNEL); @@ -161,7 +161,7 @@ void fill_in_matrix_data(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_FILL_IN_MATRIX_DATA_KERNEL); @@ -185,7 +185,7 @@ void fill_in_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_FILL_IN_DENSE_KERNEL); @@ -203,8 +203,7 @@ void copy(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_ELL_COPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_ELL_COPY_KERNEL); template @@ -235,7 +234,7 @@ void convert_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_CONVERT_TO_CSR_KERNEL); @@ -259,7 +258,7 @@ void count_nonzeros_per_row(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_COUNT_NONZEROS_PER_ROW_KERNEL); @@ -284,7 +283,7 @@ void extract_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ELL_EXTRACT_DIAGONAL_KERNEL); diff --git a/reference/matrix/fbcsr_kernels.cpp b/reference/matrix/fbcsr_kernels.cpp index 048158136be..4c170a973a7 100644 --- a/reference/matrix/fbcsr_kernels.cpp +++ b/reference/matrix/fbcsr_kernels.cpp @@ -74,8 +74,7 @@ void spmv(const std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_FBCSR_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_FBCSR_SPMV_KERNEL); template @@ -119,7 +118,7 @@ void advanced_spmv(const std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_ADVANCED_SPMV_KERNEL); @@ -177,7 +176,7 @@ void fill_in_matrix_data(std::shared_ptr exec, std::copy(col_idx_vec.begin(), col_idx_vec.end(), col_idxs.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_MATRIX_DATA_KERNEL); @@ -213,7 +212,7 @@ void fill_in_dense(const std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_FILL_IN_DENSE_KERNEL); @@ -272,7 +271,7 @@ void convert_to_csr(const std::shared_ptr, static_cast(source->get_num_stored_elements()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONVERT_TO_CSR_KERNEL); @@ -354,7 +353,7 @@ void transpose(std::shared_ptr exec, [](const ValueType x) { return x; }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_TRANSPOSE_KERNEL); @@ -367,7 +366,7 @@ void conj_transpose(std::shared_ptr exec, [](const ValueType x) { return conj(x); }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_CONJ_TRANSPOSE_KERNEL); @@ -392,7 +391,7 @@ void is_sorted_by_column_index( return; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_IS_SORTED_BY_COLUMN_INDEX); @@ -449,7 +448,7 @@ void sort_by_column_index(const std::shared_ptr exec, syn::value_list(), syn::type_list<>(), to_sort); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_SORT_BY_COLUMN_INDEX); @@ -488,7 +487,7 @@ void extract_diagonal(std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_FBCSR_EXTRACT_DIAGONAL); diff --git a/reference/matrix/fft_kernels.cpp b/reference/matrix/fft_kernels.cpp index 00af068803c..2fc27cdbe3a 100644 --- a/reference/matrix/fft_kernels.cpp +++ b/reference/matrix/fft_kernels.cpp @@ -116,7 +116,7 @@ void fft(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT_KERNEL); template @@ -183,7 +183,7 @@ void fft2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT2_KERNEL); template @@ -283,7 +283,7 @@ void fft3(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE(GKO_DECLARE_FFT3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_BASE(GKO_DECLARE_FFT3_KERNEL); } // namespace fft diff --git a/reference/matrix/hybrid_kernels.cpp b/reference/matrix/hybrid_kernels.cpp index 5fe013297f3..f2a06c321f2 100644 --- a/reference/matrix/hybrid_kernels.cpp +++ b/reference/matrix/hybrid_kernels.cpp @@ -86,7 +86,7 @@ void fill_in_matrix_data(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_HYBRID_FILL_IN_MATRIX_DATA_KERNEL); @@ -130,7 +130,7 @@ void convert_to_csr(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_HYBRID_CONVERT_TO_CSR_KERNEL); diff --git a/reference/matrix/scaled_permutation_kernels.cpp b/reference/matrix/scaled_permutation_kernels.cpp index a352c0f777d..b00e06f72f2 100644 --- a/reference/matrix/scaled_permutation_kernels.cpp +++ b/reference/matrix/scaled_permutation_kernels.cpp @@ -26,7 +26,7 @@ void invert(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SCALED_PERMUTATION_INVERT_KERNEL); @@ -51,7 +51,7 @@ void compose(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SCALED_PERMUTATION_COMPOSE_KERNEL); diff --git a/reference/matrix/sellp_kernels.cpp b/reference/matrix/sellp_kernels.cpp index 70cfc3cac3a..120194d6952 100644 --- a/reference/matrix/sellp_kernels.cpp +++ b/reference/matrix/sellp_kernels.cpp @@ -55,8 +55,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_SELLP_SPMV_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_SELLP_SPMV_KERNEL); template @@ -97,7 +96,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_ADVANCED_SPMV_KERNEL); @@ -164,7 +163,7 @@ void fill_in_matrix_data(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_FILL_IN_MATRIX_DATA_KERNEL); @@ -199,7 +198,7 @@ void fill_in_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_FILL_IN_DENSE_KERNEL); @@ -235,7 +234,7 @@ void count_nonzeros_per_row(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_COUNT_NONZEROS_PER_ROW_KERNEL); @@ -281,7 +280,7 @@ void convert_to_csr(std::shared_ptr exec, result_row_ptrs[num_rows] = cur_ptr; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_CONVERT_TO_CSR_KERNEL); @@ -318,7 +317,7 @@ void extract_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SELLP_EXTRACT_DIAGONAL_KERNEL); diff --git a/reference/matrix/sparsity_csr_kernels.cpp b/reference/matrix/sparsity_csr_kernels.cpp index b773d3b9a50..c511a16a292 100644 --- a/reference/matrix/sparsity_csr_kernels.cpp +++ b/reference/matrix/sparsity_csr_kernels.cpp @@ -55,7 +55,7 @@ void spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SPMV_KERNEL); @@ -92,7 +92,7 @@ void advanced_spmv(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_MIXED_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_ADVANCED_SPMV_KERNEL); @@ -113,7 +113,7 @@ void fill_in_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_FILL_IN_DENSE_KERNEL); @@ -138,7 +138,7 @@ void diagonal_element_prefix_sum( prefix_sum[num_rows] = num_diag; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_DIAGONAL_ELEMENT_PREFIX_SUM_KERNEL); @@ -173,7 +173,7 @@ void remove_diagonal_elements(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_REMOVE_DIAGONAL_ELEMENTS_KERNEL); @@ -227,7 +227,7 @@ void transpose(std::shared_ptr exec, transpose_and_transform(exec, orig, trans); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_TRANSPOSE_KERNEL); @@ -245,7 +245,7 @@ void sort_by_column_index(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_SORT_BY_COLUMN_INDEX); @@ -269,7 +269,7 @@ void is_sorted_by_column_index( return; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SPARSITY_CSR_IS_SORTED_BY_COLUMN_INDEX); diff --git a/reference/multigrid/pgm_kernels.cpp b/reference/multigrid/pgm_kernels.cpp index 2b4298377cb..bff2a776c6b 100644 --- a/reference/multigrid/pgm_kernels.cpp +++ b/reference/multigrid/pgm_kernels.cpp @@ -208,7 +208,7 @@ void find_strongest_neighbor( } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_FIND_STRONGEST_NEIGHBOR); @@ -260,7 +260,7 @@ void assign_to_exist_agg(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_ASSIGN_TO_EXIST_AGG); @@ -274,8 +274,7 @@ void sort_row_major(std::shared_ptr exec, size_type nnz, }); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_PGM_SORT_ROW_MAJOR); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_PGM_SORT_ROW_MAJOR); template @@ -312,7 +311,7 @@ void compute_coarse_coo(std::shared_ptr exec, coarse_val[coarse_idxs] = temp_val; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_PGM_COMPUTE_COARSE_COO); diff --git a/reference/preconditioner/batch_jacobi_kernels.cpp b/reference/preconditioner/batch_jacobi_kernels.cpp index 3f6d75cca29..f994c8c448b 100644 --- a/reference/preconditioner/batch_jacobi_kernels.cpp +++ b/reference/preconditioner/batch_jacobi_kernels.cpp @@ -70,7 +70,7 @@ void extract_common_blocks_pattern( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_EXTRACT_PATTERN_KERNEL); @@ -96,7 +96,7 @@ void compute_block_jacobi( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INT32_TYPE( GKO_DECLARE_BATCH_BLOCK_JACOBI_COMPUTE_KERNEL); diff --git a/reference/preconditioner/isai_kernels.cpp b/reference/preconditioner/isai_kernels.cpp index 6114d3d8e3c..55f56b5705e 100644 --- a/reference/preconditioner/isai_kernels.cpp +++ b/reference/preconditioner/isai_kernels.cpp @@ -219,7 +219,7 @@ void generate_tri_inverse(std::shared_ptr exec, trs_solve, true); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_TRI_INVERSE_KERNEL); @@ -314,7 +314,7 @@ void generate_general_inverse(std::shared_ptr exec, general_solve, false); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_GENERAL_INVERSE_KERNEL); @@ -377,7 +377,7 @@ void generate_excess_system(std::shared_ptr, e_row_ptrs[e_dim] = excess_nz_ptrs[e_end] - excess_nz_ptrs[e_start]; } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_GENERATE_EXCESS_SYSTEM_KERNEL); @@ -405,7 +405,7 @@ void scale_excess_solution(std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCALE_EXCESS_SOLUTION_KERNEL); @@ -430,7 +430,7 @@ void scatter_excess_solution(std::shared_ptr, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_ISAI_SCATTER_EXCESS_SOLUTION_KERNEL); diff --git a/reference/preconditioner/jacobi_kernels.cpp b/reference/preconditioner/jacobi_kernels.cpp index 52e3666ca30..4eaf0988a00 100644 --- a/reference/preconditioner/jacobi_kernels.cpp +++ b/reference/preconditioner/jacobi_kernels.cpp @@ -116,7 +116,7 @@ void find_blocks(std::shared_ptr exec, block_pointers.get_data()); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_FIND_BLOCKS_KERNEL); @@ -406,7 +406,7 @@ void generate(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_GENERATE_KERNEL); @@ -494,8 +494,7 @@ void apply(std::shared_ptr exec, size_type num_blocks, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE(GKO_DECLARE_JACOBI_APPLY_KERNEL); template @@ -528,7 +527,7 @@ void simple_apply( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_SIMPLE_APPLY_KERNEL); @@ -548,8 +547,7 @@ void scalar_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_SCALAR_APPLY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_JACOBI_SCALAR_APPLY_KERNEL); template @@ -565,7 +563,7 @@ void simple_scalar_apply(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_JACOBI_SIMPLE_SCALAR_APPLY_KERNEL); @@ -578,8 +576,7 @@ void scalar_conj(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_SCALAR_CONJ_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_JACOBI_SCALAR_CONJ_KERNEL); template @@ -594,8 +591,7 @@ void invert_diagonal(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_JACOBI_INVERT_DIAGONAL_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_JACOBI_INVERT_DIAGONAL_KERNEL); template @@ -630,7 +626,7 @@ void transpose_jacobi( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_TRANSPOSE_KERNEL); @@ -666,7 +662,7 @@ void conj_transpose_jacobi( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONJ_TRANSPOSE_KERNEL); @@ -686,7 +682,7 @@ void scalar_convert_to_dense(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_JACOBI_SCALAR_CONVERT_TO_DENSE_KERNEL); @@ -724,7 +720,7 @@ void convert_to_dense( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_JACOBI_CONVERT_TO_DENSE_KERNEL); diff --git a/reference/preconditioner/sor_kernels.cpp b/reference/preconditioner/sor_kernels.cpp index b5ada476f13..88ac422dd02 100644 --- a/reference/preconditioner/sor_kernels.cpp +++ b/reference/preconditioner/sor_kernels.cpp @@ -32,7 +32,7 @@ void initialize_weighted_l( [](auto val) { return val; })); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L); @@ -60,7 +60,7 @@ void initialize_weighted_l_u( })); } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_SOR_INITIALIZE_WEIGHTED_L_U); diff --git a/reference/solver/batch_bicgstab_kernels.cpp b/reference/solver/batch_bicgstab_kernels.cpp index 3f105f27c48..f7652c0d183 100644 --- a/reference/solver/batch_bicgstab_kernels.cpp +++ b/reference/solver/batch_bicgstab_kernels.cpp @@ -87,7 +87,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_BICGSTAB_APPLY_KERNEL_WRAPPER); diff --git a/reference/solver/batch_cg_kernels.cpp b/reference/solver/batch_cg_kernels.cpp index 3acc49fc524..0d53115e1f1 100644 --- a/reference/solver/batch_cg_kernels.cpp +++ b/reference/solver/batch_cg_kernels.cpp @@ -86,7 +86,7 @@ void apply(std::shared_ptr exec, dispatcher.apply(b, x, logdata); } -GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER( +GKO_INSTANTIATE_FOR_BATCH_VALUE_MATRIX_PRECONDITIONER_BASE( GKO_DECLARE_BATCH_CG_APPLY_KERNEL_WRAPPER); diff --git a/reference/solver/bicg_kernels.cpp b/reference/solver/bicg_kernels.cpp index 511d4375ae5..dee2d30b8dc 100644 --- a/reference/solver/bicg_kernels.cpp +++ b/reference/solver/bicg_kernels.cpp @@ -46,8 +46,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICG_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG_INITIALIZE_KERNEL); template @@ -75,7 +74,7 @@ void step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG_STEP_1_KERNEL); template @@ -103,7 +102,7 @@ void step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_BICG_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICG_STEP_2_KERNEL); } // namespace bicg diff --git a/reference/solver/bicgstab_kernels.cpp b/reference/solver/bicgstab_kernels.cpp index e762dc88533..31955a59c53 100644 --- a/reference/solver/bicgstab_kernels.cpp +++ b/reference/solver/bicgstab_kernels.cpp @@ -57,8 +57,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_INITIALIZE_KERNEL); template @@ -88,8 +87,7 @@ void step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_1_KERNEL); template @@ -117,8 +115,7 @@ void step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_2_KERNEL); template @@ -152,8 +149,7 @@ void step_3( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_STEP_3_KERNEL); template @@ -173,8 +169,7 @@ void finalize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_BICGSTAB_FINALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_BICGSTAB_FINALIZE_KERNEL); } // namespace bicgstab diff --git a/reference/solver/cb_gmres_kernels.cpp b/reference/solver/cb_gmres_kernels.cpp index 5d41a0d0e00..c5acb41e45b 100644 --- a/reference/solver/cb_gmres_kernels.cpp +++ b/reference/solver/cb_gmres_kernels.cpp @@ -294,7 +294,8 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_BASE( + GKO_DECLARE_CB_GMRES_INITIALIZE_KERNEL); template diff --git a/reference/solver/cg_kernels.cpp b/reference/solver/cg_kernels.cpp index fe548b9a03a..5af15692414 100644 --- a/reference/solver/cg_kernels.cpp +++ b/reference/solver/cg_kernels.cpp @@ -42,7 +42,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG_INITIALIZE_KERNEL); template @@ -67,7 +67,7 @@ void step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG_STEP_1_KERNEL); template @@ -93,7 +93,7 @@ void step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CG_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CG_STEP_2_KERNEL); } // namespace cg diff --git a/reference/solver/cgs_kernels.cpp b/reference/solver/cgs_kernels.cpp index f2f2200b996..a5a5f8c5862 100644 --- a/reference/solver/cgs_kernels.cpp +++ b/reference/solver/cgs_kernels.cpp @@ -51,8 +51,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_CGS_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_INITIALIZE_KERNEL); template @@ -84,7 +83,7 @@ void step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_STEP_1_KERNEL); template @@ -115,7 +114,7 @@ void step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_STEP_2_KERNEL); template @@ -136,7 +135,7 @@ void step_3(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_CGS_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_CGS_STEP_3_KERNEL); } // namespace cgs diff --git a/reference/solver/common_gmres_kernels.cpp b/reference/solver/common_gmres_kernels.cpp index 24c6135f0b1..4ba091e03ae 100644 --- a/reference/solver/common_gmres_kernels.cpp +++ b/reference/solver/common_gmres_kernels.cpp @@ -132,8 +132,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_COMMON_GMRES_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_COMMON_GMRES_INITIALIZE_KERNEL); template @@ -157,7 +156,7 @@ void hessenberg_qr(std::shared_ptr exec, residual_norm_collection, iter, stop_status); } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_COMMON_GMRES_HESSENBERG_QR_KERNEL); @@ -187,7 +186,7 @@ void solve_krylov(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE( GKO_DECLARE_COMMON_GMRES_SOLVE_KRYLOV_KERNEL); diff --git a/reference/solver/fcg_kernels.cpp b/reference/solver/fcg_kernels.cpp index 5ba997da941..65b6bf27698 100644 --- a/reference/solver/fcg_kernels.cpp +++ b/reference/solver/fcg_kernels.cpp @@ -43,8 +43,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_FCG_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG_INITIALIZE_KERNEL); template @@ -69,7 +68,7 @@ void step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG_STEP_1_KERNEL); template @@ -97,7 +96,7 @@ void step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_FCG_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_FCG_STEP_2_KERNEL); } // namespace fcg diff --git a/reference/solver/gcr_kernels.cpp b/reference/solver/gcr_kernels.cpp index d51728b15cf..531814c641e 100644 --- a/reference/solver/gcr_kernels.cpp +++ b/reference/solver/gcr_kernels.cpp @@ -37,8 +37,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_GCR_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR_INITIALIZE_KERNEL); template @@ -57,7 +56,7 @@ void restart(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_RESTART_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR_RESTART_KERNEL); template @@ -83,7 +82,7 @@ void step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GCR_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GCR_STEP_1_KERNEL); } // namespace gcr diff --git a/reference/solver/gmres_kernels.cpp b/reference/solver/gmres_kernels.cpp index 6d5eaae1490..a7f5a751a3b 100644 --- a/reference/solver/gmres_kernels.cpp +++ b/reference/solver/gmres_kernels.cpp @@ -40,7 +40,7 @@ void restart(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_GMRES_RESTART_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES_RESTART_KERNEL); template @@ -69,8 +69,7 @@ void multi_axpy(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_GMRES_MULTI_AXPY_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES_MULTI_AXPY_KERNEL); template void multi_dot(std::shared_ptr exec, @@ -92,8 +91,7 @@ void multi_dot(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_GMRES_MULTI_DOT_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_GMRES_MULTI_DOT_KERNEL); } // namespace gmres } // namespace reference diff --git a/reference/solver/idr_kernels.cpp b/reference/solver/idr_kernels.cpp index 27315da3565..ef13cd08325 100644 --- a/reference/solver/idr_kernels.cpp +++ b/reference/solver/idr_kernels.cpp @@ -160,8 +160,7 @@ void initialize(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_INITIALIZE_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_INITIALIZE_KERNEL); template @@ -191,7 +190,7 @@ void step_1(std::shared_ptr exec, const size_type nrhs, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_1_KERNEL); template @@ -216,7 +215,7 @@ void step_2(std::shared_ptr exec, const size_type nrhs, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_2_KERNEL); template @@ -259,7 +258,7 @@ void step_3(std::shared_ptr exec, const size_type nrhs, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF(GKO_DECLARE_IDR_STEP_3_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_STEP_3_KERNEL); template @@ -287,8 +286,7 @@ void compute_omega( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IDR_COMPUTE_OMEGA_KERNEL); } // namespace idr diff --git a/reference/solver/lower_trs_kernels.cpp b/reference/solver/lower_trs_kernels.cpp index 49e3829d9af..ba02c9c838c 100644 --- a/reference/solver/lower_trs_kernels.cpp +++ b/reference/solver/lower_trs_kernels.cpp @@ -44,7 +44,7 @@ void generate(std::shared_ptr exec, // "analysis" phase for the triangular matrix. } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_GENERATE_KERNEL); @@ -88,7 +88,7 @@ void solve(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_LOWER_TRS_SOLVE_KERNEL); diff --git a/reference/solver/multigrid_kernels.cpp b/reference/solver/multigrid_kernels.cpp index 4ce4491c990..b08c9857d3a 100644 --- a/reference/solver/multigrid_kernels.cpp +++ b/reference/solver/multigrid_kernels.cpp @@ -43,8 +43,7 @@ void kcycle_step_1(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_1_KERNEL); template @@ -73,8 +72,7 @@ void kcycle_step_2(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_MULTIGRID_KCYCLE_STEP_2_KERNEL); template @@ -91,7 +89,7 @@ void kcycle_check_stop(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_MULTIGRID_KCYCLE_CHECK_STOP_KERNEL); diff --git a/reference/solver/upper_trs_kernels.cpp b/reference/solver/upper_trs_kernels.cpp index b1d045eeadb..f0c23a9c4cc 100644 --- a/reference/solver/upper_trs_kernels.cpp +++ b/reference/solver/upper_trs_kernels.cpp @@ -44,7 +44,7 @@ void generate(std::shared_ptr exec, // "analysis" phase for the triangular matrix. } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_GENERATE_KERNEL); @@ -90,7 +90,7 @@ void solve(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_VALUE_AND_INDEX_TYPE( GKO_DECLARE_UPPER_TRS_SOLVE_KERNEL); diff --git a/reference/stop/residual_norm_kernels.cpp b/reference/stop/residual_norm_kernels.cpp index ed91ff390b6..ba2672edc28 100644 --- a/reference/stop/residual_norm_kernels.cpp +++ b/reference/stop/residual_norm_kernels.cpp @@ -50,7 +50,7 @@ void residual_norm(std::shared_ptr exec, } } -GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE_WITH_HALF( +GKO_INSTANTIATE_FOR_EACH_NON_COMPLEX_VALUE_TYPE( GKO_DECLARE_RESIDUAL_NORM_KERNEL); @@ -90,8 +90,7 @@ void implicit_residual_norm( } } -GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE_WITH_HALF( - GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); +GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(GKO_DECLARE_IMPLICIT_RESIDUAL_NORM_KERNEL); } // namespace implicit_residual_norm diff --git a/reference/test/base/array.cpp b/reference/test/base/array.cpp index 2c69f1afc8e..666ab13063c 100644 --- a/reference/test/base/array.cpp +++ b/reference/test/base/array.cpp @@ -28,8 +28,7 @@ class Array : public ::testing::Test { gko::array x; }; -TYPED_TEST_SUITE(Array, gko::test::ComplexAndPODTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Array, gko::test::ComplexAndPODTypes, TypenameNameGenerator); TYPED_TEST(Array, CanBeFilledWithValue) diff --git a/reference/test/base/batch_multi_vector_kernels.cpp b/reference/test/base/batch_multi_vector_kernels.cpp index a860c3c4b24..694ae491ef4 100644 --- a/reference/test/base/batch_multi_vector_kernels.cpp +++ b/reference/test/base/batch_multi_vector_kernels.cpp @@ -96,8 +96,7 @@ class MultiVector : public ::testing::Test { std::default_random_engine rand_engine; }; -TYPED_TEST_SUITE(MultiVector, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(MultiVector, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(MultiVector, ScalesData) @@ -343,7 +342,7 @@ TYPED_TEST(MultiVector, ConvertsToPrecision) { using MultiVector = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherMultiVector = typename gko::batch::MultiVector; auto tmp = OtherMultiVector::create(this->exec); auto res = MultiVector::create(this->exec); @@ -367,7 +366,7 @@ TYPED_TEST(MultiVector, MovesToPrecision) { using MultiVector = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherMultiVector = typename gko::batch::MultiVector; auto tmp = OtherMultiVector::create(this->exec); auto res = MultiVector::create(this->exec); @@ -391,7 +390,7 @@ TYPED_TEST(MultiVector, ConvertsEmptyToPrecision) { using MultiVector = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherMultiVector = typename gko::batch::MultiVector; auto empty = OtherMultiVector::create(this->exec); auto res = MultiVector::create(this->exec); @@ -406,7 +405,7 @@ TYPED_TEST(MultiVector, MovesEmptyToPrecision) { using MultiVector = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherMultiVector = typename gko::batch::MultiVector; auto empty = OtherMultiVector::create(this->exec); auto res = MultiVector::create(this->exec); diff --git a/reference/test/base/combination.cpp b/reference/test/base/combination.cpp index 149aaa33256..aea578f4e7e 100644 --- a/reference/test/base/combination.cpp +++ b/reference/test/base/combination.cpp @@ -34,8 +34,7 @@ class Combination : public ::testing::Test { std::vector> operators; }; -TYPED_TEST_SUITE(Combination, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Combination, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Combination, CopiesOnSameExecutor) @@ -115,7 +114,7 @@ TYPED_TEST(Combination, AppliesToMixedVector) cmb = [ 8 7 ] [ 5 4 ] */ - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto cmb = gko::Combination::create( this->coefficients[0], this->operators[0], this->coefficients[1], @@ -157,8 +156,7 @@ TYPED_TEST(Combination, AppliesToMixedComplexVector) cmb = [ 8 7 ] [ 5 4 ] */ - using value_type = - gko::to_complex>; + using value_type = gko::to_complex>; using Mtx = gko::matrix::Dense; auto cmb = gko::Combination::create( this->coefficients[0], this->operators[0], this->coefficients[1], @@ -202,7 +200,7 @@ TYPED_TEST(Combination, AppliesLinearCombinationToMixedVector) cmb = [ 8 7 ] [ 5 4 ] */ - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto cmb = gko::Combination::create( this->coefficients[0], this->operators[0], this->coefficients[1], @@ -250,8 +248,7 @@ TYPED_TEST(Combination, AppliesLinearCombinationToMixedComplexVector) cmb = [ 8 7 ] [ 5 4 ] */ - using MixedDense = - gko::matrix::Dense>; + using MixedDense = gko::matrix::Dense>; using MixedDenseComplex = gko::to_complex; using value_type = typename MixedDenseComplex::value_type; auto cmb = gko::Combination::create( diff --git a/reference/test/base/composition.cpp b/reference/test/base/composition.cpp index d17b8602ce8..f736edb53f9 100644 --- a/reference/test/base/composition.cpp +++ b/reference/test/base/composition.cpp @@ -75,8 +75,7 @@ class Composition : public ::testing::Test { std::shared_ptr product; }; -TYPED_TEST_SUITE(Composition, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Composition, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Composition, CopiesOnSameExecutor) @@ -143,7 +142,7 @@ TYPED_TEST(Composition, AppliesSingleToMixedVector) cmp = [ -9 -2 ] [ 27 26 ] */ - using Mtx = gko::matrix::Dense>; + using Mtx = gko::matrix::Dense>; using value_type = typename Mtx::value_type; auto cmp = gko::Composition::create(this->product); auto x = gko::initialize({1.0, 2.0}, this->exec); @@ -183,8 +182,7 @@ TYPED_TEST(Composition, AppliesSingleToMixedComplexVector) cmp = [ -9 -2 ] [ 27 26 ] */ - using value_type = - gko::next_precision_with_half>; + using value_type = gko::next_precision>; using Mtx = gko::matrix::Dense; auto cmp = gko::Composition::create(this->product); auto x = gko::initialize( @@ -224,7 +222,7 @@ TYPED_TEST(Composition, AppliesSingleLinearCombinationToMixedVector) cmp = [ -9 -2 ] [ 27 26 ] */ - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto cmp = gko::Composition::create(this->product); auto alpha = gko::initialize({3.0}, this->exec); @@ -269,8 +267,7 @@ TYPED_TEST(Composition, AppliesSingleLinearCombinationToMixedComplexVector) cmp = [ -9 -2 ] [ 27 26 ] */ - using MixedDense = - gko::matrix::Dense>; + using MixedDense = gko::matrix::Dense>; using MixedDenseComplex = gko::to_complex; using value_type = typename MixedDenseComplex::value_type; auto cmp = gko::Composition::create(this->product); diff --git a/reference/test/base/perturbation.cpp b/reference/test/base/perturbation.cpp index 50a5fe7db20..b6be9ab1563 100644 --- a/reference/test/base/perturbation.cpp +++ b/reference/test/base/perturbation.cpp @@ -33,8 +33,7 @@ class Perturbation : public ::testing::Test { std::shared_ptr scalar; }; -TYPED_TEST_SUITE(Perturbation, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Perturbation, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Perturbation, CopiesOnSameExecutor) @@ -102,7 +101,7 @@ TYPED_TEST(Perturbation, AppliesToMixedVector) cmp = I + 2 * [ 2 ] * [ 3 2 ] [ 1 ] */ - using Mtx = gko::matrix::Dense>; + using Mtx = gko::matrix::Dense>; using value_type = typename Mtx::value_type; auto cmp = gko::Perturbation::create(this->scalar, this->basis, this->projector); @@ -144,8 +143,7 @@ TYPED_TEST(Perturbation, AppliesToMixedComplexVector) cmp = I + 2 * [ 2 ] * [ 3 2 ] [ 1 ] */ - using value_type = - gko::to_complex>; + using value_type = gko::to_complex>; using Mtx = gko::matrix::Dense; auto cmp = gko::Perturbation::create(this->scalar, this->basis, this->projector); @@ -187,7 +185,7 @@ TYPED_TEST(Perturbation, AppliesLinearCombinationToMixedVector) cmp = I + 2 * [ 2 ] * [ 3 2 ] [ 1 ] */ - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto cmp = gko::Perturbation::create(this->scalar, this->basis, this->projector); @@ -234,8 +232,7 @@ TYPED_TEST(Perturbation, AppliesLinearCombinationToMixedComplexVector) cmp = I + 2 * [ 2 ] * [ 3 2 ] [ 1 ] */ - using MixedDense = - gko::matrix::Dense>; + using MixedDense = gko::matrix::Dense>; using MixedDenseComplex = gko::to_complex; using value_type = typename MixedDenseComplex::value_type; auto cmp = gko::Perturbation::create(this->scalar, this->basis, diff --git a/reference/test/components/absolute_array_kernels.cpp b/reference/test/components/absolute_array_kernels.cpp index 5ad75440c88..c192d540032 100644 --- a/reference/test/components/absolute_array_kernels.cpp +++ b/reference/test/components/absolute_array_kernels.cpp @@ -43,8 +43,7 @@ class AbsoluteArray : public ::testing::Test { gko::array vals; }; -TYPED_TEST_SUITE(AbsoluteArray, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(AbsoluteArray, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(AbsoluteArray, InplaceEqualsExpected) diff --git a/reference/test/components/fill_array_kernels.cpp b/reference/test/components/fill_array_kernels.cpp index 0a9239ce1bd..3c7520c6847 100644 --- a/reference/test/components/fill_array_kernels.cpp +++ b/reference/test/components/fill_array_kernels.cpp @@ -40,7 +40,7 @@ class FillArray : public ::testing::Test { gko::array seqs; }; -TYPED_TEST_SUITE(FillArray, gko::test::ComplexAndPODTypesWithHalf, +TYPED_TEST_SUITE(FillArray, gko::test::ComplexAndPODTypes, TypenameNameGenerator); diff --git a/reference/test/components/reduce_array_kernels.cpp b/reference/test/components/reduce_array_kernels.cpp index c8839bc178d..8286817c853 100644 --- a/reference/test/components/reduce_array_kernels.cpp +++ b/reference/test/components/reduce_array_kernels.cpp @@ -31,7 +31,7 @@ class ReduceArray : public ::testing::Test { gko::array vals; }; -TYPED_TEST_SUITE(ReduceArray, gko::test::ComplexAndPODTypesWithHalf, +TYPED_TEST_SUITE(ReduceArray, gko::test::ComplexAndPODTypes, TypenameNameGenerator); diff --git a/reference/test/distributed/assembly_kernels.cpp b/reference/test/distributed/assembly_kernels.cpp index 89662b4efef..4823f465a31 100644 --- a/reference/test/distributed/assembly_kernels.cpp +++ b/reference/test/distributed/assembly_kernels.cpp @@ -48,7 +48,7 @@ class AssemblyHelpers : public ::testing::Test { gko::array mapping; }; -TYPED_TEST_SUITE(AssemblyHelpers, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(AssemblyHelpers, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/reference/test/distributed/matrix_kernels.cpp b/reference/test/distributed/matrix_kernels.cpp index a34844cbde9..b5e2e3f5fb9 100644 --- a/reference/test/distributed/matrix_kernels.cpp +++ b/reference/test/distributed/matrix_kernels.cpp @@ -182,7 +182,7 @@ class Matrix : public ::testing::Test { gko::array non_local_values; }; -TYPED_TEST_SUITE(Matrix, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(Matrix, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/reference/test/distributed/vector_kernels.cpp b/reference/test/distributed/vector_kernels.cpp index 7de3104b7fb..43f11967488 100644 --- a/reference/test/distributed/vector_kernels.cpp +++ b/reference/test/distributed/vector_kernels.cpp @@ -69,7 +69,7 @@ class Vector : public ::testing::Test { std::shared_ptr ref; }; -TYPED_TEST_SUITE(Vector, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(Vector, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/reference/test/factorization/cholesky_kernels.cpp b/reference/test/factorization/cholesky_kernels.cpp index 671630c99eb..b4c33d76ab9 100644 --- a/reference/test/factorization/cholesky_kernels.cpp +++ b/reference/test/factorization/cholesky_kernels.cpp @@ -245,7 +245,7 @@ class Cholesky : public ::testing::Test { std::shared_ptr combined_ref; }; -TYPED_TEST_SUITE(Cholesky, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(Cholesky, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/factorization/factorization.cpp b/reference/test/factorization/factorization.cpp index 73bf8cdc321..2ded81d4867 100644 --- a/reference/test/factorization/factorization.cpp +++ b/reference/test/factorization/factorization.cpp @@ -70,7 +70,7 @@ class Factorization : public ::testing::Test { std::shared_ptr beta; }; -TYPED_TEST_SUITE(Factorization, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(Factorization, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/factorization/ic_kernels.cpp b/reference/test/factorization/ic_kernels.cpp index 84faa3c3b45..1593da136a4 100644 --- a/reference/test/factorization/ic_kernels.cpp +++ b/reference/test/factorization/ic_kernels.cpp @@ -80,8 +80,7 @@ class Ic : public ::testing::Test { gko::remove_complex tol; }; -TYPED_TEST_SUITE(Ic, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Ic, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Ic, ThrowNotSupportedForWrongLinOp) diff --git a/reference/test/factorization/ilu_kernels.cpp b/reference/test/factorization/ilu_kernels.cpp index 1ba1fedf13f..aaeb44382f1 100644 --- a/reference/test/factorization/ilu_kernels.cpp +++ b/reference/test/factorization/ilu_kernels.cpp @@ -170,8 +170,7 @@ class Ilu : public ::testing::Test { std::unique_ptr ilu_factory_sort; }; -TYPED_TEST_SUITE(Ilu, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Ilu, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Ilu, ThrowNotSupportedForWrongLinOp1) diff --git a/reference/test/factorization/lu_kernels.cpp b/reference/test/factorization/lu_kernels.cpp index 7b4a860b0d5..1ea77665f69 100644 --- a/reference/test/factorization/lu_kernels.cpp +++ b/reference/test/factorization/lu_kernels.cpp @@ -98,8 +98,7 @@ class Lu : public ::testing::Test { gko::array row_descs; }; -TYPED_TEST_SUITE(Lu, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Lu, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Lu, SymbolicCholeskyWorks) diff --git a/reference/test/factorization/par_ic_kernels.cpp b/reference/test/factorization/par_ic_kernels.cpp index 481e89bb744..b9caf8c9e5e 100644 --- a/reference/test/factorization/par_ic_kernels.cpp +++ b/reference/test/factorization/par_ic_kernels.cpp @@ -104,8 +104,7 @@ class ParIc : public ::testing::Test { gko::remove_complex tol; }; -TYPED_TEST_SUITE(ParIc, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIc, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIc, KernelCompute) diff --git a/reference/test/factorization/par_ict_kernels.cpp b/reference/test/factorization/par_ict_kernels.cpp index d3b6df59f42..55ac5771732 100644 --- a/reference/test/factorization/par_ict_kernels.cpp +++ b/reference/test/factorization/par_ict_kernels.cpp @@ -137,8 +137,7 @@ class ParIct : public ::testing::Test { gko::remove_complex tol; }; -TYPED_TEST_SUITE(ParIct, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIct, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIct, KernelInitializeRowPtrsL) diff --git a/reference/test/factorization/par_ilu_kernels.cpp b/reference/test/factorization/par_ilu_kernels.cpp index 3d590c1a6d6..bf4e422f640 100644 --- a/reference/test/factorization/par_ilu_kernels.cpp +++ b/reference/test/factorization/par_ilu_kernels.cpp @@ -180,8 +180,7 @@ class ParIlu : public ::testing::Test { std::unique_ptr ilu_factory_sort; }; -TYPED_TEST_SUITE(ParIlu, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIlu, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIlu, KernelAddDiagonalElementsEmpty) diff --git a/reference/test/factorization/par_ilut_kernels.cpp b/reference/test/factorization/par_ilut_kernels.cpp index 3a6ba9232da..a605ed678ae 100644 --- a/reference/test/factorization/par_ilut_kernels.cpp +++ b/reference/test/factorization/par_ilut_kernels.cpp @@ -277,7 +277,7 @@ class ParIlut : public ::testing::Test { gko::remove_complex tol; }; // namespace -TYPED_TEST_SUITE(ParIlut, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(ParIlut, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/log/convergence.cpp b/reference/test/log/convergence.cpp index 70fc004c030..50db0db49c4 100644 --- a/reference/test/log/convergence.cpp +++ b/reference/test/log/convergence.cpp @@ -19,8 +19,7 @@ namespace { template class Convergence : public ::testing::Test {}; -TYPED_TEST_SUITE(Convergence, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Convergence, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Convergence, CatchesCriterionCheckCompleted) diff --git a/reference/test/log/papi.cpp b/reference/test/log/papi.cpp index 647a14af9b2..4f1d9e469f1 100644 --- a/reference/test/log/papi.cpp +++ b/reference/test/log/papi.cpp @@ -83,7 +83,7 @@ class Papi : public ::testing::Test { int eventset; }; -TYPED_TEST_SUITE(Papi, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Papi, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Papi, CatchesCriterionCheckCompleted) diff --git a/reference/test/matrix/batch_csr_kernels.cpp b/reference/test/matrix/batch_csr_kernels.cpp index 85e461b933e..920bb67696b 100644 --- a/reference/test/matrix/batch_csr_kernels.cpp +++ b/reference/test/matrix/batch_csr_kernels.cpp @@ -78,7 +78,7 @@ class Csr : public ::testing::Test { std::ranlux48 rand_engine; }; -TYPED_TEST_SUITE(Csr, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Csr, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Csr, AppliesToBatchMultiVector) diff --git a/reference/test/matrix/batch_dense_kernels.cpp b/reference/test/matrix/batch_dense_kernels.cpp index 23f747c24cb..50c1909959f 100644 --- a/reference/test/matrix/batch_dense_kernels.cpp +++ b/reference/test/matrix/batch_dense_kernels.cpp @@ -77,7 +77,7 @@ class Dense : public ::testing::Test { }; -TYPED_TEST_SUITE(Dense, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Dense, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Dense, AppliesToBatchMultiVector) diff --git a/reference/test/matrix/batch_ell_kernels.cpp b/reference/test/matrix/batch_ell_kernels.cpp index 5e2b377eda0..a2c9ef4e83c 100644 --- a/reference/test/matrix/batch_ell_kernels.cpp +++ b/reference/test/matrix/batch_ell_kernels.cpp @@ -79,7 +79,7 @@ class Ell : public ::testing::Test { }; -TYPED_TEST_SUITE(Ell, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Ell, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Ell, AppliesToBatchMultiVector) diff --git a/reference/test/matrix/coo_kernels.cpp b/reference/test/matrix/coo_kernels.cpp index 6ffea5d0e7d..f7063317a73 100644 --- a/reference/test/matrix/coo_kernels.cpp +++ b/reference/test/matrix/coo_kernels.cpp @@ -32,8 +32,7 @@ class Coo : public ::testing::Test { using Csr = gko::matrix::Csr; using Mtx = gko::matrix::Coo; using Vec = gko::matrix::Dense; - using MixedVec = - gko::matrix::Dense>; + using MixedVec = gko::matrix::Dense>; Coo() : exec(gko::ReferenceExecutor::create()), mtx(Mtx::create(exec)) { @@ -73,15 +72,14 @@ class Coo : public ::testing::Test { std::unique_ptr uns_mtx; }; -TYPED_TEST_SUITE(Coo, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Coo, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Coo, ConvertsToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Coo = typename TestFixture::Mtx; using OtherCoo = gko::matrix::Coo; auto tmp = OtherCoo::create(this->exec); @@ -103,7 +101,7 @@ TYPED_TEST(Coo, MovesToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Coo = typename TestFixture::Mtx; using OtherCoo = gko::matrix::Coo; auto tmp = OtherCoo::create(this->exec); @@ -216,7 +214,7 @@ TYPED_TEST(Coo, ConvertsEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Coo = typename TestFixture::Mtx; using OtherCoo = gko::matrix::Coo; auto empty = OtherCoo::create(this->exec); @@ -233,7 +231,7 @@ TYPED_TEST(Coo, MovesEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Coo = typename TestFixture::Mtx; using OtherCoo = gko::matrix::Coo; auto empty = OtherCoo::create(this->exec); @@ -704,7 +702,7 @@ TYPED_TEST(Coo, AppliesToComplex) TYPED_TEST(Coo, AppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using Vec = gko::matrix::Dense; auto exec = gko::ReferenceExecutor::create(); @@ -760,7 +758,7 @@ TYPED_TEST(Coo, AdvancedAppliesToComplex) TYPED_TEST(Coo, AdvancedAppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::matrix::Dense; @@ -818,7 +816,7 @@ TYPED_TEST(Coo, ApplyAddsToComplex) TYPED_TEST(Coo, ApplyAddsToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using MixedVec = gko::matrix::Dense; auto exec = gko::ReferenceExecutor::create(); @@ -875,7 +873,7 @@ TYPED_TEST(Coo, ApplyAddsScaledToComplex) TYPED_TEST(Coo, ApplyAddsScaledToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::matrix::Dense; @@ -912,7 +910,7 @@ class CooComplex : public ::testing::Test { using Mtx = gko::matrix::Coo; }; -TYPED_TEST_SUITE(CooComplex, gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(CooComplex, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/csr_kernels.cpp b/reference/test/matrix/csr_kernels.cpp index b417eb93f52..b84ac958f02 100644 --- a/reference/test/matrix/csr_kernels.cpp +++ b/reference/test/matrix/csr_kernels.cpp @@ -46,8 +46,7 @@ class Csr : public ::testing::Test { using Ell = gko::matrix::Ell; using Hybrid = gko::matrix::Hybrid; using Vec = gko::matrix::Dense; - using MixedVec = - gko::matrix::Dense>; + using MixedVec = gko::matrix::Dense>; using Perm = gko::matrix::Permutation; using ScaledPerm = gko::matrix::ScaledPermutation; @@ -348,8 +347,7 @@ class Csr : public ::testing::Test { index_type invalid_index = gko::invalid_index(); }; -TYPED_TEST_SUITE(Csr, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Csr, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Csr, AppliesToDenseVector) @@ -370,7 +368,7 @@ TYPED_TEST(Csr, MixedAppliesToDenseVector1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = typename gko::matrix::Dense; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); auto y = Vec::create(this->exec, gko::dim<2>{2, 1}); @@ -385,7 +383,7 @@ TYPED_TEST(Csr, MixedAppliesToDenseVector2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); @@ -401,9 +399,9 @@ TYPED_TEST(Csr, MixedAppliesToDenseVector3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; - using Vec2 = gko::matrix::Dense>; + using Vec2 = gko::matrix::Dense>; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); auto y = Vec1::create(this->exec, gko::dim<2>{2, 1}); @@ -434,7 +432,7 @@ TYPED_TEST(Csr, MixedAppliesToDenseMatrix1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = gko::matrix::Dense; // clang-format off auto x = gko::initialize( @@ -458,7 +456,7 @@ TYPED_TEST(Csr, MixedAppliesToDenseMatrix2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; // clang-format off @@ -483,7 +481,7 @@ TYPED_TEST(Csr, MixedAppliesToDenseMatrix3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; // clang-format off @@ -524,7 +522,7 @@ TYPED_TEST(Csr, MixedAppliesLinearCombinationToDenseVector1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); auto beta = gko::initialize({2.0}, this->exec); @@ -541,7 +539,7 @@ TYPED_TEST(Csr, MixedAppliesLinearCombinationToDenseVector2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -559,7 +557,7 @@ TYPED_TEST(Csr, MixedAppliesLinearCombinationToDenseVector3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -597,7 +595,7 @@ TYPED_TEST(Csr, MixedAppliesLinearCombinationToDenseMatrix1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); auto beta = gko::initialize({2.0}, this->exec); @@ -621,7 +619,7 @@ TYPED_TEST(Csr, MixedAppliesLinearCombinationToDenseMatrix2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -641,7 +639,7 @@ TYPED_TEST(Csr, MixedAppliesLinearCombinationToDenseMatrix3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -790,7 +788,7 @@ TYPED_TEST(Csr, ConvertsToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Csr = typename TestFixture::Mtx; using OtherCsr = gko::matrix::Csr; auto tmp = OtherCsr::create(this->exec); @@ -816,7 +814,7 @@ TYPED_TEST(Csr, MovesToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Csr = typename TestFixture::Mtx; using OtherCsr = gko::matrix::Csr; auto tmp = OtherCsr::create(this->exec); @@ -994,7 +992,7 @@ TYPED_TEST(Csr, ConvertsEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Csr = typename TestFixture::Mtx; using OtherCsr = gko::matrix::Csr; auto empty = OtherCsr::create(this->exec); @@ -1013,7 +1011,7 @@ TYPED_TEST(Csr, MovesEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Csr = typename TestFixture::Mtx; using OtherCsr = gko::matrix::Csr; auto empty = OtherCsr::create(this->exec); @@ -2050,7 +2048,7 @@ TYPED_TEST(Csr, AppliesToComplex) TYPED_TEST(Csr, AppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using Vec = gko::matrix::Dense; auto exec = gko::ReferenceExecutor::create(); @@ -2106,7 +2104,7 @@ TYPED_TEST(Csr, AdvancedAppliesToComplex) TYPED_TEST(Csr, AdvancedAppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::matrix::Dense; @@ -2247,7 +2245,7 @@ class CsrComplex : public ::testing::Test { using Mtx = gko::matrix::Csr; }; -TYPED_TEST_SUITE(CsrComplex, gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(CsrComplex, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); @@ -2592,7 +2590,7 @@ class CsrLookup : public ::testing::Test { index_type invalid_index = gko::invalid_index(); }; -TYPED_TEST_SUITE(CsrLookup, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(CsrLookup, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(CsrLookup, GeneratesLookupDataOffsets) diff --git a/reference/test/matrix/dense_kernels.cpp b/reference/test/matrix/dense_kernels.cpp index 3854cd56dff..9fe0e91a670 100644 --- a/reference/test/matrix/dense_kernels.cpp +++ b/reference/test/matrix/dense_kernels.cpp @@ -37,8 +37,7 @@ class Dense : public ::testing::Test { protected: using value_type = T; using Mtx = gko::matrix::Dense; - using MixedMtx = - gko::matrix::Dense>; + using MixedMtx = gko::matrix::Dense>; using ComplexMtx = gko::to_complex; using RealMtx = gko::remove_complex; Dense() @@ -81,7 +80,7 @@ class Dense : public ::testing::Test { }; -TYPED_TEST_SUITE(Dense, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Dense, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Dense, CopyRespectsStride) @@ -746,7 +745,7 @@ TYPED_TEST(Dense, ConvertsToPrecision) { using Dense = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherDense = typename gko::matrix::Dense; auto tmp = OtherDense::create(this->exec); auto res = Dense::create(this->exec); @@ -768,7 +767,7 @@ TYPED_TEST(Dense, MovesToPrecision) { using Dense = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherDense = typename gko::matrix::Dense; auto tmp = OtherDense::create(this->exec); auto res = Dense::create(this->exec); @@ -1067,7 +1066,7 @@ TYPED_TEST(Dense, AppliesToComplex) TYPED_TEST(Dense, AppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using Vec = gko::matrix::Dense; auto exec = gko::ReferenceExecutor::create(); @@ -1121,7 +1120,7 @@ TYPED_TEST(Dense, AdvancedAppliesToComplex) TYPED_TEST(Dense, AdvancedAppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::matrix::Dense; @@ -1360,7 +1359,7 @@ class DenseWithIndexType std::unique_ptr scale_perm0; }; -TYPED_TEST_SUITE(DenseWithIndexType, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(DenseWithIndexType, gko::test::ValueIndexTypes, PairTypenameNameGenerator); @@ -2014,7 +2013,7 @@ TYPED_TEST(Dense, ConvertsEmptyToPrecision) { using Dense = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherDense = typename gko::matrix::Dense; auto empty = OtherDense::create(this->exec); auto res = Dense::create(this->exec); @@ -2029,7 +2028,7 @@ TYPED_TEST(Dense, MovesEmptyToPrecision) { using Dense = typename TestFixture::Mtx; using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision_with_half; + using OtherT = typename gko::next_precision; using OtherDense = typename gko::matrix::Dense; auto empty = OtherDense::create(this->exec); auto res = Dense::create(this->exec); @@ -3553,7 +3552,7 @@ class DenseComplex : public ::testing::Test { }; -TYPED_TEST_SUITE(DenseComplex, gko::test::ComplexValueTypesWithHalf, +TYPED_TEST_SUITE(DenseComplex, gko::test::ComplexValueTypes, TypenameNameGenerator); diff --git a/reference/test/matrix/diagonal_kernels.cpp b/reference/test/matrix/diagonal_kernels.cpp index d1208e96178..4517ba43c86 100644 --- a/reference/test/matrix/diagonal_kernels.cpp +++ b/reference/test/matrix/diagonal_kernels.cpp @@ -30,8 +30,7 @@ class Diagonal : public ::testing::Test { using Csr = gko::matrix::Csr; using Diag = gko::matrix::Diagonal; using Dense = gko::matrix::Dense; - using MixedDense = - gko::matrix::Dense>; + using MixedDense = gko::matrix::Dense>; Diagonal() : exec(gko::ReferenceExecutor::create()), @@ -80,14 +79,13 @@ class Diagonal : public ::testing::Test { std::unique_ptr dense3; }; -TYPED_TEST_SUITE(Diagonal, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Diagonal, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Diagonal, ConvertsToPrecision) { using ValueType = typename TestFixture::value_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Diagonal = typename TestFixture::Diag; using OtherDiagonal = gko::matrix::Diagonal; auto tmp = OtherDiagonal::create(this->exec); @@ -109,7 +107,7 @@ TYPED_TEST(Diagonal, ConvertsToPrecision) TYPED_TEST(Diagonal, MovesToPrecision) { using ValueType = typename TestFixture::value_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Diagonal = typename TestFixture::Diag; using OtherDiagonal = gko::matrix::Diagonal; auto tmp = OtherDiagonal::create(this->exec); @@ -576,7 +574,7 @@ TYPED_TEST(Diagonal, AppliesToComplex) TYPED_TEST(Diagonal, AppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using Vec = gko::matrix::Dense; auto exec = gko::ReferenceExecutor::create(); @@ -636,7 +634,7 @@ TYPED_TEST(Diagonal, AppliesLinearCombinationToComplex) TYPED_TEST(Diagonal, AppliesLinearCombinationToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using Vec = gko::matrix::Dense; using Scalar = gko::matrix::Dense; @@ -675,7 +673,7 @@ class DiagonalComplex : public ::testing::Test { using Diag = gko::matrix::Diagonal; }; -TYPED_TEST_SUITE(DiagonalComplex, gko::test::ComplexValueTypesWithHalf, +TYPED_TEST_SUITE(DiagonalComplex, gko::test::ComplexValueTypes, TypenameNameGenerator); diff --git a/reference/test/matrix/ell_kernels.cpp b/reference/test/matrix/ell_kernels.cpp index 7f3c770c603..6214db82d1c 100644 --- a/reference/test/matrix/ell_kernels.cpp +++ b/reference/test/matrix/ell_kernels.cpp @@ -30,8 +30,7 @@ class Ell : public ::testing::Test { using Mtx = gko::matrix::Ell; using Csr = gko::matrix::Csr; using Vec = gko::matrix::Dense; - using MixedVec = - gko::matrix::Dense>; + using MixedVec = gko::matrix::Dense>; Ell() : exec(gko::ReferenceExecutor::create()), @@ -73,8 +72,7 @@ class Ell : public ::testing::Test { std::unique_ptr mtx2; }; -TYPED_TEST_SUITE(Ell, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Ell, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Ell, AppliesToDenseVector) @@ -93,7 +91,7 @@ TYPED_TEST(Ell, MixedAppliesToDenseVector1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = typename gko::matrix::Dense; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); auto y = Vec::create(this->exec, gko::dim<2>{2, 1}); @@ -108,7 +106,7 @@ TYPED_TEST(Ell, MixedAppliesToDenseVector2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); @@ -124,9 +122,9 @@ TYPED_TEST(Ell, MixedAppliesToDenseVector3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; - using Vec2 = gko::matrix::Dense>; + using Vec2 = gko::matrix::Dense>; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); auto y = Vec1::create(this->exec, gko::dim<2>{2, 1}); @@ -162,7 +160,7 @@ TYPED_TEST(Ell, MixedAppliesToDenseMatrix1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = gko::matrix::Dense; // clang-format off auto x = gko::initialize( @@ -186,7 +184,7 @@ TYPED_TEST(Ell, MixedAppliesToDenseMatrix2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; // clang-format off @@ -211,7 +209,7 @@ TYPED_TEST(Ell, MixedAppliesToDenseMatrix3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; // clang-format off @@ -250,7 +248,7 @@ TYPED_TEST(Ell, MixedAppliesLinearCombinationToDenseVector1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); auto beta = gko::initialize({2.0}, this->exec); @@ -267,7 +265,7 @@ TYPED_TEST(Ell, MixedAppliesLinearCombinationToDenseVector2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -285,7 +283,7 @@ TYPED_TEST(Ell, MixedAppliesLinearCombinationToDenseVector3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -329,7 +327,7 @@ TYPED_TEST(Ell, MixedAppliesLinearCombinationToDenseMatrix1) { // Both vectors have the same value type which differs from the matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); auto beta = gko::initialize({2.0}, this->exec); @@ -357,7 +355,7 @@ TYPED_TEST(Ell, MixedAppliesLinearCombinationToDenseMatrix2) { // Input vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -386,7 +384,7 @@ TYPED_TEST(Ell, MixedAppliesLinearCombinationToDenseMatrix3) { // Output vector has same value type as matrix using T = typename TestFixture::value_type; - using next_T = gko::next_precision_with_half; + using next_T = gko::next_precision; using Vec1 = typename TestFixture::Vec; using Vec2 = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); @@ -445,7 +443,7 @@ TYPED_TEST(Ell, ConvertsToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Ell = typename TestFixture::Mtx; using OtherEll = gko::matrix::Ell; auto tmp = OtherEll::create(this->exec); @@ -468,7 +466,7 @@ TYPED_TEST(Ell, MovesToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Ell = typename TestFixture::Mtx; using OtherEll = gko::matrix::Ell; auto tmp = OtherEll::create(this->exec); @@ -737,7 +735,7 @@ TYPED_TEST(Ell, ConvertsEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Ell = typename TestFixture::Mtx; using OtherEll = gko::matrix::Ell; auto empty = Ell::create(this->exec); @@ -754,7 +752,7 @@ TYPED_TEST(Ell, MovesEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Ell = typename TestFixture::Mtx; using OtherEll = gko::matrix::Ell; auto empty = Ell::create(this->exec); @@ -899,7 +897,7 @@ TYPED_TEST(Ell, AppliesToComplex) TYPED_TEST(Ell, AppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using Vec = gko::matrix::Dense; auto exec = gko::ReferenceExecutor::create(); @@ -956,7 +954,7 @@ TYPED_TEST(Ell, AdvancedAppliesToComplex) TYPED_TEST(Ell, AdvancedAppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::matrix::Dense; @@ -994,7 +992,7 @@ class EllComplex : public ::testing::Test { using Mtx = gko::matrix::Ell; }; -TYPED_TEST_SUITE(EllComplex, gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(EllComplex, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/fbcsr_kernels.cpp b/reference/test/matrix/fbcsr_kernels.cpp index 9d9e2144cc3..043195e7b50 100644 --- a/reference/test/matrix/fbcsr_kernels.cpp +++ b/reference/test/matrix/fbcsr_kernels.cpp @@ -104,8 +104,7 @@ class Fbcsr : public ::testing::Test { const std::unique_ptr mtxsq; }; -TYPED_TEST_SUITE(Fbcsr, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Fbcsr, gko::test::ValueIndexTypes, PairTypenameNameGenerator); template @@ -272,7 +271,7 @@ TYPED_TEST(Fbcsr, ConvertsToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Fbcsr = typename TestFixture::Mtx; using OtherFbcsr = gko::matrix::Fbcsr; auto tmp = OtherFbcsr::create(this->exec); @@ -295,7 +294,7 @@ TYPED_TEST(Fbcsr, MovesToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Fbcsr = typename TestFixture::Mtx; using OtherFbcsr = gko::matrix::Fbcsr; auto tmp = OtherFbcsr::create(this->exec); @@ -393,7 +392,7 @@ TYPED_TEST(Fbcsr, ConvertsEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Fbcsr = typename TestFixture::Mtx; using OtherFbcsr = gko::matrix::Fbcsr; auto empty = OtherFbcsr::create(this->exec); @@ -412,7 +411,7 @@ TYPED_TEST(Fbcsr, MovesEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Fbcsr = typename TestFixture::Mtx; using OtherFbcsr = gko::matrix::Fbcsr; auto empty = OtherFbcsr::create(this->exec); @@ -620,7 +619,7 @@ class FbcsrComplex : public ::testing::Test { using Csr = gko::matrix::Csr; }; -TYPED_TEST_SUITE(FbcsrComplex, gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(FbcsrComplex, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/fft_kernels.cpp b/reference/test/matrix/fft_kernels.cpp index 12c2521b71c..a1f82ea9311 100644 --- a/reference/test/matrix/fft_kernels.cpp +++ b/reference/test/matrix/fft_kernels.cpp @@ -148,7 +148,7 @@ class Fft : public ::testing::Test { std::unique_ptr dense_ifft3; }; -TYPED_TEST_SUITE(Fft, gko::test::ComplexValueTypes, TypenameNameGenerator); +TYPED_TEST_SUITE(Fft, gko::test::ComplexValueTypesBase, TypenameNameGenerator); TYPED_TEST(Fft, ThrowsOnNonPowerOfTwo1D) diff --git a/reference/test/matrix/hybrid_kernels.cpp b/reference/test/matrix/hybrid_kernels.cpp index c5e6496dce1..87fd4c02811 100644 --- a/reference/test/matrix/hybrid_kernels.cpp +++ b/reference/test/matrix/hybrid_kernels.cpp @@ -32,8 +32,7 @@ class Hybrid : public ::testing::Test { using Mtx = gko::matrix::Hybrid; using Vec = gko::matrix::Dense; using Csr = gko::matrix::Csr; - using MixedVec = - gko::matrix::Dense>; + using MixedVec = gko::matrix::Dense>; Hybrid() : exec(gko::ReferenceExecutor::create()), @@ -97,8 +96,7 @@ class Hybrid : public ::testing::Test { std::unique_ptr mtx3; }; -TYPED_TEST_SUITE(Hybrid, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Hybrid, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Hybrid, AppliesToDenseVector) @@ -235,7 +233,7 @@ TYPED_TEST(Hybrid, ConvertsToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Hybrid = typename TestFixture::Mtx; using OtherHybrid = gko::matrix::Hybrid; auto tmp = OtherHybrid::create(this->exec); @@ -258,7 +256,7 @@ TYPED_TEST(Hybrid, MovesToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Hybrid = typename TestFixture::Mtx; using OtherHybrid = gko::matrix::Hybrid; auto tmp = OtherHybrid::create(this->exec); @@ -369,7 +367,7 @@ TYPED_TEST(Hybrid, ConvertsEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Hybrid = typename TestFixture::Mtx; using OtherHybrid = gko::matrix::Hybrid; auto other = Hybrid::create(this->exec); @@ -386,7 +384,7 @@ TYPED_TEST(Hybrid, MovesEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Hybrid = typename TestFixture::Mtx; using OtherHybrid = gko::matrix::Hybrid; auto other = Hybrid::create(this->exec); @@ -701,7 +699,7 @@ TYPED_TEST(Hybrid, AppliesToComplex) TYPED_TEST(Hybrid, AppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using Vec = gko::matrix::Dense; auto exec = gko::ReferenceExecutor::create(); @@ -758,7 +756,7 @@ TYPED_TEST(Hybrid, AdvancedAppliesToComplex) TYPED_TEST(Hybrid, AdvancedAppliesToMixedComplex) { using mixed_value_type = - gko::next_precision_with_half; + gko::next_precision; using mixed_complex_type = gko::to_complex; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::matrix::Dense; @@ -797,7 +795,7 @@ class HybridComplex : public ::testing::Test { using Mtx = gko::matrix::Hybrid; }; -TYPED_TEST_SUITE(HybridComplex, gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(HybridComplex, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/identity.cpp b/reference/test/matrix/identity.cpp index 82704145978..11953de338a 100644 --- a/reference/test/matrix/identity.cpp +++ b/reference/test/matrix/identity.cpp @@ -19,8 +19,7 @@ class Identity : public ::testing::Test { using value_type = T; using Id = gko::matrix::Identity; using Vec = gko::matrix::Dense; - using MixedVec = - gko::matrix::Dense>; + using MixedVec = gko::matrix::Dense>; using ComplexVec = gko::to_complex; using MixedComplexVec = gko::to_complex; @@ -30,8 +29,7 @@ class Identity : public ::testing::Test { }; -TYPED_TEST_SUITE(Identity, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Identity, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Identity, AppliesToVector) diff --git a/reference/test/matrix/permutation.cpp b/reference/test/matrix/permutation.cpp index b646a6fc67f..5418f97353b 100644 --- a/reference/test/matrix/permutation.cpp +++ b/reference/test/matrix/permutation.cpp @@ -51,7 +51,7 @@ class Permutation : public ::testing::Test { std::shared_ptr exec; }; -TYPED_TEST_SUITE(Permutation, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(Permutation, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/scaled_permutation.cpp b/reference/test/matrix/scaled_permutation.cpp index f2b3e66b4cd..6d8d49f5662 100644 --- a/reference/test/matrix/scaled_permutation.cpp +++ b/reference/test/matrix/scaled_permutation.cpp @@ -58,7 +58,7 @@ class ScaledPermutation : public ::testing::Test { std::unique_ptr perm2; }; -TYPED_TEST_SUITE(ScaledPermutation, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(ScaledPermutation, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/sellp_kernels.cpp b/reference/test/matrix/sellp_kernels.cpp index 23251c63b8f..3208b8c42be 100644 --- a/reference/test/matrix/sellp_kernels.cpp +++ b/reference/test/matrix/sellp_kernels.cpp @@ -50,8 +50,7 @@ class Sellp : public ::testing::Test { std::unique_ptr mtx2; }; -TYPED_TEST_SUITE(Sellp, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Sellp, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Sellp, AppliesToDenseVector) @@ -68,8 +67,7 @@ TYPED_TEST(Sellp, AppliesToDenseVector) TYPED_TEST(Sellp, AppliesToMixedDenseVector) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Vec = gko::matrix::Dense; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); auto y = Vec::create(this->exec, gko::dim<2>{2, 1}); @@ -118,8 +116,7 @@ TYPED_TEST(Sellp, AppliesLinearCombinationToDenseVector) TYPED_TEST(Sellp, AppliesLinearCombinationToMixedDenseVector) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Vec = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); auto beta = gko::initialize({2.0}, this->exec); @@ -192,7 +189,7 @@ TYPED_TEST(Sellp, ConvertsToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Sellp = typename TestFixture::Mtx; using OtherSellp = gko::matrix::Sellp; auto tmp = OtherSellp::create(this->exec); @@ -215,7 +212,7 @@ TYPED_TEST(Sellp, MovesToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Sellp = typename TestFixture::Mtx; using OtherSellp = gko::matrix::Sellp; auto tmp = OtherSellp::create(this->exec); @@ -313,7 +310,7 @@ TYPED_TEST(Sellp, ConvertsEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Sellp = typename TestFixture::Mtx; using OtherSellp = gko::matrix::Sellp; auto empty = OtherSellp::create(this->exec); @@ -332,7 +329,7 @@ TYPED_TEST(Sellp, MovesEmptyToPrecision) { using ValueType = typename TestFixture::value_type; using IndexType = typename TestFixture::index_type; - using OtherType = gko::next_precision_with_half; + using OtherType = gko::next_precision; using Sellp = typename TestFixture::Mtx; using OtherSellp = gko::matrix::Sellp; auto empty = OtherSellp::create(this->exec); @@ -754,7 +751,7 @@ class SellpComplex : public ::testing::Test { using Mtx = gko::matrix::Sellp; }; -TYPED_TEST_SUITE(SellpComplex, gko::test::ComplexValueIndexTypesWithHalf, +TYPED_TEST_SUITE(SellpComplex, gko::test::ComplexValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/sparsity_csr.cpp b/reference/test/matrix/sparsity_csr.cpp index 8db0dee144f..d8ed6147e30 100644 --- a/reference/test/matrix/sparsity_csr.cpp +++ b/reference/test/matrix/sparsity_csr.cpp @@ -47,7 +47,7 @@ class SparsityCsr : public ::testing::Test { std::unique_ptr mtx; }; -TYPED_TEST_SUITE(SparsityCsr, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(SparsityCsr, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/matrix/sparsity_csr_kernels.cpp b/reference/test/matrix/sparsity_csr_kernels.cpp index 30805d033ab..f08d6c352ca 100644 --- a/reference/test/matrix/sparsity_csr_kernels.cpp +++ b/reference/test/matrix/sparsity_csr_kernels.cpp @@ -125,7 +125,7 @@ class SparsityCsr : public ::testing::Test { std::unique_ptr mtx3_unsorted; }; -TYPED_TEST_SUITE(SparsityCsr, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(SparsityCsr, gko::test::ValueIndexTypes, PairTypenameNameGenerator); @@ -145,7 +145,7 @@ TYPED_TEST(SparsityCsr, AppliesToDenseVector) TYPED_TEST(SparsityCsr, AppliesToMixedDenseVector) { - using T = gko::next_precision_with_half; + using T = gko::next_precision; using Vec = gko::matrix::Dense; auto x = gko::initialize({2.0, 1.0, 4.0}, this->exec); auto y = Vec::create(this->exec, gko::dim<2>{2, 1}); @@ -192,7 +192,7 @@ TYPED_TEST(SparsityCsr, AppliesLinearCombinationToDenseVector) TYPED_TEST(SparsityCsr, AppliesLinearCombinationToMixedDenseVector) { - using T = gko::next_precision_with_half; + using T = gko::next_precision; using Vec = gko::matrix::Dense; auto alpha = gko::initialize({-1.0}, this->exec); auto beta = gko::initialize({2.0}, this->exec); @@ -243,8 +243,8 @@ TYPED_TEST(SparsityCsr, AppliesToComplex) TYPED_TEST(SparsityCsr, AppliesToMixedComplex) { - using T = gko::next_precision_with_half< - gko::to_complex>; + using T = + gko::next_precision>; using Vec = gko::matrix::Dense; auto x = gko::initialize({T{2.0, 4.0}, T{1.0, 2.0}, T{4.0, 8.0}}, this->exec); @@ -279,7 +279,7 @@ TYPED_TEST(SparsityCsr, AppliesLinearCombinationToComplex) TYPED_TEST(SparsityCsr, AppliesLinearCombinationToMixedComplex) { using Vec = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using ComplexVec = gko::to_complex; using T = typename ComplexVec::value_type; auto alpha = gko::initialize({-1.0}, this->exec); diff --git a/reference/test/multigrid/fixed_coarsening_kernels.cpp b/reference/test/multigrid/fixed_coarsening_kernels.cpp index 001e23d6124..582950b4e17 100644 --- a/reference/test/multigrid/fixed_coarsening_kernels.cpp +++ b/reference/test/multigrid/fixed_coarsening_kernels.cpp @@ -143,7 +143,7 @@ class FixedCoarsening : public ::testing::Test { std::unique_ptr mg_level; }; -TYPED_TEST_SUITE(FixedCoarsening, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(FixedCoarsening, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/multigrid/pgm_kernels.cpp b/reference/test/multigrid/pgm_kernels.cpp index e715b2175d3..2fc754f23b3 100644 --- a/reference/test/multigrid/pgm_kernels.cpp +++ b/reference/test/multigrid/pgm_kernels.cpp @@ -187,8 +187,7 @@ class Pgm : public ::testing::Test { std::unique_ptr mg_level; }; -TYPED_TEST_SUITE(Pgm, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Pgm, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Pgm, CanBeCopied) diff --git a/reference/test/preconditioner/gauss_seidel.cpp b/reference/test/preconditioner/gauss_seidel.cpp index 53db7f0781e..2b67b665d77 100644 --- a/reference/test/preconditioner/gauss_seidel.cpp +++ b/reference/test/preconditioner/gauss_seidel.cpp @@ -47,7 +47,7 @@ class GaussSeidel : public ::testing::Test { std::shared_ptr mtx = csr_type::create(exec); }; -TYPED_TEST_SUITE(GaussSeidel, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(GaussSeidel, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/preconditioner/ic.cpp b/reference/test/preconditioner/ic.cpp index aabd6c64d73..16ffc8d7b3c 100644 --- a/reference/test/preconditioner/ic.cpp +++ b/reference/test/preconditioner/ic.cpp @@ -67,8 +67,7 @@ class Ic : public ::testing::Test { gko::remove_complex tol; }; -TYPED_TEST_SUITE(Ic, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Ic, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Ic, BuildsTwoFactorComposition) @@ -246,7 +245,7 @@ TYPED_TEST(Ic, SolvesSingleRhsMixed) { using ic_prec_type = typename TestFixture::ic_prec_type; using T = typename TestFixture::value_type; - using Vec = gko::matrix::Dense>; + using Vec = gko::matrix::Dense>; const auto b = gko::initialize({1.0, 3.0, 6.0}, this->exec); auto x = Vec::create(this->exec, gko::dim<2>{3, 1}); auto preconditioner = @@ -279,8 +278,8 @@ TYPED_TEST(Ic, SolvesSingleRhsComplex) TYPED_TEST(Ic, SolvesSingleRhsComplexMixed) { using ic_prec_type = typename TestFixture::ic_prec_type; - using Vec = gko::matrix::Dense>>; + using Vec = gko::matrix::Dense< + gko::next_precision>>; using T = typename Vec::value_type; const auto b = gko::initialize( {T{1.0, 2.0}, T{3.0, 6.0}, T{6.0, 12.0}}, this->exec); @@ -316,7 +315,7 @@ TYPED_TEST(Ic, AdvancedSolvesSingleRhsMixed) { using ic_prec_type = typename TestFixture::ic_prec_type; using T = typename TestFixture::value_type; - using Vec = gko::matrix::Dense>; + using Vec = gko::matrix::Dense>; const auto b = gko::initialize({1.0, 3.0, 6.0}, this->exec); const auto alpha = gko::initialize({2.0}, this->exec); const auto beta = gko::initialize({-1.0}, this->exec); @@ -356,7 +355,7 @@ TYPED_TEST(Ic, AdvancedSolvesSingleRhsComplexMixed) { using ic_prec_type = typename TestFixture::ic_prec_type; using MixedDense = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using MixedDenseComplex = gko::to_complex; using T = typename MixedDenseComplex::value_type; const auto b = gko::initialize( diff --git a/reference/test/preconditioner/ilu.cpp b/reference/test/preconditioner/ilu.cpp index e4c4809f084..180b92be9ec 100644 --- a/reference/test/preconditioner/ilu.cpp +++ b/reference/test/preconditioner/ilu.cpp @@ -84,7 +84,7 @@ class Ilu : public ::testing::Test { std::shared_ptr ilu_rev_pre_factory; }; -TYPED_TEST_SUITE(Ilu, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Ilu, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Ilu, BuildsDefaultWithoutThrowing) @@ -316,7 +316,7 @@ TYPED_TEST(Ilu, SolvesSingleRhsWithMtx) TYPED_TEST(Ilu, SolvesSingleRhsWithMixedMtx) { using Mtx = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; const auto b = gko::initialize({1.0, 3.0, 6.0}, this->exec); auto x = Mtx::create(this->exec, gko::dim<2>{3, 1}); x->copy_from(b); @@ -349,8 +349,8 @@ TYPED_TEST(Ilu, SolvesSingleRhsWithComplexMtx) TYPED_TEST(Ilu, SolvesSingleRhsWithMixedComplexMtx) { - using Mtx = gko::matrix::Dense>>; + using Mtx = gko::matrix::Dense< + gko::to_complex>>; using T = typename Mtx::value_type; const auto b = gko::initialize( {T{1.0, 2.0}, T{3.0, 6.0}, T{6.0, 12.0}}, this->exec); @@ -403,8 +403,7 @@ TYPED_TEST(Ilu, SolvesAdvancedSingleRhs) TYPED_TEST(Ilu, SolvesAdvancedSingleRhsMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; const value_type alpha{2.0}; const auto alpha_linop = gko::initialize({alpha}, this->exec); @@ -454,8 +453,7 @@ TYPED_TEST(Ilu, SolvesAdvancedSingleRhsComplex) TYPED_TEST(Ilu, SolvesAdvancedSingleRhsMixedComplex) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using complex_type = gko::to_complex; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::to_complex; diff --git a/reference/test/preconditioner/isai_kernels.cpp b/reference/test/preconditioner/isai_kernels.cpp index 0164f5d8e58..a92a8c1fc5d 100644 --- a/reference/test/preconditioner/isai_kernels.cpp +++ b/reference/test/preconditioner/isai_kernels.cpp @@ -332,15 +332,15 @@ using HalfIndexTypes = gko::test::cartesian_type_product_t< gko::test::IndexTypes>; TYPED_TEST_SUITE(Isai, HalfIndexTypes, PairTypenameNameGenerator); #else -TYPED_TEST_SUITE(Isai, gko::test::ValueIndexTypes, PairTypenameNameGenerator); +TYPED_TEST_SUITE(Isai, gko::test::ValueIndexTypesBase, + PairTypenameNameGenerator); #endif #else -TYPED_TEST_SUITE(Isai, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Isai, gko::test::ValueIndexTypes, PairTypenameNameGenerator); #endif diff --git a/reference/test/preconditioner/jacobi.cpp b/reference/test/preconditioner/jacobi.cpp index 1bc0aa37470..79c276579ad 100644 --- a/reference/test/preconditioner/jacobi.cpp +++ b/reference/test/preconditioner/jacobi.cpp @@ -144,8 +144,7 @@ class Jacobi : public ::testing::Test { std::unique_ptr adaptive_bj; }; -TYPED_TEST_SUITE(Jacobi, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Jacobi, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Jacobi, GeneratesCorrectStorageScheme) @@ -478,7 +477,7 @@ TYPED_TEST(Jacobi, ScalarJacobiGeneratesOnDifferentPrecision) { using value_type = typename TestFixture::value_type; using index_type = typename TestFixture::index_type; - using next_type = gko::next_precision_with_half; + using next_type = gko::next_precision; using Bj = typename TestFixture::Bj; auto csr = gko::share(gko::matrix::Csr::create(this->exec)); diff --git a/reference/test/preconditioner/jacobi_kernels.cpp b/reference/test/preconditioner/jacobi_kernels.cpp index 2b75c2a5590..cade7b3822a 100644 --- a/reference/test/preconditioner/jacobi_kernels.cpp +++ b/reference/test/preconditioner/jacobi_kernels.cpp @@ -86,8 +86,7 @@ class Jacobi : public ::testing::Test { std::shared_ptr> mtx; }; -TYPED_TEST_SUITE(Jacobi, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Jacobi, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Jacobi, CanBeGenerated) @@ -649,8 +648,7 @@ TYPED_TEST(Jacobi, ScalarJacobiAppliesToVector) TYPED_TEST(Jacobi, AppliesToMixedVector) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Vec = gko::matrix::Dense; auto x = gko::initialize({1.0, -1.0, 2.0, -2.0, 3.0}, this->exec); auto b = gko::initialize({4.0, -1.0, -2.0, 4.0, -1.0}, this->exec); @@ -690,8 +688,8 @@ TYPED_TEST(Jacobi, AppliesToComplexVector) TYPED_TEST(Jacobi, AppliesToMixedComplexVector) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Vec = gko::matrix::Dense; auto x = gko::initialize( {value_type{1.0, 2.0}, value_type{-1.0, -2.0}, value_type{2.0, 4.0}, @@ -896,8 +894,7 @@ TYPED_TEST(Jacobi, ScalarJacobiAppliesLinearCombinationToVector) TYPED_TEST(Jacobi, AppliesLinearCombinationToMixedVector) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Vec = gko::matrix::Dense; auto x = gko::initialize({1.0, -1.0, 2.0, -2.0, 3.0}, this->exec); auto b = gko::initialize({4.0, -1.0, -2.0, 4.0, -1.0}, this->exec); @@ -940,8 +937,7 @@ TYPED_TEST(Jacobi, AppliesLinearCombinationToComplexVector) TYPED_TEST(Jacobi, AppliesLinearCombinationToMixedComplexVector) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using MixedDense = gko::matrix::Dense; using MixedDenseComplex = gko::to_complex; using T = gko::to_complex; diff --git a/reference/test/preconditioner/sor_kernels.cpp b/reference/test/preconditioner/sor_kernels.cpp index cd2fa9af364..18c055aa6d9 100644 --- a/reference/test/preconditioner/sor_kernels.cpp +++ b/reference/test/preconditioner/sor_kernels.cpp @@ -55,8 +55,7 @@ class Sor : public ::testing::Test { exec); }; -TYPED_TEST_SUITE(Sor, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Sor, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Sor, CanInitializeLFactor) diff --git a/reference/test/reorder/mc64.cpp b/reference/test/reorder/mc64.cpp index 0670c77f6e2..f32e02aac07 100644 --- a/reference/test/reorder/mc64.cpp +++ b/reference/test/reorder/mc64.cpp @@ -71,8 +71,7 @@ class Mc64 : public ::testing::Test { std::unique_ptr mc64_factory; }; -TYPED_TEST_SUITE(Mc64, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Mc64, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Mc64, HasSensibleDefaults) diff --git a/reference/test/reorder/mc64_kernels.cpp b/reference/test/reorder/mc64_kernels.cpp index f31bf7ba658..808b74df2d8 100644 --- a/reference/test/reorder/mc64_kernels.cpp +++ b/reference/test/reorder/mc64_kernels.cpp @@ -181,8 +181,7 @@ class Mc64 : public ::testing::Test { const real_type zero_tol; }; -TYPED_TEST_SUITE(Mc64, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Mc64, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Mc64, InitializeWeightsSum) diff --git a/reference/test/reorder/rcm.cpp b/reference/test/reorder/rcm.cpp index ae63ca504bb..ec547c141e3 100644 --- a/reference/test/reorder/rcm.cpp +++ b/reference/test/reorder/rcm.cpp @@ -54,8 +54,7 @@ class Rcm : public ::testing::Test { std::unique_ptr reorder_op; }; -TYPED_TEST_SUITE(Rcm, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Rcm, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Rcm, CanBeCleared) diff --git a/reference/test/reorder/scaled_reordered.cpp b/reference/test/reorder/scaled_reordered.cpp index b9924cd9418..4320ec35873 100644 --- a/reference/test/reorder/scaled_reordered.cpp +++ b/reference/test/reorder/scaled_reordered.cpp @@ -132,7 +132,7 @@ class ScaledReordered : public ::testing::Test { gko::remove_complex tol; }; -TYPED_TEST_SUITE(ScaledReordered, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(ScaledReordered, gko::test::ValueIndexTypes, PairTypenameNameGenerator); @@ -451,7 +451,7 @@ TYPED_TEST(ScaledReordered, SolvesSingleRhsWithScalingAndRcmReorderingMixed) { using SR = typename TestFixture::SR; using T = typename TestFixture::value_type; - using OtherT = gko::next_precision_with_half; + using OtherT = gko::next_precision; using Vec = gko::matrix::Dense; auto scaled_reordered_fact = SR::build() .with_row_scaling(this->diag2) @@ -500,7 +500,7 @@ TYPED_TEST(ScaledReordered, { using SR = typename TestFixture::SR; using T = typename TestFixture::value_type; - using OtherT = gko::next_precision_with_half; + using OtherT = gko::next_precision; using Vec = gko::matrix::Dense; auto scaled_reordered_fact = SR::build() .with_row_scaling(this->diag2) diff --git a/reference/test/solver/batch_bicgstab_kernels.cpp b/reference/test/solver/batch_bicgstab_kernels.cpp index 468b38a561b..16d2f7a6653 100644 --- a/reference/test/solver/batch_bicgstab_kernels.cpp +++ b/reference/test/solver/batch_bicgstab_kernels.cpp @@ -75,7 +75,7 @@ class BatchBicgstab : public ::testing::Test { solve_lambda; }; -TYPED_TEST_SUITE(BatchBicgstab, gko::test::RealValueTypesWithHalf, +TYPED_TEST_SUITE(BatchBicgstab, gko::test::RealValueTypes, TypenameNameGenerator); diff --git a/reference/test/solver/batch_cg_kernels.cpp b/reference/test/solver/batch_cg_kernels.cpp index 2619614278e..86f8c1e84b0 100644 --- a/reference/test/solver/batch_cg_kernels.cpp +++ b/reference/test/solver/batch_cg_kernels.cpp @@ -75,8 +75,7 @@ class BatchCg : public ::testing::Test { solve_lambda; }; -TYPED_TEST_SUITE(BatchCg, gko::test::RealValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(BatchCg, gko::test::RealValueTypes, TypenameNameGenerator); TYPED_TEST(BatchCg, SolvesStencilSystem) diff --git a/reference/test/solver/bicg_kernels.cpp b/reference/test/solver/bicg_kernels.cpp index 13d81de0c7a..22b37683e0d 100644 --- a/reference/test/solver/bicg_kernels.cpp +++ b/reference/test/solver/bicg_kernels.cpp @@ -119,7 +119,7 @@ class Bicg : public ::testing::Test { std::unique_ptr bicg_factory_non_symmetric; }; -TYPED_TEST_SUITE(Bicg, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Bicg, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Bicg, KernelInitialize) @@ -266,8 +266,7 @@ TYPED_TEST(Bicg, SolvesStencilSystem) TYPED_TEST(Bicg, SolvesStencilSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->bicg_factory->generate(this->mtx); auto b = gko::initialize({-1.0, 3.0, 1.0}, this->exec); @@ -303,8 +302,8 @@ TYPED_TEST(Bicg, SolvesStencilSystemComplex) TYPED_TEST(Bicg, SolvesStencilSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->bicg_factory->generate(this->mtx); auto b = gko::initialize( @@ -359,8 +358,7 @@ TYPED_TEST(Bicg, SolvesStencilSystemUsingAdvancedApply) TYPED_TEST(Bicg, SolvesStencilSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->bicg_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -402,7 +400,7 @@ TYPED_TEST(Bicg, SolvesStencilSystemUsingAdvancedApplyComplex) TYPED_TEST(Bicg, SolvesStencilSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->bicg_factory->generate(this->mtx); diff --git a/reference/test/solver/bicgstab_kernels.cpp b/reference/test/solver/bicgstab_kernels.cpp index ce17f25f47e..7f508ae750a 100644 --- a/reference/test/solver/bicgstab_kernels.cpp +++ b/reference/test/solver/bicgstab_kernels.cpp @@ -121,8 +121,7 @@ class Bicgstab : public ::testing::Test { std::unique_ptr bicgstab_factory_precision; }; -TYPED_TEST_SUITE(Bicgstab, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Bicgstab, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Bicgstab, KernelInitialize) @@ -384,8 +383,7 @@ TYPED_TEST(Bicgstab, SolvesDenseSystem) TYPED_TEST(Bicgstab, SolvesDenseSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->bicgstab_factory->generate(this->mtx); auto b = gko::initialize({-1.0, 3.0, 1.0}, this->exec); @@ -421,8 +419,8 @@ TYPED_TEST(Bicgstab, SolvesDenseSystemComplex) TYPED_TEST(Bicgstab, SolvesDenseSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->bicgstab_factory->generate(this->mtx); auto b = gko::initialize( @@ -497,8 +495,7 @@ TYPED_TEST(Bicgstab, SolvesDenseSystemUsingAdvancedApply) TYPED_TEST(Bicgstab, SolvesDenseSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->bicgstab_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -540,7 +537,7 @@ TYPED_TEST(Bicgstab, SolvesDenseSystemUsingAdvancedApplyComplex) TYPED_TEST(Bicgstab, SolvesDenseSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->bicgstab_factory->generate(this->mtx); diff --git a/reference/test/solver/cb_gmres_kernels.cpp b/reference/test/solver/cb_gmres_kernels.cpp index ae3ecce9963..2c6edc4abb1 100644 --- a/reference/test/solver/cb_gmres_kernels.cpp +++ b/reference/test/solver/cb_gmres_kernels.cpp @@ -137,9 +137,9 @@ using st_ir2 = st_helper_type; using TestTypes = gko::test::merge_type_list_t< gko::test::cartesian_type_product_t< - gko::test::ValueTypes, ::testing::Types>, + gko::test::ValueTypesBase, ::testing::Types>, gko::test::cartesian_type_product_t< - gko::test::RealValueTypes, ::testing::Types>>; + gko::test::RealValueTypesBase, ::testing::Types>>; TYPED_TEST_SUITE(CbGmres, TestTypes, PairTypenameNameGenerator); @@ -160,7 +160,8 @@ TYPED_TEST(CbGmres, SolvesStencilSystem) TYPED_TEST(CbGmres, SolvesStencilSystemMixed) { - using value_type = gko::next_precision; + using value_type = + gko::next_precision_base; using Mtx = gko::matrix::Dense; auto solver = this->cb_gmres_factory->generate(this->mtx); auto b = gko::initialize({13.0, 7.0, 1.0}, this->exec); @@ -198,8 +199,8 @@ TYPED_TEST(CbGmres, SolvesStencilSystemComplex) TYPED_TEST(CbGmres, SolvesStencilSystemMixedComplex) { - using value_type = - gko::to_complex>; + using value_type = gko::to_complex< + gko::next_precision_base>; using Mtx = gko::matrix::Dense; auto solver = this->cb_gmres_factory->generate(this->mtx); auto b = @@ -280,7 +281,8 @@ TYPED_TEST(CbGmres, SolvesStencilSystemUsingAdvancedApply) TYPED_TEST(CbGmres, SolvesStencilSystemUsingAdvancedApplyMixed) { - using value_type = gko::next_precision; + using value_type = + gko::next_precision_base; using Mtx = gko::matrix::Dense; auto solver = this->cb_gmres_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -324,7 +326,7 @@ TYPED_TEST(CbGmres, SolvesStencilSystemUsingAdvancedApplyComplex) TYPED_TEST(CbGmres, SolvesStencilSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision>; + gko::next_precision_base>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->cb_gmres_factory->generate(this->mtx); diff --git a/reference/test/solver/cg_kernels.cpp b/reference/test/solver/cg_kernels.cpp index fd708d736bc..c4987bb5b17 100644 --- a/reference/test/solver/cg_kernels.cpp +++ b/reference/test/solver/cg_kernels.cpp @@ -107,7 +107,7 @@ class Cg : public ::testing::Test { std::unique_ptr cg_factory_big2; }; -TYPED_TEST_SUITE(Cg, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Cg, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Cg, KernelInitialize) @@ -228,8 +228,7 @@ TYPED_TEST(Cg, SolvesStencilSystem) TYPED_TEST(Cg, SolvesStencilSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->cg_factory->generate(this->mtx); auto b = gko::initialize({-1.0, 3.0, 1.0}, this->exec); @@ -265,8 +264,8 @@ TYPED_TEST(Cg, SolvesStencilSystemComplex) TYPED_TEST(Cg, SolvesStencilSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->cg_factory->generate(this->mtx); auto b = gko::initialize( @@ -321,8 +320,7 @@ TYPED_TEST(Cg, SolvesStencilSystemUsingAdvancedApply) TYPED_TEST(Cg, SolvesStencilSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->cg_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -364,7 +362,7 @@ TYPED_TEST(Cg, SolvesStencilSystemUsingAdvancedApplyComplex) TYPED_TEST(Cg, SolvesStencilSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->cg_factory->generate(this->mtx); diff --git a/reference/test/solver/cgs_kernels.cpp b/reference/test/solver/cgs_kernels.cpp index a06c087776c..a631c0c4944 100644 --- a/reference/test/solver/cgs_kernels.cpp +++ b/reference/test/solver/cgs_kernels.cpp @@ -121,7 +121,7 @@ class Cgs : public ::testing::Test { std::unique_ptr cgs_factory_big2; }; -TYPED_TEST_SUITE(Cgs, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Cgs, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Cgs, KernelInitialize) @@ -293,8 +293,7 @@ TYPED_TEST(Cgs, SolvesDenseSystem) TYPED_TEST(Cgs, SolvesDenseSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->cgs_factory->generate(this->mtx); auto b = gko::initialize({-1.0, 3.0, 1.0}, this->exec); @@ -330,8 +329,8 @@ TYPED_TEST(Cgs, SolvesDenseSystemComplex) TYPED_TEST(Cgs, SolvesDenseSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->cgs_factory->generate(this->mtx); auto b = gko::initialize( @@ -387,8 +386,7 @@ TYPED_TEST(Cgs, SolvesDenseSystemUsingAdvancedApply) TYPED_TEST(Cgs, SolvesDenseSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->cgs_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -430,7 +428,7 @@ TYPED_TEST(Cgs, SolvesDenseSystemUsingAdvancedApplyComplex) TYPED_TEST(Cgs, SolvesDenseSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->cgs_factory->generate(this->mtx); diff --git a/reference/test/solver/direct.cpp b/reference/test/solver/direct.cpp index e421811382f..d06948e631e 100644 --- a/reference/test/solver/direct.cpp +++ b/reference/test/solver/direct.cpp @@ -66,8 +66,7 @@ class Direct : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(Direct, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Direct, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Direct, SolvesAni1SingleRhs) diff --git a/reference/test/solver/fcg_kernels.cpp b/reference/test/solver/fcg_kernels.cpp index 88615921f34..dca202f9fc8 100644 --- a/reference/test/solver/fcg_kernels.cpp +++ b/reference/test/solver/fcg_kernels.cpp @@ -112,7 +112,7 @@ class Fcg : public ::testing::Test { std::unique_ptr fcg_factory_big2; }; -TYPED_TEST_SUITE(Fcg, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Fcg, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Fcg, KernelInitialize) @@ -242,8 +242,7 @@ TYPED_TEST(Fcg, SolvesStencilSystem) TYPED_TEST(Fcg, SolvesStencilSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->fcg_factory->generate(this->mtx); auto b = gko::initialize({-1.0, 3.0, 1.0}, this->exec); @@ -279,8 +278,8 @@ TYPED_TEST(Fcg, SolvesStencilSystemComplex) TYPED_TEST(Fcg, SolvesStencilSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->fcg_factory->generate(this->mtx); auto b = gko::initialize( @@ -335,8 +334,7 @@ TYPED_TEST(Fcg, SolvesStencilSystemUsingAdvancedApply) TYPED_TEST(Fcg, SolvesStencilSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->fcg_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -378,7 +376,7 @@ TYPED_TEST(Fcg, SolvesStencilSystemUsingAdvancedApplyComplex) TYPED_TEST(Fcg, SolvesStencilSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->fcg_factory->generate(this->mtx); diff --git a/reference/test/solver/gcr_kernels.cpp b/reference/test/solver/gcr_kernels.cpp index af8e74888d0..701a6590ec1 100644 --- a/reference/test/solver/gcr_kernels.cpp +++ b/reference/test/solver/gcr_kernels.cpp @@ -119,7 +119,7 @@ class Gcr : public ::testing::Test { std::unique_ptr gcr_factory_big2; }; -TYPED_TEST_SUITE(Gcr, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Gcr, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Gcr, KernelInitialize) @@ -225,8 +225,7 @@ TYPED_TEST(Gcr, SolvesStencilSystem) TYPED_TEST(Gcr, SolvesStencilSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->gcr_factory->generate(this->mtx); auto b = gko::initialize({13.0, 7.0, 1.0}, this->exec); @@ -263,8 +262,8 @@ TYPED_TEST(Gcr, SolvesStencilSystemComplex) TYPED_TEST(Gcr, SolvesStencilSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->gcr_factory->generate(this->mtx); auto b = @@ -320,8 +319,7 @@ TYPED_TEST(Gcr, SolvesStencilSystemUsingAdvancedApply) TYPED_TEST(Gcr, SolvesStencilSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->gcr_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -364,7 +362,7 @@ TYPED_TEST(Gcr, SolvesStencilSystemUsingAdvancedApplyComplex) TYPED_TEST(Gcr, SolvesStencilSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->gcr_factory->generate(this->mtx); diff --git a/reference/test/solver/gmres_kernels.cpp b/reference/test/solver/gmres_kernels.cpp index abecc6b2a79..93d2d79e624 100644 --- a/reference/test/solver/gmres_kernels.cpp +++ b/reference/test/solver/gmres_kernels.cpp @@ -136,7 +136,7 @@ class Gmres : public ::testing::Test { std::unique_ptr gmres_factory_big2; }; -TYPED_TEST_SUITE(Gmres, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Gmres, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Gmres, KernelInitialize) @@ -434,8 +434,7 @@ TYPED_TEST(Gmres, SolvesStencilSystem) TYPED_TEST(Gmres, SolvesStencilSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->gmres_factory->generate(this->mtx); auto b = gko::initialize({13.0, 7.0, 1.0}, this->exec); @@ -472,8 +471,8 @@ TYPED_TEST(Gmres, SolvesStencilSystemComplex) TYPED_TEST(Gmres, SolvesStencilSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->gmres_factory->generate(this->mtx); auto b = @@ -529,8 +528,7 @@ TYPED_TEST(Gmres, SolvesStencilSystemUsingAdvancedApply) TYPED_TEST(Gmres, SolvesStencilSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->gmres_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -573,7 +571,7 @@ TYPED_TEST(Gmres, SolvesStencilSystemUsingAdvancedApplyComplex) TYPED_TEST(Gmres, SolvesStencilSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->gmres_factory->generate(this->mtx); diff --git a/reference/test/solver/idr_kernels.cpp b/reference/test/solver/idr_kernels.cpp index 420a3f15684..7f171530086 100644 --- a/reference/test/solver/idr_kernels.cpp +++ b/reference/test/solver/idr_kernels.cpp @@ -60,7 +60,7 @@ class Idr : public ::testing::Test { std::unique_ptr idr_factory_precision; }; -TYPED_TEST_SUITE(Idr, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Idr, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Idr, SolvesDenseSystem) @@ -80,7 +80,7 @@ TYPED_TEST(Idr, SolvesDenseSystem) TYPED_TEST(Idr, SolvesDenseSystemMixed) { using T = typename TestFixture::value_type; - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->idr_factory->generate(this->mtx); auto b = gko::initialize({-1.0, 3.0, 1.0}, this->exec); @@ -118,7 +118,7 @@ TYPED_TEST(Idr, SolvesDenseSystemComplex) TYPED_TEST(Idr, SolvesDenseSystemMixedComplex) { using T = typename TestFixture::value_type; - using value_type = gko::to_complex>; + using value_type = gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->idr_factory->generate(this->mtx); auto b = gko::initialize( @@ -237,8 +237,7 @@ TYPED_TEST(Idr, SolvesDenseSystemUsingAdvancedApply) TYPED_TEST(Idr, SolvesDenseSystemUsingAdvancedApplyMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->idr_factory->generate(this->mtx); auto alpha = gko::initialize({2.0}, this->exec); @@ -280,7 +279,7 @@ TYPED_TEST(Idr, SolvesDenseSystemUsingAdvancedApplyComplex) TYPED_TEST(Idr, SolvesDenseSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->idr_factory->generate(this->mtx); diff --git a/reference/test/solver/ir_kernels.cpp b/reference/test/solver/ir_kernels.cpp index f329a16d932..b0c1029f693 100644 --- a/reference/test/solver/ir_kernels.cpp +++ b/reference/test/solver/ir_kernels.cpp @@ -47,7 +47,7 @@ class Ir : public ::testing::Test { std::unique_ptr ir_factory; }; -TYPED_TEST_SUITE(Ir, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Ir, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(Ir, KernelInitialize) @@ -82,8 +82,7 @@ TYPED_TEST(Ir, SolvesTriangularSystem) TYPED_TEST(Ir, SolvesTriangularSystemMixed) { - using value_type = - gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto solver = this->ir_factory->generate(this->mtx); auto b = gko::initialize({3.9, 9.0, 2.2}, this->exec); @@ -119,8 +118,8 @@ TYPED_TEST(Ir, SolvesTriangularSystemComplex) TYPED_TEST(Ir, SolvesTriangularSystemMixedComplex) { - using value_type = gko::to_complex< - gko::next_precision_with_half>; + using value_type = + gko::to_complex>; using Mtx = gko::matrix::Dense; auto solver = this->ir_factory->generate(this->mtx); auto b = gko::initialize( @@ -245,7 +244,7 @@ TYPED_TEST(Ir, SolvesTriangularSystemUsingAdvancedApplyComplex) TYPED_TEST(Ir, SolvesTriangularSystemUsingAdvancedApplyMixedComplex) { using Scalar = gko::matrix::Dense< - gko::next_precision_with_half>; + gko::next_precision>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto solver = this->ir_factory->generate(this->mtx); diff --git a/reference/test/solver/lower_trs.cpp b/reference/test/solver/lower_trs.cpp index fd6fe1e4b16..d52ee028b53 100644 --- a/reference/test/solver/lower_trs.cpp +++ b/reference/test/solver/lower_trs.cpp @@ -45,7 +45,7 @@ class LowerTrs : public ::testing::Test { std::unique_ptr solver; }; -TYPED_TEST_SUITE(LowerTrs, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(LowerTrs, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/solver/lower_trs_kernels.cpp b/reference/test/solver/lower_trs_kernels.cpp index 6d54efd2913..3680f19681f 100644 --- a/reference/test/solver/lower_trs_kernels.cpp +++ b/reference/test/solver/lower_trs_kernels.cpp @@ -75,7 +75,7 @@ class LowerTrs : public ::testing::Test { std::unique_ptr lower_trs_factory_unit; }; -TYPED_TEST_SUITE(LowerTrs, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(LowerTrs, gko::test::ValueIndexTypes, PairTypenameNameGenerator); @@ -108,7 +108,7 @@ TYPED_TEST(LowerTrs, SolvesTriangularSystem) TYPED_TEST(LowerTrs, SolvesTriangularSystemMixed) { using other_value_type = typename TestFixture::value_type; - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; std::shared_ptr b = gko::initialize({1.0, 2.0, 1.0}, this->exec); auto x = gko::initialize({0.0, 0.0, 0.0}, this->exec); @@ -146,8 +146,7 @@ TYPED_TEST(LowerTrs, SolvesTriangularSystemComplex) TYPED_TEST(LowerTrs, SolvesTriangularSystemMixedComplex) { using other_value_type = typename TestFixture::value_type; - using Scalar = - gko::matrix::Dense>; + using Scalar = gko::matrix::Dense>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; std::shared_ptr b = gko::initialize( @@ -218,7 +217,7 @@ TYPED_TEST(LowerTrs, SolvesTriangularSystemUsingAdvancedApply) TYPED_TEST(LowerTrs, SolvesTriangularSystemUsingAdvancedApplyMixed) { using other_value_type = typename TestFixture::value_type; - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto alpha = gko::initialize({2.0}, this->exec); auto beta = gko::initialize({-1.0}, this->exec); @@ -260,8 +259,7 @@ TYPED_TEST(LowerTrs, SolvesTriangularSystemUsingAdvancedApplyComplex) TYPED_TEST(LowerTrs, SolvesTriangularSystemUsingAdvancedApplyMixedComplex) { using other_value_type = typename TestFixture::value_type; - using Scalar = - gko::matrix::Dense>; + using Scalar = gko::matrix::Dense>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto alpha = gko::initialize({2.0}, this->exec); diff --git a/reference/test/solver/multigrid_kernels.cpp b/reference/test/solver/multigrid_kernels.cpp index 8aad93a1efb..9f18c264826 100644 --- a/reference/test/solver/multigrid_kernels.cpp +++ b/reference/test/solver/multigrid_kernels.cpp @@ -229,13 +229,11 @@ class Multigrid : public ::testing::Test { using Mtx = gko::matrix::Dense; using Solver = gko::solver::Multigrid; using Coarse = gko::multigrid::Pgm; - using CoarseNext = - gko::multigrid::Pgm>; + using CoarseNext = gko::multigrid::Pgm>; using Smoother = gko::solver::Ir; using InnerSolver = gko::preconditioner::Jacobi; using CoarsestSolver = gko::solver::Cg; - using CoarsestNextSolver = - gko::solver::Cg>; + using CoarsestNextSolver = gko::solver::Cg>; using DummyRPFactory = DummyMultigridLevelWithFactory; using DummyFactory = DummyLinOpWithFactory; Multigrid() @@ -417,7 +415,7 @@ class Multigrid : public ::testing::Test { std::shared_ptr x2; }; -TYPED_TEST_SUITE(Multigrid, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(Multigrid, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/solver/upper_trs.cpp b/reference/test/solver/upper_trs.cpp index b59744a0e8c..9980c51f9d1 100644 --- a/reference/test/solver/upper_trs.cpp +++ b/reference/test/solver/upper_trs.cpp @@ -45,7 +45,7 @@ class UpperTrs : public ::testing::Test { std::unique_ptr upper_trs_solver; }; -TYPED_TEST_SUITE(UpperTrs, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(UpperTrs, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/reference/test/solver/upper_trs_kernels.cpp b/reference/test/solver/upper_trs_kernels.cpp index 870542593ff..a60f3b46079 100644 --- a/reference/test/solver/upper_trs_kernels.cpp +++ b/reference/test/solver/upper_trs_kernels.cpp @@ -75,7 +75,7 @@ class UpperTrs : public ::testing::Test { std::unique_ptr upper_trs_factory_unit; }; -TYPED_TEST_SUITE(UpperTrs, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(UpperTrs, gko::test::ValueIndexTypes, PairTypenameNameGenerator); @@ -108,7 +108,7 @@ TYPED_TEST(UpperTrs, SolvesTriangularSystem) TYPED_TEST(UpperTrs, SolvesTriangularSystemMixed) { using other_value_type = typename TestFixture::value_type; - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; std::shared_ptr b = gko::initialize({4.0, 2.0, 3.0}, this->exec); auto x = gko::initialize({0.0, 0.0, 0.0}, this->exec); @@ -146,8 +146,7 @@ TYPED_TEST(UpperTrs, SolvesTriangularSystemComplex) TYPED_TEST(UpperTrs, SolvesTriangularSystemMixedComplex) { using other_value_type = typename TestFixture::value_type; - using Scalar = - gko::matrix::Dense>; + using Scalar = gko::matrix::Dense>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; std::shared_ptr b = gko::initialize( @@ -219,7 +218,7 @@ TYPED_TEST(UpperTrs, SolvesTriangularSystemUsingAdvancedApply) TYPED_TEST(UpperTrs, SolvesTriangularSystemUsingAdvancedApplyMixed) { using other_value_type = typename TestFixture::value_type; - using value_type = gko::next_precision_with_half; + using value_type = gko::next_precision; using Mtx = gko::matrix::Dense; auto alpha = gko::initialize({2.0}, this->exec); auto beta = gko::initialize({-1.0}, this->exec); @@ -261,8 +260,7 @@ TYPED_TEST(UpperTrs, SolvesTriangularSystemUsingAdvancedApplyComplex) TYPED_TEST(UpperTrs, SolvesTriangularSystemUsingAdvancedApplyMixedComplex) { using other_value_type = typename TestFixture::value_type; - using Scalar = - gko::matrix::Dense>; + using Scalar = gko::matrix::Dense>; using Mtx = gko::to_complex; using value_type = typename Mtx::value_type; auto alpha = gko::initialize({2.0}, this->exec); diff --git a/reference/test/stop/residual_norm_kernels.cpp b/reference/test/stop/residual_norm_kernels.cpp index aed801afacf..e7eef0565d2 100644 --- a/reference/test/stop/residual_norm_kernels.cpp +++ b/reference/test/stop/residual_norm_kernels.cpp @@ -45,8 +45,7 @@ class ResidualNorm : public ::testing::Test { std::shared_ptr exec_; }; -TYPED_TEST_SUITE(ResidualNorm, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(ResidualNorm, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(ResidualNorm, CanCreateFactory) @@ -530,7 +529,7 @@ class ResidualNormWithInitialResnorm : public ::testing::Test { std::shared_ptr exec_; }; -TYPED_TEST_SUITE(ResidualNormWithInitialResnorm, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ResidualNormWithInitialResnorm, gko::test::ValueTypes, TypenameNameGenerator); @@ -671,7 +670,7 @@ class ResidualNormWithRhsNorm : public ::testing::Test { std::shared_ptr exec_; }; -TYPED_TEST_SUITE(ResidualNormWithRhsNorm, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ResidualNormWithRhsNorm, gko::test::ValueTypes, TypenameNameGenerator); @@ -808,7 +807,7 @@ class ImplicitResidualNorm : public ::testing::Test { std::shared_ptr exec_; }; -TYPED_TEST_SUITE(ImplicitResidualNorm, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ImplicitResidualNorm, gko::test::ValueTypes, TypenameNameGenerator); @@ -984,7 +983,7 @@ class ResidualNormWithAbsolute : public ::testing::Test { std::shared_ptr exec_; }; -TYPED_TEST_SUITE(ResidualNormWithAbsolute, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ResidualNormWithAbsolute, gko::test::ValueTypes, TypenameNameGenerator); diff --git a/reference/test/utils/assertions_test.cpp b/reference/test/utils/assertions_test.cpp index 9c6b544172e..98f1ec68e0d 100644 --- a/reference/test/utils/assertions_test.cpp +++ b/reference/test/utils/assertions_test.cpp @@ -17,8 +17,7 @@ namespace { template class MatricesNear : public ::testing::Test {}; -TYPED_TEST_SUITE(MatricesNear, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(MatricesNear, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(MatricesNear, CanPassAnyMatrixType) diff --git a/test/base/device_matrix_data_kernels.cpp b/test/base/device_matrix_data_kernels.cpp index d2543ae7cbb..189badf83fa 100644 --- a/test/base/device_matrix_data_kernels.cpp +++ b/test/base/device_matrix_data_kernels.cpp @@ -84,7 +84,7 @@ class DeviceMatrixData : public CommonTestFixture { gko::matrix_data deduplicated_data; }; -TYPED_TEST_SUITE(DeviceMatrixData, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(DeviceMatrixData, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/test/components/fill_array_kernels.cpp b/test/components/fill_array_kernels.cpp index 4237a75304a..3d494b3f5f0 100644 --- a/test/components/fill_array_kernels.cpp +++ b/test/components/fill_array_kernels.cpp @@ -36,7 +36,7 @@ class FillArray : public CommonTestFixture { gko::array seqs; }; -TYPED_TEST_SUITE(FillArray, gko::test::ComplexAndPODTypesWithHalf, +TYPED_TEST_SUITE(FillArray, gko::test::ComplexAndPODTypes, TypenameNameGenerator); diff --git a/test/components/reduce_array_kernels.cpp b/test/components/reduce_array_kernels.cpp index 7940feec661..00a634377ec 100644 --- a/test/components/reduce_array_kernels.cpp +++ b/test/components/reduce_array_kernels.cpp @@ -43,7 +43,7 @@ class ReduceArray : public CommonTestFixture { gko::array dvals; }; -TYPED_TEST_SUITE(ReduceArray, gko::test::ComplexAndPODTypesWithHalf, +TYPED_TEST_SUITE(ReduceArray, gko::test::ComplexAndPODTypes, TypenameNameGenerator); diff --git a/test/distributed/assembly_kernels.cpp b/test/distributed/assembly_kernels.cpp index d1e2f708ca6..4ab4c9173ac 100644 --- a/test/distributed/assembly_kernels.cpp +++ b/test/distributed/assembly_kernels.cpp @@ -100,7 +100,7 @@ class AssemblyHelpers : public CommonTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(AssemblyHelpers, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(AssemblyHelpers, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/test/distributed/matrix_kernels.cpp b/test/distributed/matrix_kernels.cpp index ad91d699496..9a5d4f2cf7b 100644 --- a/test/distributed/matrix_kernels.cpp +++ b/test/distributed/matrix_kernels.cpp @@ -87,7 +87,7 @@ class Matrix : public CommonTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(Matrix, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(Matrix, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/test/distributed/vector_kernels.cpp b/test/distributed/vector_kernels.cpp index 1246da9a116..a212699a2ca 100644 --- a/test/distributed/vector_kernels.cpp +++ b/test/distributed/vector_kernels.cpp @@ -67,7 +67,7 @@ class Vector : public CommonTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(Vector, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(Vector, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/test/factorization/cholesky_kernels.cpp b/test/factorization/cholesky_kernels.cpp index 007f3cbf6fd..1b2d187c785 100644 --- a/test/factorization/cholesky_kernels.cpp +++ b/test/factorization/cholesky_kernels.cpp @@ -111,15 +111,15 @@ class CholeskySymbolic : public CommonTestFixture { }; #ifdef GKO_COMPILING_OMP -using Types = gko::test::ValueIndexTypes; +using Types = gko::test::ValueIndexTypesBase; #elif defined(GKO_COMPILING_CUDA) // CUDA doesn't support long indices for sorting, and the triangular solvers // seem broken -using Types = gko::test::cartesian_type_product_t>; #else // HIP only supports real types and int32 -using Types = gko::test::cartesian_type_product_t>; #endif diff --git a/test/factorization/lu_kernels.cpp b/test/factorization/lu_kernels.cpp index 59f3cb30327..4fe974200dc 100644 --- a/test/factorization/lu_kernels.cpp +++ b/test/factorization/lu_kernels.cpp @@ -129,15 +129,15 @@ class Lu : public CommonTestFixture { }; #ifdef GKO_COMPILING_OMP -using Types = gko::test::ValueIndexTypesWithHalf; +using Types = gko::test::ValueIndexTypes; #elif defined(GKO_COMPILING_CUDA) // CUDA don't support long indices for sorting, and the triangular solvers // seem broken -using Types = gko::test::cartesian_type_product_t>; #else // HIP only supports real types and int32 -using Types = gko::test::cartesian_type_product_t>; #endif diff --git a/test/factorization/par_ic_kernels.cpp b/test/factorization/par_ic_kernels.cpp index 10eccb83f10..36a20dda48f 100644 --- a/test/factorization/par_ic_kernels.cpp +++ b/test/factorization/par_ic_kernels.cpp @@ -86,8 +86,7 @@ class ParIc : public CommonTestFixture { std::unique_ptr dmtx_l_ani_init; }; -TYPED_TEST_SUITE(ParIc, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIc, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIc, KernelInitFactorIsEquivalentToRef) diff --git a/test/factorization/par_ict_kernels.cpp b/test/factorization/par_ict_kernels.cpp index 8d6579d584e..7362929a450 100644 --- a/test/factorization/par_ict_kernels.cpp +++ b/test/factorization/par_ict_kernels.cpp @@ -93,8 +93,7 @@ class ParIct : public CommonTestFixture { std::unique_ptr dmtx_l; }; -TYPED_TEST_SUITE(ParIct, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIct, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIct, KernelAddCandidatesIsEquivalentToRef) diff --git a/test/factorization/par_ilu_kernels.cpp b/test/factorization/par_ilu_kernels.cpp index 8c3ab20a674..116790c2b36 100644 --- a/test/factorization/par_ilu_kernels.cpp +++ b/test/factorization/par_ilu_kernels.cpp @@ -144,8 +144,7 @@ class ParIlu : public CommonTestFixture { } }; -TYPED_TEST_SUITE(ParIlu, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(ParIlu, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(ParIlu, KernelAddDiagonalElementsSortedEquivalentToRef) diff --git a/test/factorization/par_ilut_kernels.cpp b/test/factorization/par_ilut_kernels.cpp index b1af2b4c748..c7a8e254567 100644 --- a/test/factorization/par_ilut_kernels.cpp +++ b/test/factorization/par_ilut_kernels.cpp @@ -233,7 +233,7 @@ class ParIlut : public CommonTestFixture { std::unique_ptr dmtx_u; }; -TYPED_TEST_SUITE(ParIlut, gko::test::ValueIndexTypesWithHalf, +TYPED_TEST_SUITE(ParIlut, gko::test::ValueIndexTypes, PairTypenameNameGenerator); diff --git a/test/matrix/csr_kernels2.cpp b/test/matrix/csr_kernels2.cpp index 9b3f09a13fc..27c4a5a9494 100644 --- a/test/matrix/csr_kernels2.cpp +++ b/test/matrix/csr_kernels2.cpp @@ -34,7 +34,7 @@ class Csr : public CommonTestFixture { protected: using Arr = gko::array; using Vec = gko::matrix::Dense; - using Vec2 = gko::matrix::Dense>; + using Vec2 = gko::matrix::Dense>; using Mtx = gko::matrix::Csr; using ComplexVec = gko::matrix::Dense>; using ComplexMtx = gko::matrix::Csr>; diff --git a/test/matrix/fbcsr_kernels.cpp b/test/matrix/fbcsr_kernels.cpp index 5e3d4b1a112..72dcc67e005 100644 --- a/test/matrix/fbcsr_kernels.cpp +++ b/test/matrix/fbcsr_kernels.cpp @@ -61,10 +61,9 @@ class Fbcsr : public CommonTestFixture { }; #ifdef GKO_COMPILING_HIP -TYPED_TEST_SUITE(Fbcsr, gko::test::RealValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(Fbcsr, gko::test::RealValueTypes, TypenameNameGenerator); #else -TYPED_TEST_SUITE(Fbcsr, gko::test::ValueTypesWithHalf, TypenameNameGenerator); +TYPED_TEST_SUITE(Fbcsr, gko::test::ValueTypes, TypenameNameGenerator); #endif TYPED_TEST(Fbcsr, CanWriteFromMatrixOnDevice) diff --git a/test/matrix/fft_kernels.cpp b/test/matrix/fft_kernels.cpp index 5b2c33085e3..97f043a1fb4 100644 --- a/test/matrix/fft_kernels.cpp +++ b/test/matrix/fft_kernels.cpp @@ -91,7 +91,7 @@ class Fft : public CommonTestFixture { }; -TYPED_TEST_SUITE(Fft, gko::test::ComplexValueTypes, TypenameNameGenerator); +TYPED_TEST_SUITE(Fft, gko::test::ComplexValueTypesBase, TypenameNameGenerator); TYPED_TEST(Fft, Apply1DIsEqualToReference) diff --git a/test/matrix/matrix.cpp b/test/matrix/matrix.cpp index 0b06f76df85..98025d9a3a8 100644 --- a/test/matrix/matrix.cpp +++ b/test/matrix/matrix.cpp @@ -557,7 +557,7 @@ class Matrix : public CommonTestFixture { using Mtx = typename T::matrix_type; using index_type = typename Mtx::index_type; using value_type = typename Mtx::value_type; - using mixed_value_type = gko::next_precision; + using mixed_value_type = gko::next_precision_base; using Vec = gko::matrix::Dense; using MixedVec = gko::matrix::Dense; diff --git a/test/mpi/assembly.cpp b/test/mpi/assembly.cpp index 9db0eab553a..3ad47565d44 100644 --- a/test/mpi/assembly.cpp +++ b/test/mpi/assembly.cpp @@ -83,7 +83,7 @@ class AssemblyHelpers : public CommonMpiTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(AssemblyHelpers, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(AssemblyHelpers, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/test/mpi/matrix.cpp b/test/mpi/matrix.cpp index 88fe4092668..e761aab159e 100644 --- a/test/mpi/matrix.cpp +++ b/test/mpi/matrix.cpp @@ -101,7 +101,7 @@ class MatrixCreation : public CommonMpiTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(MatrixCreation, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(MatrixCreation, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); @@ -467,7 +467,7 @@ class Matrix : public CommonMpiTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(Matrix, gko::test::ValueTypes, TypenameNameGenerator); +TYPED_TEST_SUITE(Matrix, gko::test::ValueTypesBase, TypenameNameGenerator); TYPED_TEST(Matrix, CanApplyToSingleVector) @@ -733,7 +733,7 @@ TYPED_TEST(Matrix, CanConvertToNextPrecision) using csr = typename TestFixture::local_matrix_type; using local_index_type = typename TestFixture::local_index_type; using global_index_type = typename TestFixture::global_index_type; - using OtherT = typename gko::next_precision; + using OtherT = typename gko::next_precision_base; using OtherDist = typename gko::experimental::distributed::Matrix< OtherT, local_index_type, global_index_type>; auto tmp = OtherDist::create(this->ref, this->comm); @@ -759,7 +759,7 @@ TYPED_TEST(Matrix, CanMoveToNextPrecision) using csr = typename TestFixture::local_matrix_type; using local_index_type = typename TestFixture::local_index_type; using global_index_type = typename TestFixture::global_index_type; - using OtherT = typename gko::next_precision; + using OtherT = typename gko::next_precision_base; using OtherDist = typename gko::experimental::distributed::Matrix< OtherT, local_index_type, global_index_type>; auto tmp = OtherDist::create(this->ref, this->comm); diff --git a/test/mpi/multigrid/pgm.cpp b/test/mpi/multigrid/pgm.cpp index 664ad0cd4ec..df198f235c3 100644 --- a/test/mpi/multigrid/pgm.cpp +++ b/test/mpi/multigrid/pgm.cpp @@ -80,7 +80,7 @@ class Pgm : public CommonMpiTestFixture { std::shared_ptr dist_mat; }; -TYPED_TEST_SUITE(Pgm, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(Pgm, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); diff --git a/test/mpi/preconditioner/schwarz.cpp b/test/mpi/preconditioner/schwarz.cpp index 6717cd9d888..113f8922aae 100644 --- a/test/mpi/preconditioner/schwarz.cpp +++ b/test/mpi/preconditioner/schwarz.cpp @@ -143,7 +143,8 @@ class SchwarzPreconditioner : public CommonMpiTestFixture { } }; -TYPED_TEST_SUITE(SchwarzPreconditioner, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(SchwarzPreconditioner, + gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); TYPED_TEST(SchwarzPreconditioner, GenerateFailsIfInvalidState) diff --git a/test/mpi/solver/solver.cpp b/test/mpi/solver/solver.cpp index be9f6865c86..80142e2e947 100644 --- a/test/mpi/solver/solver.cpp +++ b/test/mpi/solver/solver.cpp @@ -45,7 +45,7 @@ template struct SimpleSolverTest { using solver_type = SolverType; using value_type = typename solver_type::value_type; - using mixed_value_type = gko::next_precision; + using mixed_value_type = gko::next_precision_base; using local_index_type = gko::int32; using global_index_type = gko::int64; using dist_matrix_type = @@ -229,7 +229,7 @@ class Solver : public CommonMpiTestFixture { using local_index_type = typename T::local_index_type; using global_index_type = typename T::global_index_type; using value_type = typename T::value_type; - using mixed_value_type = gko::next_precision; + using mixed_value_type = gko::next_precision_base; using Vec = typename T::dist_vector_type; using LocalVec = typename T::non_dist_vector_type; using MixedVec = typename T::mixed_dist_vector_type; diff --git a/test/mpi/vector.cpp b/test/mpi/vector.cpp index cedd483b0a2..752342a8e64 100644 --- a/test/mpi/vector.cpp +++ b/test/mpi/vector.cpp @@ -95,7 +95,7 @@ class VectorCreation : public CommonMpiTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(VectorCreation, gko::test::ValueLocalGlobalIndexTypes, +TYPED_TEST_SUITE(VectorCreation, gko::test::ValueLocalGlobalIndexTypesBase, TupleTypenameNameGenerator); @@ -361,7 +361,7 @@ class VectorCreationHelpers : public CommonMpiTestFixture { std::unique_ptr dst; }; -TYPED_TEST_SUITE(VectorCreationHelpers, gko::test::ValueTypes, +TYPED_TEST_SUITE(VectorCreationHelpers, gko::test::ValueTypesBase, TypenameNameGenerator); @@ -513,7 +513,7 @@ class VectorReductions : public CommonMpiTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(VectorReductions, gko::test::ValueTypes, +TYPED_TEST_SUITE(VectorReductions, gko::test::ValueTypesBase, TypenameNameGenerator); @@ -801,7 +801,8 @@ class VectorLocalOps : public CommonMpiTestFixture { std::default_random_engine engine; }; -TYPED_TEST_SUITE(VectorLocalOps, gko::test::ValueTypes, TypenameNameGenerator); +TYPED_TEST_SUITE(VectorLocalOps, gko::test::ValueTypesBase, + TypenameNameGenerator); TYPED_TEST(VectorLocalOps, ApplyNotSupported) @@ -839,7 +840,7 @@ TYPED_TEST(VectorLocalOps, AdvancedApplyNotSupported) TYPED_TEST(VectorLocalOps, ConvertsToPrecision) { using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision; + using OtherT = typename gko::next_precision_base; using OtherVector = typename gko::experimental::distributed::Vector; auto local_tmp = OtherVector::local_vector_type::create(this->exec); auto tmp = OtherVector::create(this->exec, this->comm); @@ -855,7 +856,7 @@ TYPED_TEST(VectorLocalOps, ConvertsToPrecision) TYPED_TEST(VectorLocalOps, MovesToPrecision) { using T = typename TestFixture::value_type; - using OtherT = typename gko::next_precision; + using OtherT = typename gko::next_precision_base; using OtherVector = typename gko::experimental::distributed::Vector; auto local_tmp = OtherVector::local_vector_type::create(this->exec); auto tmp = OtherVector::create(this->exec, this->comm); diff --git a/test/reorder/amd.cpp b/test/reorder/amd.cpp index f5a17e943e1..a1ca7c09359 100644 --- a/test/reorder/amd.cpp +++ b/test/reorder/amd.cpp @@ -40,8 +40,7 @@ class Amd : public CommonTestFixture { std::shared_ptr dmtx; }; -TYPED_TEST_SUITE(Amd, gko::test::ValueIndexTypesWithHalf, - PairTypenameNameGenerator); +TYPED_TEST_SUITE(Amd, gko::test::ValueIndexTypes, PairTypenameNameGenerator); TYPED_TEST(Amd, IsEquivalentToRef) diff --git a/test/solver/direct.cpp b/test/solver/direct.cpp index 1ee95806c37..c00fa772c14 100644 --- a/test/solver/direct.cpp +++ b/test/solver/direct.cpp @@ -100,15 +100,15 @@ class Direct : public CommonTestFixture { }; #ifdef GKO_COMPILING_OMP -using Types = gko::test::ValueIndexTypesWithHalf; +using Types = gko::test::ValueIndexTypes; #elif defined(GKO_COMPILING_CUDA) // CUDA don't support long indices for sorting, and the triangular solvers // seem broken -using Types = gko::test::cartesian_type_product_t>; #else // HIP only supports real types and int32 -using Types = gko::test::cartesian_type_product_t>; #endif diff --git a/test/solver/solver.cpp b/test/solver/solver.cpp index 47414f83041..57e93295940 100644 --- a/test/solver/solver.cpp +++ b/test/solver/solver.cpp @@ -520,7 +520,7 @@ class Solver : public CommonTestFixture { using Precond = typename T::precond_type; using Mtx = typename T::matrix_type; using value_type = typename Mtx::value_type; - using mixed_value_type = gko::next_precision; + using mixed_value_type = gko::next_precision_base; using Vec = gko::matrix::Dense; using MixedVec = gko::matrix::Dense; diff --git a/test/stop/residual_norm_kernels.cpp b/test/stop/residual_norm_kernels.cpp index 62f656bed59..7be3e7fde48 100644 --- a/test/stop/residual_norm_kernels.cpp +++ b/test/stop/residual_norm_kernels.cpp @@ -58,8 +58,7 @@ class ResidualNorm : public CommonTestFixture { std::unique_ptr::Factory> abs_factory; }; -TYPED_TEST_SUITE(ResidualNorm, gko::test::ValueTypesWithHalf, - TypenameNameGenerator); +TYPED_TEST_SUITE(ResidualNorm, gko::test::ValueTypes, TypenameNameGenerator); TYPED_TEST(ResidualNorm, CanIgorneResidualNorm) @@ -345,7 +344,7 @@ class ResidualNormWithInitialResnorm : public CommonTestFixture { std::unique_ptr::Factory> factory; }; -TYPED_TEST_SUITE(ResidualNormWithInitialResnorm, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ResidualNormWithInitialResnorm, gko::test::ValueTypes, TypenameNameGenerator); @@ -442,7 +441,7 @@ class ResidualNormWithRhsNorm : public CommonTestFixture { std::unique_ptr::Factory> factory; }; -TYPED_TEST_SUITE(ResidualNormWithRhsNorm, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ResidualNormWithRhsNorm, gko::test::ValueTypes, TypenameNameGenerator); @@ -547,7 +546,7 @@ class ImplicitResidualNorm : public CommonTestFixture { factory; }; -TYPED_TEST_SUITE(ImplicitResidualNorm, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ImplicitResidualNorm, gko::test::ValueTypes, TypenameNameGenerator); @@ -693,7 +692,7 @@ class ResidualNormWithAbsolute : public CommonTestFixture { std::unique_ptr::Factory> factory; }; -TYPED_TEST_SUITE(ResidualNormWithAbsolute, gko::test::ValueTypesWithHalf, +TYPED_TEST_SUITE(ResidualNormWithAbsolute, gko::test::ValueTypes, TypenameNameGenerator);