From de3d26c1410e800c3b4447b5d61849d89e8d3e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Zuzek?= Date: Tue, 27 Sep 2022 14:32:25 +0200 Subject: [PATCH] GEMM: fix "batched" in names --- blas/impl/KokkosBlas2_team_gemv_spec.hpp | 6 +- blas/unit_test/Test_Blas3_serial_gemm.hpp | 324 +++++++++--------- blas/unit_test/Test_Blas3_team_gemm.hpp | 318 +++++++++-------- blas/unit_test/Test_Blas3_teamvector_gemm.hpp | 308 ++++++++--------- 4 files changed, 470 insertions(+), 486 deletions(-) diff --git a/blas/impl/KokkosBlas2_team_gemv_spec.hpp b/blas/impl/KokkosBlas2_team_gemv_spec.hpp index 92aac23f26..b4d338c6e0 100644 --- a/blas/impl/KokkosBlas2_team_gemv_spec.hpp +++ b/blas/impl/KokkosBlas2_team_gemv_spec.hpp @@ -194,7 +194,7 @@ struct TeamVectorGemv { const MemberType& member, const ScalarType alpha, const AViewType& A, const xViewType& x, const ScalarType beta, const yViewType& y) { static_assert(AViewType::Rank == 2, - "Batched TeamVectorGemv requires rank-2 A matrix"); + "KokkosBlas::TeamVectorGemv requires rank-2 A matrix"); return Impl::TeamVectorGemvInternal::invoke( member, A.extent(0), A.extent(1), alpha, A.data(), A.stride_0(), A.stride_1(), x.data(), x.stride_0(), beta, y.data(), y.stride_0()); @@ -213,7 +213,7 @@ struct TeamVectorGemv { const MemberType& member, const ScalarType alpha, const AViewType& A, const xViewType& x, const ScalarType beta, const yViewType& y) { static_assert(AViewType::Rank == 2, - "Batched TeamVectorGemv requires rank-2 A matrix"); + "KokkosBlas::TeamVectorGemv requires rank-2 A matrix"); return Impl::TeamVectorGemvInternal::invoke( member, A.extent(1), A.extent(0), alpha, A.data(), A.stride_1(), A.stride_0(), x.data(), x.stride_0(), beta, y.data(), y.stride_0()); @@ -232,7 +232,7 @@ struct TeamVectorGemv { const MemberType& member, const ScalarType alpha, const AViewType& A, const xViewType& x, const ScalarType beta, const yViewType& y) { static_assert(AViewType::Rank == 2, - "Batched TeamVectorGemv requires rank-2 A matrix"); + "KokkosBlas::TeamVectorGemv requires rank-2 A matrix"); return Impl::TeamVectorGemvInternal::invoke( member, Impl::OpConj{}, A.extent(1), A.extent(0), alpha, A.data(), A.stride_1(), A.stride_0(), x.data(), x.stride_0(), beta, y.data(), diff --git a/blas/unit_test/Test_Blas3_serial_gemm.hpp b/blas/unit_test/Test_Blas3_serial_gemm.hpp index bda1d53df6..eb1822191b 100644 --- a/blas/unit_test/Test_Blas3_serial_gemm.hpp +++ b/blas/unit_test/Test_Blas3_serial_gemm.hpp @@ -23,15 +23,15 @@ struct ParamTag { template -struct Functor_TestBatchedSerialGemm { +struct Functor_TestBlasSerialGemm { ViewType _a, _b, _c; ScalarType _alpha, _beta; KOKKOS_INLINE_FUNCTION - Functor_TestBatchedSerialGemm(const ScalarType alpha, const ViewType &a, - const ViewType &b, const ScalarType beta, - const ViewType &c) + Functor_TestBlasSerialGemm(const ScalarType alpha, const ViewType &a, + const ViewType &b, const ScalarType beta, + const ViewType &c) : _a(a), _b(b), _c(c), _alpha(alpha), _beta(beta) {} KOKKOS_INLINE_FUNCTION @@ -47,7 +47,7 @@ struct Functor_TestBatchedSerialGemm { inline void run() { typedef typename ViewType::value_type value_type; - std::string name_region("KokkosBatched::Test::SerialGemm"); + std::string name_region("KokkosBlas::Test::SerialGemm"); const std::string name_value_type = Test::value_type_name(); std::string name = name_region + name_value_type; Kokkos::Profiling::pushRegion(name.c_str()); @@ -59,9 +59,9 @@ struct Functor_TestBatchedSerialGemm { template -void impl_test_batched_gemm(const int N, const int matAdim1, const int matAdim2, - const int matBdim1, const int matBdim2, - const int matCdim1, const int matCdim2) { +void impl_test_blas_gemm(const int N, const int matAdim1, const int matAdim2, + const int matBdim1, const int matBdim2, + const int matCdim1, const int matCdim2) { using execution_space = typename DeviceType::execution_space; using transA = typename ParamTagType::transA; using transB = typename ParamTagType::transB; @@ -102,9 +102,9 @@ void impl_test_batched_gemm(const int N, const int matAdim1, const int matAdim2, vgemm.alpha = alpha; vgemm.beta = beta; vgemm.run(); // Compute c_expected - Functor_TestBatchedSerialGemm(alpha, a_actual, b_actual, beta, - c_actual) + Functor_TestBlasSerialGemm(alpha, a_actual, b_actual, beta, + c_actual) .run(); typename ViewType::HostMirror c_expected_host = @@ -143,19 +143,19 @@ void impl_test_batched_gemm(const int N, const int matAdim1, const int matAdim2, template -int test_batched_gemm() { +int test_blas_gemm() { #if defined(KOKKOSKERNELS_INST_LAYOUTLEFT) { typedef Kokkos::View ViewType; - Test::Gemm::impl_test_batched_gemm(0, 10, 10, 10, - 10, 10, 10); + Test::Gemm::impl_test_blas_gemm(0, 10, 10, 10, + 10, 10, 10); for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutLeft, Blksize %d\n", i); - Test::Gemm::impl_test_batched_gemm(1024, i, i, - i, i, i, i); + Test::Gemm::impl_test_blas_gemm(1024, i, i, i, + i, i, i); } for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutLeft, Blksize %d\n", i); @@ -163,35 +163,35 @@ int test_batched_gemm() { int dimN = 2 * i; int dimK = 3 * i; if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::NoTranspose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimM, dimK, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::Transpose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimM, dimK, dimN, dimK, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::NoTranspose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimK, dimM, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::Transpose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimK, dimM, dimN, dimK, dimM, dimN); } } @@ -201,14 +201,14 @@ int test_batched_gemm() { { typedef Kokkos::View ViewType; - Test::Gemm::impl_test_batched_gemm(0, 10, 10, 10, - 10, 10, 10); + Test::Gemm::impl_test_blas_gemm(0, 10, 10, 10, + 10, 10, 10); for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutRight, Blksize %d\n", i); - Test::Gemm::impl_test_batched_gemm(1024, i, i, - i, i, i, i); + Test::Gemm::impl_test_blas_gemm(1024, i, i, i, + i, i, i); } for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutLeft, Blksize %d\n", i); @@ -216,35 +216,35 @@ int test_batched_gemm() { int dimN = 2 * i; int dimK = 3 * i; if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::NoTranspose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimM, dimK, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::Transpose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimM, dimK, dimN, dimK, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::NoTranspose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimK, dimM, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::Gemm::impl_test_batched_gemm( + Trans::Transpose>::value)) { + Test::Gemm::impl_test_blas_gemm( 1024, dimK, dimM, dimN, dimK, dimM, dimN); } } @@ -255,158 +255,146 @@ int test_batched_gemm() { } #if defined(KOKKOS_BHALF_T_IS_FLOAT) -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_nt_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_nt_bhalf_bhalf) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_nt_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_nt_bhalf_bhalf) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_t_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_t_bhalf_bhalf) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_t_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_t_bhalf_bhalf) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } #endif // KOKKOS_BHALF_T_IS_FLOAT #if defined(KOKKOS_HALF_T_IS_FLOAT) -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_nt_half_half) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_nt_half_half) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_nt_half_half) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_nt_half_half) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_t_half_half) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_t_half_half) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_t_half_half) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_t_half_half) { typedef ::Test::Gemm::ParamTag param_tag_type; - test_batched_gemm(); - test_batched_gemm(); + test_blas_gemm(); + test_blas_gemm(); } #endif // KOKKOS_HALF_T_IS_FLOAT #if defined(KOKKOSKERNELS_INST_FLOAT) -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_nt_float_float) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_nt_float_float) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_nt_float_float) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_nt_float_float) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_t_float_float) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_t_float_float) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_t_float_float) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_t_float_float) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } #endif #if defined(KOKKOSKERNELS_INST_DOUBLE) -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_nt_double_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_nt_double_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_nt_double_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_nt_double_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_t_double_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_t_double_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_t_double_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_t_double_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm(); + test_blas_gemm(); } #endif @@ -414,84 +402,84 @@ TEST_F(TestCategory, batched_scalar_serial_gemm_t_t_double_double) { /// dcomplex, dcomplex -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_nt_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_nt_dcomplex_dcomplex) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, - Kokkos::complex, param_tag_type, algo_tag_type>(); + test_blas_gemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_nt_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_nt_dcomplex_dcomplex) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, - Kokkos::complex, param_tag_type, algo_tag_type>(); + test_blas_gemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_t_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_t_dcomplex_dcomplex) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, - Kokkos::complex, param_tag_type, algo_tag_type>(); + test_blas_gemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_t_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_t_dcomplex_dcomplex) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, - Kokkos::complex, param_tag_type, algo_tag_type>(); + test_blas_gemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -// TEST_F( TestCategory, batched_scalar_serial_gemm_ct_nt_dcomplex_dcomplex ) { +// TEST_F( TestCategory, blas_scalar_serial_gemm_ct_nt_dcomplex_dcomplex ) { // typedef ::Test::Gemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_gemm,Kokkos::complex,param_tag_type,algo_tag_type>(); +// test_blas_gemm,Kokkos::complex,param_tag_type,algo_tag_type>(); // } -// TEST_F( TestCategory, batched_scalar_serial_gemm_nt_ct_dcomplex_dcomplex ) { +// TEST_F( TestCategory, blas_scalar_serial_gemm_nt_ct_dcomplex_dcomplex ) { // typedef ::Test::Gemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_gemm,Kokkos::complex,param_tag_type,algo_tag_type>(); +// test_blas_gemm,Kokkos::complex,param_tag_type,algo_tag_type>(); // } /// dcomplex, double -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_nt_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_nt_dcomplex_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, double, - param_tag_type, algo_tag_type>(); + test_blas_gemm, double, param_tag_type, + algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_nt_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_nt_dcomplex_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, double, - param_tag_type, algo_tag_type>(); + test_blas_gemm, double, param_tag_type, + algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_nt_t_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_nt_t_dcomplex_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, double, - param_tag_type, algo_tag_type>(); + test_blas_gemm, double, param_tag_type, + algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_serial_gemm_t_t_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_serial_gemm_t_t_dcomplex_double) { typedef ::Test::Gemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_gemm, double, - param_tag_type, algo_tag_type>(); + test_blas_gemm, double, param_tag_type, + algo_tag_type>(); } -// TEST_F( TestCategory, batched_scalar_serial_gemm_ct_nt_dcomplex_double ) { +// TEST_F( TestCategory, blas_scalar_serial_gemm_ct_nt_dcomplex_double ) { // typedef ::Test::Gemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_gemm,double,param_tag_type,algo_tag_type>(); +// test_blas_gemm,double,param_tag_type,algo_tag_type>(); // } -// TEST_F( TestCategory, batched_scalar_serial_gemm_nt_ct_dcomplex_double ) { +// TEST_F( TestCategory, blas_scalar_serial_gemm_nt_ct_dcomplex_double ) { // typedef ::Test::Gemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_gemm,double,param_tag_type,algo_tag_type>(); +// test_blas_gemm,double,param_tag_type,algo_tag_type>(); // } #endif diff --git a/blas/unit_test/Test_Blas3_team_gemm.hpp b/blas/unit_test/Test_Blas3_team_gemm.hpp index 7e8267efac..8d66ff90e0 100644 --- a/blas/unit_test/Test_Blas3_team_gemm.hpp +++ b/blas/unit_test/Test_Blas3_team_gemm.hpp @@ -22,15 +22,15 @@ struct ParamTag { template -struct Functor_TestBatchedTeamGemm { +struct Functor_TestBlasTeamGemm { ViewType _a, _b, _c; ScalarType _alpha, _beta; KOKKOS_INLINE_FUNCTION - Functor_TestBatchedTeamGemm(const ScalarType alpha, const ViewType &a, - const ViewType &b, const ScalarType beta, - const ViewType &c) + Functor_TestBlasTeamGemm(const ScalarType alpha, const ViewType &a, + const ViewType &b, const ScalarType beta, + const ViewType &c) : _a(a), _b(b), _c(c), _alpha(alpha), _beta(beta) {} template @@ -50,7 +50,7 @@ struct Functor_TestBatchedTeamGemm { inline void run() { typedef typename ViewType::value_type value_type; - std::string name_region("KokkosBatched::Test::TeamGemm"); + std::string name_region("KokkosBlas::Test::TeamGemm"); const std::string name_value_type = Test::value_type_name(); std::string name = name_region + name_value_type; Kokkos::Profiling::pushRegion(name.c_str()); @@ -64,10 +64,10 @@ struct Functor_TestBatchedTeamGemm { template -void impl_test_batched_teamgemm(const int N, const int matAdim1, - const int matAdim2, const int matBdim1, - const int matBdim2, const int matCdim1, - const int matCdim2) { +void impl_test_blas_teamgemm(const int N, const int matAdim1, + const int matAdim2, const int matBdim1, + const int matBdim2, const int matCdim1, + const int matCdim2) { using transA = typename ParamTagType::transA; using transB = typename ParamTagType::transB; using execution_space = typename DeviceType::execution_space; @@ -109,9 +109,9 @@ void impl_test_batched_teamgemm(const int N, const int matAdim1, vgemm.beta = beta; vgemm.run(); // Compute c_expected - Functor_TestBatchedTeamGemm(alpha, a_actual, b_actual, beta, - c_actual) + Functor_TestBlasTeamGemm(alpha, a_actual, b_actual, beta, + c_actual) .run(); Kokkos::fence(); @@ -149,18 +149,18 @@ void impl_test_batched_teamgemm(const int N, const int matAdim1, // const int, const int) template -int test_batched_teamgemm() { +int test_blas_teamgemm() { #if defined(KOKKOSKERNELS_INST_LAYOUTLEFT) { typedef Kokkos::View ViewType; - Test::TeamGemm::impl_test_batched_teamgemm( + Test::TeamGemm::impl_test_blas_teamgemm( 0, 10, 10, 10, 10, 10, 10); for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutLeft, Blksize %d\n", i); - Test::TeamGemm::impl_test_batched_teamgemm< - DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( + Test::TeamGemm::impl_test_blas_teamgemm( 1024, i, i, i, i, i, i); } for (int i = 0; i < 10; ++i) { @@ -169,34 +169,34 @@ int test_batched_teamgemm() { int dimN = 2 * i; int dimK = 3 * i; if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::NoTranspose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::Transpose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimN, dimK, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::NoTranspose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::Transpose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimN, dimK, dimM, dimN); } @@ -207,13 +207,13 @@ int test_batched_teamgemm() { { typedef Kokkos::View ViewType; - Test::TeamGemm::impl_test_batched_teamgemm( + Test::TeamGemm::impl_test_blas_teamgemm( 0, 10, 10, 10, 10, 10, 10); for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutRight, Blksize %d\n", i); - Test::TeamGemm::impl_test_batched_teamgemm< - DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( + Test::TeamGemm::impl_test_blas_teamgemm( 1024, i, i, i, i, i, i); } for (int i = 0; i < 10; ++i) { @@ -222,34 +222,34 @@ int test_batched_teamgemm() { int dimN = 2 * i; int dimK = 3 * i; if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::NoTranspose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::Transpose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimN, dimK, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::NoTranspose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamGemm::impl_test_batched_teamgemm< + Trans::Transpose>::value)) { + Test::TeamGemm::impl_test_blas_teamgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimN, dimK, dimM, dimN); } @@ -261,158 +261,158 @@ int test_batched_teamgemm() { } #if defined(KOKKOS_BHALF_T_IS_FLOAT) -TEST_F(TestCategory, batched_scalar_team_gemm_nt_nt_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_nt_bhalf_bhalf) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_nt_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_nt_bhalf_bhalf) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_nt_t_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_t_bhalf_bhalf) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_t_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_t_bhalf_bhalf) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } #endif // KOKKOS_BHALF_T_IS_FLOAT #if defined(KOKKOS_HALF_T_IS_FLOAT) -TEST_F(TestCategory, batched_scalar_team_gemm_nt_nt_half_half) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_nt_half_half) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_nt_half_half) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_nt_half_half) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_nt_t_half_half) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_t_half_half) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_t_half_half) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_t_half_half) { typedef ::Test::TeamGemm::ParamTag param_tag_type; - test_batched_teamgemm(); - test_batched_teamgemm(); + test_blas_teamgemm(); + test_blas_teamgemm(); } #endif // KOKKOS_HALF_T_IS_FLOAT #if defined(KOKKOSKERNELS_INST_FLOAT) -TEST_F(TestCategory, batched_scalar_team_gemm_nt_nt_float_float) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_nt_float_float) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_nt_float_float) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_nt_float_float) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_nt_t_float_float) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_t_float_float) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_t_float_float) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_t_float_float) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } #endif #if defined(KOKKOSKERNELS_INST_DOUBLE) -TEST_F(TestCategory, batched_scalar_team_gemm_nt_nt_double_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_nt_double_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_nt_double_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_nt_double_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_nt_t_double_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_t_double_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_t_double_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_t_double_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm(); + test_blas_teamgemm(); } #endif @@ -420,88 +420,84 @@ TEST_F(TestCategory, batched_scalar_team_gemm_t_t_double_double) { /// dcomplex, dcomplex -TEST_F(TestCategory, batched_scalar_team_gemm_nt_nt_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_nt_dcomplex_dcomplex) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, - Kokkos::complex, param_tag_type, - algo_tag_type>(); + test_blas_teamgemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_nt_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_nt_dcomplex_dcomplex) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, - Kokkos::complex, param_tag_type, - algo_tag_type>(); + test_blas_teamgemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_team_gemm_nt_t_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_t_dcomplex_dcomplex) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, - Kokkos::complex, param_tag_type, - algo_tag_type>(); + test_blas_teamgemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_t_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_t_dcomplex_dcomplex) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, - Kokkos::complex, param_tag_type, - algo_tag_type>(); + test_blas_teamgemm, + Kokkos::complex, param_tag_type, algo_tag_type>(); } -// TEST_F( TestCategory, batched_scalar_team_gemm_ct_nt_dcomplex_dcomplex ) { +// TEST_F( TestCategory, blas_scalar_team_gemm_ct_nt_dcomplex_dcomplex ) { // typedef ::Test::TeamGemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_teamgemm,Kokkos::complex,param_tag_type,algo_tag_type>(); +// test_blas_teamgemm,Kokkos::complex,param_tag_type,algo_tag_type>(); // } -// TEST_F( TestCategory, batched_scalar_team_gemm_nt_ct_dcomplex_dcomplex ) { +// TEST_F( TestCategory, blas_scalar_team_gemm_nt_ct_dcomplex_dcomplex ) { // typedef ::Test::TeamGemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_teamgemm,Kokkos::complex,param_tag_type,algo_tag_type>(); +// test_blas_teamgemm,Kokkos::complex,param_tag_type,algo_tag_type>(); // } /// dcomplex, double -TEST_F(TestCategory, batched_scalar_team_gemm_nt_nt_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_nt_dcomplex_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, double, - param_tag_type, algo_tag_type>(); + test_blas_teamgemm, double, + param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_nt_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_nt_dcomplex_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, double, - param_tag_type, algo_tag_type>(); + test_blas_teamgemm, double, + param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_team_gemm_nt_t_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_nt_t_dcomplex_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, double, - param_tag_type, algo_tag_type>(); + test_blas_teamgemm, double, + param_tag_type, algo_tag_type>(); } -TEST_F(TestCategory, batched_scalar_team_gemm_t_t_dcomplex_double) { +TEST_F(TestCategory, blas_scalar_team_gemm_t_t_dcomplex_double) { typedef ::Test::TeamGemm::ParamTag param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; - test_batched_teamgemm, double, - param_tag_type, algo_tag_type>(); + test_blas_teamgemm, double, + param_tag_type, algo_tag_type>(); } -// TEST_F( TestCategory, batched_scalar_team_gemm_ct_nt_dcomplex_double ) { +// TEST_F( TestCategory, blas_scalar_team_gemm_ct_nt_dcomplex_double ) { // typedef ::Test::TeamGemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_teamgemm,double,param_tag_type,algo_tag_type>(); +// test_blas_teamgemm,double,param_tag_type,algo_tag_type>(); // } -// TEST_F( TestCategory, batched_scalar_team_gemm_nt_ct_dcomplex_double ) { +// TEST_F( TestCategory, blas_scalar_team_gemm_nt_ct_dcomplex_double ) { // typedef ::Test::TeamGemm::ParamTag // param_tag_type; typedef Algo::Gemm::Blocked algo_tag_type; -// test_batched_teamgemm,double,param_tag_type,algo_tag_type>(); +// test_blas_teamgemm,double,param_tag_type,algo_tag_type>(); // } #endif diff --git a/blas/unit_test/Test_Blas3_teamvector_gemm.hpp b/blas/unit_test/Test_Blas3_teamvector_gemm.hpp index add323d425..3a6259730a 100644 --- a/blas/unit_test/Test_Blas3_teamvector_gemm.hpp +++ b/blas/unit_test/Test_Blas3_teamvector_gemm.hpp @@ -19,15 +19,15 @@ struct ParamTag { template -struct Functor_TestBatchedTeamVector { +struct Functor_TestBlasTeamVector { ViewType _a, _b, _c; ScalarType _alpha, _beta; KOKKOS_INLINE_FUNCTION - Functor_TestBatchedTeamVector(const ScalarType alpha, const ViewType &a, - const ViewType &b, const ScalarType beta, - const ViewType &c) + Functor_TestBlasTeamVector(const ScalarType alpha, const ViewType &a, + const ViewType &b, const ScalarType beta, + const ViewType &c) : _a(a), _b(b), _c(c), _alpha(alpha), _beta(beta) {} template @@ -47,7 +47,7 @@ struct Functor_TestBatchedTeamVector { inline void run() { typedef typename ViewType::value_type value_type; - std::string name_region("KokkosBatched::Test::TeamVector"); + std::string name_region("KokkosBlas::Test::TeamVector"); const std::string name_value_type = Test::value_type_name(); std::string name = name_region + name_value_type; Kokkos::Profiling::pushRegion(name.c_str()); @@ -61,10 +61,10 @@ struct Functor_TestBatchedTeamVector { template -void impl_test_batched_teamvectorgemm(const int N, const int matAdim1, - const int matAdim2, const int matBdim1, - const int matBdim2, const int matCdim1, - const int matCdim2) { +void impl_test_blas_teamvectorgemm(const int N, const int matAdim1, + const int matAdim2, const int matBdim1, + const int matBdim2, const int matCdim1, + const int matCdim2) { using transA = typename ParamTagType::transA; using transB = typename ParamTagType::transB; using execution_space = typename DeviceType::execution_space; @@ -94,7 +94,7 @@ void impl_test_batched_teamvectorgemm(const int N, const int matAdim1, Kokkos::deep_copy(b_actual, b_expected); Kokkos::deep_copy(c_actual, c_expected); - // Functor_TestBatchedTeamVector(alpha, a_expected, b_expected, // beta, c_expected).run(); Functor_BatchedVanillaGEMM @@ -109,9 +109,9 @@ void impl_test_batched_teamvectorgemm(const int N, const int matAdim1, vgemm.beta = beta; vgemm.run(); // Compute c_expected - Functor_TestBatchedTeamVector(alpha, a_actual, b_actual, beta, - c_actual) + Functor_TestBlasTeamVector(alpha, a_actual, b_actual, beta, + c_actual) .run(); Kokkos::fence(); @@ -150,17 +150,17 @@ void impl_test_batched_teamvectorgemm(const int N, const int matAdim1, // const int, const int) template -int test_batched_teamvectorgemm() { +int test_blas_teamvectorgemm() { #if defined(KOKKOSKERNELS_INST_LAYOUTLEFT) { typedef Kokkos::View ViewType; - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 0, 10, 10, 10, 10, 10, 10); for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutLeft, Blksize %d\n", i); - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, i, i, i, i, i, i); } @@ -170,34 +170,34 @@ int test_batched_teamvectorgemm() { int dimN = 2 * i; int dimK = 3 * i; if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::NoTranspose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::Transpose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimN, dimK, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::NoTranspose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::Transpose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimN, dimK, dimM, dimN); } @@ -208,12 +208,12 @@ int test_batched_teamvectorgemm() { { typedef Kokkos::View ViewType; - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 0, 10, 10, 10, 10, 10, 10); for (int i = 0; i < 10; ++i) { // printf("Testing: LayoutRight, Blksize %d\n", i); - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, i, i, i, i, i, i); } @@ -223,34 +223,34 @@ int test_batched_teamvectorgemm() { int dimN = 2 * i; int dimK = 3 * i; if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::NoTranspose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::NoTranspose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::Transpose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimM, dimK, dimN, dimK, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::NoTranspose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimK, dimN, dimM, dimN); } if ((std::is_same::value) && + Trans::Transpose>::value) && (std::is_same::value)) { - Test::TeamVectorGemm::impl_test_batched_teamvectorgemm< + Trans::Transpose>::value)) { + Test::TeamVectorGemm::impl_test_blas_teamvectorgemm< DeviceType, ViewType, ScalarType, ParamTagType, AlgoTagType>( 1024, dimK, dimM, dimN, dimK, dimM, dimN); } @@ -262,233 +262,233 @@ int test_batched_teamvectorgemm() { } #if defined(KOKKOS_BHALF_T_IS_FLOAT) -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_nt_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_nt_bhalf_bhalf) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_nt_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_nt_bhalf_bhalf) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_t_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_t_bhalf_bhalf) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_t_bhalf_bhalf) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_t_bhalf_bhalf) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } #endif // KOKKOS_BHALF_T_IS_FLOAT #if defined(KOKKOS_HALF_T_IS_FLOAT) -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_nt_half_half) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_nt_half_half) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_nt_half_half) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_nt_half_half) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_t_half_half) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_t_half_half) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_t_half_half) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_t_half_half) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } #endif // KOKKOS_HALF_T_IS_FLOAT #if defined(KOKKOSKERNELS_INST_FLOAT) -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_nt_float_float) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_nt_float_float) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_nt_float_float) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_nt_float_float) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_t_float_float) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_t_float_float) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_t_float_float) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_t_float_float) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } #endif #if defined(KOKKOSKERNELS_INST_DOUBLE) -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_nt_double_double) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_nt_double_double) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_nt_double_double) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_nt_double_double) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_t_double_double) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_t_double_double) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_t_double_double) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_t_double_double) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm(); - test_batched_teamvectorgemm(); + // test_blas_teamvectorgemm(); + test_blas_teamvectorgemm(); } #endif #if defined(KOKKOSKERNELS_INST_COMPLEX_FLOAT) -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_nt_scomplex_scomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_nt_scomplex_scomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_nt_scomplex_scomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_nt_scomplex_scomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_t_scomplex_scomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_t_scomplex_scomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_t_scomplex_scomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_t_scomplex_scomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } #endif #if defined(KOKKOSKERNELS_INST_COMPLEX_DOUBLE) -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_nt_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_nt_dcomplex_dcomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_nt_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_nt_dcomplex_dcomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_nt_t_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_nt_t_dcomplex_dcomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } -TEST_F(TestCategory, batched_scalar_team_vector_gemm_t_t_dcomplex_dcomplex) { +TEST_F(TestCategory, blas_scalar_team_vector_gemm_t_t_dcomplex_dcomplex) { typedef ::Test::TeamVectorGemm::ParamTag param_tag_type; - // test_batched_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); - test_batched_teamvectorgemm, - Kokkos::complex, param_tag_type, - Algo::Gemm::Unblocked>(); + // test_blas_teamvectorgemm,Kokkos::complex,param_tag_type,Algo::Gemm::Blocked>(); + test_blas_teamvectorgemm, + Kokkos::complex, param_tag_type, + Algo::Gemm::Unblocked>(); } #endif