diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2020-04-29 13:22:15 +0100 |
---|---|---|
committer | Michalis Spyrou <michalis.spyrou@arm.com> | 2020-04-30 11:40:41 +0000 |
commit | 8bb8de3772b37efb84959390582823488ab1b9e2 (patch) | |
tree | d7c6bb8aade708e5c49141fb20a3b03f12441c80 /tests | |
parent | 06cf9339ed4b86d559c837dcb7c1c273ae6a35eb (diff) | |
download | armcl-8bb8de3772b37efb84959390582823488ab1b9e2.tar.gz armcl-8bb8de3772b37efb84959390582823488ab1b9e2.tar.bz2 armcl-8bb8de3772b37efb84959390582823488ab1b9e2.zip |
COMPMID-3287: Test improvement for CLGEMMReshapeLHSMatrixKernel (Kernel-level)
Removed configuration tests as they don't add any real value.
Since this is a memory copy kernel, I removed all the large shapes
and created all possible configurations across the 3 data layouts.
From a total of 21329 nightly and 1169 precommit tests now we have
545 in both cases with a larger test space.
Change-Id: I363caab64654064d2779a0ba847f522dfe388091
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3118
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/validation/CL/GEMMReshapeLHSMatrix.cpp | 236 |
1 files changed, 27 insertions, 209 deletions
diff --git a/tests/validation/CL/GEMMReshapeLHSMatrix.cpp b/tests/validation/CL/GEMMReshapeLHSMatrix.cpp index e6c3b4012..d252f8795 100644 --- a/tests/validation/CL/GEMMReshapeLHSMatrix.cpp +++ b/tests/validation/CL/GEMMReshapeLHSMatrix.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -60,22 +60,18 @@ using CLGEMMReshapeLHSMatrix3DFixture = GEMMReshapeLHSMatrixValidationFixture<CL namespace { -const auto data_types = framework::dataset::make("DataType", { DataType::QASYMM8, DataType::F16, DataType::F32 }); - /** Batch size values to test */ const auto b_values = framework::dataset::make("batchsize", 1, 3); -/** M0 values to test - Precommit */ -const auto m0_values_precommit = framework::dataset::make("M0", { 4, 5 }); - -/** K0 values to test - Precommit */ -const auto k0_values_precommit = framework::dataset::make("K0", { 2, 4 }); +/** M0 values to test */ +const auto m0_values_s32 = framework::dataset::make("M0", { 2, 3 }); +const auto m0_values_s16 = framework::dataset::make("M0", { 4, 5 }); +const auto m0_values_s8 = framework::dataset::make("M0", { 6, 7, 8 }); -/** M0 values to test - Precommit */ -const auto m0_values_nightly = framework::dataset::make("M0", 2, 9); - -/** K0 values to test - Precommit */ -const auto k0_values_nightly = framework::dataset::make("K0", { 2, 3, 4, 8, 16 }); +/** K0 values to test */ +const auto k0_values_s32 = framework::dataset::make("K0", { 2, 3 }); +const auto k0_values_s16 = framework::dataset::make("K0", { 4, 8 }); +const auto k0_values_s8 = framework::dataset::make("K0", { 16 }); /** V0 values to test */ const auto v0_values = framework::dataset::make("V0", 1, 4); @@ -85,71 +81,16 @@ const auto i_values = framework::dataset::make("interleave", { true, false }); /** Transpose values to test */ const auto t_values = framework::dataset::make("transpose", { true, false }); - -/** Configuration test */ -void validate_configuration(TensorShape shape_in, unsigned int b_value, DataType data_type, unsigned int m0_value, unsigned int k0_value, unsigned int v0_value, bool i_value, bool t_value, bool reinterpret_input_as_3d) -{ - GEMMLHSMatrixInfo lhs_info; - lhs_info.m0 = m0_value; - lhs_info.k0 = k0_value; - lhs_info.v0 = v0_value; - lhs_info.interleave = i_value; - lhs_info.transpose = t_value; - - TensorShape shape_src = shape_in; - shape_src.set(shape_src.num_dimensions(), b_value); - - const TensorShape shape_dst = compute_lhs_reshaped_shape(TensorInfo(shape_src, 1, data_type), lhs_info, reinterpret_input_as_3d); - - // Create tensors - CLTensor src = create_tensor<CLTensor>(shape_src, data_type); - CLTensor dst = create_tensor<CLTensor>(shape_dst, data_type); - - ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS); - ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS); - - // Create and configure function - CLGEMMReshapeLHSMatrixKernel reshape_lhs; - reshape_lhs.configure(&src, &dst, lhs_info, reinterpret_input_as_3d); -} } // namespace TEST_SUITE(CL) TEST_SUITE(GEMMReshapeLHSMatrix) - -DATA_TEST_CASE(ConfigurationSmall, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape2DShapes(), - b_values), - data_types), - m0_values_precommit), - k0_values_precommit), - v0_values), - i_values), - t_values), -shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value) -{ - validate_configuration(shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value, false); -} - -DATA_TEST_CASE(ConfigurationLarge, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape2DShapes(), - b_values), - data_types), - m0_values_nightly), - k0_values_nightly), - v0_values), - i_values), - t_values), -shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value) -{ - validate_configuration(shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value, false); -} - -TEST_SUITE(S32) -FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrixFixture<int>, framework::DatasetMode::ALL, +FIXTURE_DATA_TEST_CASE(S32, CLGEMMReshapeLHSMatrixFixture<int>, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape2DShapes(), b_values), framework::dataset::make("DataType", DataType::S32)), - m0_values_precommit), - k0_values_precommit), + m0_values_s32), + k0_values_s32), v0_values), i_values), t_values)) @@ -157,43 +98,12 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrixFixture<int>, framework:: // Validate output validate(CLAccessor(_target), _reference); } - -FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrixFixture<int>, framework::DatasetMode::NIGHTLY, - combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape2DShapes(), - b_values), - framework::dataset::make("DataType", DataType::S32)), - m0_values_nightly), - k0_values_nightly), - v0_values), - i_values), - t_values)) -{ - // Validate output - validate(CLAccessor(_target), _reference); -} -TEST_SUITE_END() // S32 - -TEST_SUITE(S16) -FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrixFixture<short>, framework::DatasetMode::ALL, +FIXTURE_DATA_TEST_CASE(S16, CLGEMMReshapeLHSMatrixFixture<short>, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape2DShapes(), b_values), framework::dataset::make("DataType", DataType::S16)), - m0_values_precommit), - k0_values_precommit), - v0_values), - i_values), - t_values)) -{ - // Validate output - validate(CLAccessor(_target), _reference); -} - -FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrixFixture<short>, framework::DatasetMode::NIGHTLY, - combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape2DShapes(), - b_values), - framework::dataset::make("DataType", DataType::S16)), - m0_values_nightly), - k0_values_nightly), + m0_values_s16), + k0_values_s16), v0_values), i_values), t_values)) @@ -201,29 +111,12 @@ FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrixFixture<short>, framework // Validate output validate(CLAccessor(_target), _reference); } -TEST_SUITE_END() // S16 - -TEST_SUITE(S8) -FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrixFixture<char>, framework::DatasetMode::ALL, +FIXTURE_DATA_TEST_CASE(S8, CLGEMMReshapeLHSMatrixFixture<char>, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape2DShapes(), b_values), framework::dataset::make("DataType", DataType::S8)), - m0_values_precommit), - k0_values_precommit), - v0_values), - i_values), - t_values)) -{ - // Validate output - validate(CLAccessor(_target), _reference); -} - -FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrixFixture<char>, framework::DatasetMode::NIGHTLY, - combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape2DShapes(), - b_values), - framework::dataset::make("DataType", DataType::S8)), - m0_values_nightly), - k0_values_nightly), + m0_values_s8), + k0_values_s8), v0_values), i_values), t_values)) @@ -231,42 +124,14 @@ FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrixFixture<char>, framework: // Validate output validate(CLAccessor(_target), _reference); } -TEST_SUITE_END() // S8 TEST_SUITE(ReinterpretInputAs3D) -DATA_TEST_CASE(ConfigurationSmall, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape3DShapes(), - b_values), - data_types), - m0_values_precommit), - k0_values_precommit), - v0_values), - i_values), - t_values), -shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value) -{ - validate_configuration(shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value, true); -} - -DATA_TEST_CASE(ConfigurationLarge, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape3DShapes(), - b_values), - data_types), - m0_values_nightly), - k0_values_nightly), - v0_values), - i_values), - t_values), -shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value) -{ - validate_configuration(shape_in, b_value, data_type, m0_value, k0_value, v0_value, i_value, t_value, true); -} - -TEST_SUITE(S32) -FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrix3DFixture<int>, framework::DatasetMode::ALL, +FIXTURE_DATA_TEST_CASE(S32, CLGEMMReshapeLHSMatrix3DFixture<int>, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape3DShapes(), b_values), framework::dataset::make("DataType", DataType::S32)), - m0_values_precommit), - k0_values_precommit), + m0_values_s32), + k0_values_s32), v0_values), i_values), t_values)) @@ -275,42 +140,12 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrix3DFixture<int>, framework validate(CLAccessor(_target), _reference); } -FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrix3DFixture<int>, framework::DatasetMode::NIGHTLY, - combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape3DShapes(), - b_values), - framework::dataset::make("DataType", DataType::S32)), - m0_values_nightly), - k0_values_nightly), - v0_values), - i_values), - t_values)) -{ - // Validate output - validate(CLAccessor(_target), _reference); -} -TEST_SUITE_END() // S32 - -TEST_SUITE(S16) -FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrix3DFixture<short>, framework::DatasetMode::ALL, +FIXTURE_DATA_TEST_CASE(S16, CLGEMMReshapeLHSMatrix3DFixture<short>, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape3DShapes(), b_values), framework::dataset::make("DataType", DataType::S16)), - m0_values_precommit), - k0_values_precommit), - v0_values), - i_values), - t_values)) -{ - // Validate output - validate(CLAccessor(_target), _reference); -} - -FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrix3DFixture<short>, framework::DatasetMode::NIGHTLY, - combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape3DShapes(), - b_values), - framework::dataset::make("DataType", DataType::S16)), - m0_values_nightly), - k0_values_nightly), + m0_values_s16), + k0_values_s16), v0_values), i_values), t_values)) @@ -318,29 +153,13 @@ FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrix3DFixture<short>, framewo // Validate output validate(CLAccessor(_target), _reference); } -TEST_SUITE_END() // S16 -TEST_SUITE(S8) -FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMReshapeLHSMatrix3DFixture<char>, framework::DatasetMode::ALL, +FIXTURE_DATA_TEST_CASE(S8, CLGEMMReshapeLHSMatrix3DFixture<char>, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(datasets::SmallGEMMReshape3DShapes(), b_values), framework::dataset::make("DataType", DataType::S8)), - m0_values_precommit), - k0_values_precommit), - v0_values), - i_values), - t_values)) -{ - // Validate output - validate(CLAccessor(_target), _reference); -} - -FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrix3DFixture<char>, framework::DatasetMode::NIGHTLY, - combine(combine(combine(combine(combine(combine(combine(datasets::LargeGEMMReshape3DShapes(), - b_values), - framework::dataset::make("DataType", DataType::S8)), - m0_values_nightly), - k0_values_nightly), + m0_values_s8), + k0_values_s8), v0_values), i_values), t_values)) @@ -348,7 +167,6 @@ FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMReshapeLHSMatrix3DFixture<char>, framewor // Validate output validate(CLAccessor(_target), _reference); } -TEST_SUITE_END() // S8 TEST_SUITE_END() // ReinterpretInputAs3D TEST_SUITE_END() // GEMMReshapeLHSMatrix TEST_SUITE_END() // CL |