aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2020-04-29 13:22:15 +0100
committerMichalis Spyrou <michalis.spyrou@arm.com>2020-04-30 11:40:41 +0000
commit8bb8de3772b37efb84959390582823488ab1b9e2 (patch)
treed7c6bb8aade708e5c49141fb20a3b03f12441c80
parent06cf9339ed4b86d559c837dcb7c1c273ae6a35eb (diff)
downloadComputeLibrary-8bb8de3772b37efb84959390582823488ab1b9e2.tar.gz
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>
-rw-r--r--tests/validation/CL/GEMMReshapeLHSMatrix.cpp236
1 files changed, 27 insertions, 209 deletions
diff --git a/tests/validation/CL/GEMMReshapeLHSMatrix.cpp b/tests/validation/CL/GEMMReshapeLHSMatrix.cpp
index e6c3b40124..d252f87958 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