aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Pflanzer <moritz.pflanzer@arm.com>2017-09-23 09:55:34 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:35:24 +0000
commit36db7f5dac4a25f1eb918d9451fc406d999ff971 (patch)
tree20495dd86c9cf3152ee8f6c29c54861fedc51c98
parent7905f91d0765ea59cf0aadc2a338135f4965586f (diff)
downloadComputeLibrary-36db7f5dac4a25f1eb918d9451fc406d999ff971.tar.gz
COMPMID-415: Remove GEMM tests from computer vision
Change-Id: I876d536aaada92e85c83daaf083790f8e40f2d7a Reviewed-on: http://mpd-gerrit.cambridge.arm.com/88879 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
-rw-r--r--tests/benchmark/CL/GEMM.cpp2
-rw-r--r--tests/benchmark/NEON/GEMM.cpp2
-rw-r--r--tests/datasets/GoogleNetGEMMDataset.h97
-rw-r--r--tests/datasets/MatrixMultiplyGEMMDataset.h6
4 files changed, 107 insertions, 0 deletions
diff --git a/tests/benchmark/CL/GEMM.cpp b/tests/benchmark/CL/GEMM.cpp
index ece20433b9..e0c54f74a2 100644
--- a/tests/benchmark/CL/GEMM.cpp
+++ b/tests/benchmark/CL/GEMM.cpp
@@ -27,6 +27,7 @@
#include "arm_compute/runtime/CL/functions/CLGEMM.h"
#include "tests/CL/CLAccessor.h"
#include "tests/benchmark/fixtures/GEMMFixture.h"
+#include "tests/datasets/GoogleNetGEMMDataset.h"
#include "tests/datasets/MatrixMultiplyGEMMDataset.h"
#include "tests/datasets/system_tests/googlenet/inceptionv1/GoogLeNetInceptionV1GEMMDataset.h"
#include "tests/framework/Macros.h"
@@ -48,6 +49,7 @@ TEST_SUITE(CL)
REGISTER_FIXTURE_DATA_TEST_CASE(GoogLeNetInceptionV1GEMM, CLGEMMFixture, framework::DatasetMode::ALL, framework::dataset::combine(datasets::GoogLeNetInceptionV1GEMMDataset(), data_types));
REGISTER_FIXTURE_DATA_TEST_CASE(MatrixMultiplyGEMM, CLGEMMFixture, framework::DatasetMode::ALL, framework::dataset::combine(datasets::MatrixMultiplyGEMMDataset(), data_types));
+REGISTER_FIXTURE_DATA_TEST_CASE(GoogleNetGEMM, CLGEMMFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(datasets::GoogleNetGEMMDataset(), data_types));
TEST_SUITE_END()
} // namespace test
diff --git a/tests/benchmark/NEON/GEMM.cpp b/tests/benchmark/NEON/GEMM.cpp
index ddc54e633e..a713501d9a 100644
--- a/tests/benchmark/NEON/GEMM.cpp
+++ b/tests/benchmark/NEON/GEMM.cpp
@@ -28,6 +28,7 @@
#include "arm_compute/runtime/TensorAllocator.h"
#include "tests/NEON/Accessor.h"
#include "tests/benchmark/fixtures/GEMMFixture.h"
+#include "tests/datasets/GoogleNetGEMMDataset.h"
#include "tests/datasets/MatrixMultiplyGEMMDataset.h"
#include "tests/datasets/system_tests/googlenet/inceptionv1/GoogLeNetInceptionV1GEMMDataset.h"
#include "tests/framework/Macros.h"
@@ -56,6 +57,7 @@ TEST_SUITE(NEON)
REGISTER_FIXTURE_DATA_TEST_CASE(GoogLeNetInceptionV1GEMM, NEGEMMFixture, framework::DatasetMode::ALL, framework::dataset::combine(datasets::GoogLeNetInceptionV1GEMMDataset(), data_types));
REGISTER_FIXTURE_DATA_TEST_CASE(MatrixMultiplyGEMM, NEGEMMFixture, framework::DatasetMode::ALL, framework::dataset::combine(datasets::MatrixMultiplyGEMMDataset(), data_types));
+REGISTER_FIXTURE_DATA_TEST_CASE(GoogleNetGEMM, NEGEMMFixture, framework::DatasetMode::NIGHTLY, framework::dataset::combine(datasets::GoogleNetGEMMDataset(), data_types));
TEST_SUITE_END()
} // namespace test
diff --git a/tests/datasets/GoogleNetGEMMDataset.h b/tests/datasets/GoogleNetGEMMDataset.h
new file mode 100644
index 0000000000..6424c51bee
--- /dev/null
+++ b/tests/datasets/GoogleNetGEMMDataset.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2017 ARM Limited.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#ifndef ARM_COMPUTE_TEST_GOOGLENET_GEMM_DATASET
+#define ARM_COMPUTE_TEST_GOOGLENET_GEMM_DATASET
+
+#include "tests/datasets/GEMMDataset.h"
+
+#include "utils/TypePrinter.h"
+
+#include "arm_compute/core/TensorShape.h"
+
+namespace arm_compute
+{
+namespace test
+{
+namespace datasets
+{
+class GoogleNetGEMMDataset final : public GEMMDataset
+{
+public:
+ GoogleNetGEMMDataset()
+ {
+ add_config(TensorShape{ 147U, 12544U }, TensorShape{ 64U, 147U }, TensorShape{ 12544U, 64U }, TensorShape{ 12544U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 192U, 784U }, TensorShape{ 96U, 192U }, TensorShape{ 784U, 96U }, TensorShape{ 784U, 96U }, 1.f, 0.f);
+ add_config(TensorShape{ 192U, 784U }, TensorShape{ 32U, 192U }, TensorShape{ 784U, 32U }, TensorShape{ 784U, 32U }, 1.f, 0.f);
+ add_config(TensorShape{ 256U, 784U }, TensorShape{ 32U, 256U }, TensorShape{ 784U, 32U }, TensorShape{ 784U, 32U }, 1.f, 0.f);
+ add_config(TensorShape{ 480U, 196U }, TensorShape{ 96U, 480U }, TensorShape{ 196U, 96U }, TensorShape{ 196U, 96U }, 1.f, 0.f);
+ add_config(TensorShape{ 480U, 196U }, TensorShape{ 64U, 480U }, TensorShape{ 196U, 64U }, TensorShape{ 196U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 508U, 196U }, TensorShape{ 24U, 508U }, TensorShape{ 196U, 24U }, TensorShape{ 196U, 24U }, 1.f, 0.f);
+ add_config(TensorShape{ 512U, 196U }, TensorShape{ 128U, 512U }, TensorShape{ 196U, 128U }, TensorShape{ 196U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 512U, 196U }, TensorShape{ 64U, 512U }, TensorShape{ 196U, 64U }, TensorShape{ 196U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 512U, 196U }, TensorShape{ 32U, 512U }, TensorShape{ 196U, 32U }, TensorShape{ 196U, 32U }, 1.f, 0.f);
+ add_config(TensorShape{ 528U, 196U }, TensorShape{ 160U, 528U }, TensorShape{ 196U, 160U }, TensorShape{ 196U, 160U }, 1.f, 0.f);
+ add_config(TensorShape{ 528U, 196U }, TensorShape{ 128U, 528U }, TensorShape{ 196U, 128U }, TensorShape{ 196U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 832U, 49U }, TensorShape{ 48U, 832U }, TensorShape{ 49U, 48U }, TensorShape{ 49U, 48U }, 1.f, 0.f);
+ add_config(TensorShape{ 832U, 49U }, TensorShape{ 192U, 832U }, TensorShape{ 49U, 192U }, TensorShape{ 49U, 192U }, 1.f, 0.f);
+ add_config(TensorShape{ 832U, 49U }, TensorShape{ 128U, 832U }, TensorShape{ 49U, 128U }, TensorShape{ 49U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 528U, 16U }, TensorShape{ 128U, 528U }, TensorShape{ 16U, 128U }, TensorShape{ 16U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 64U, 3136U }, TensorShape{ 64U, 64U }, TensorShape{ 3136U, 64U }, TensorShape{ 3136U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 864U, 784U }, TensorShape{ 128U, 864U }, TensorShape{ 784U, 128U }, TensorShape{ 784U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 256U, 784U }, TensorShape{ 128U, 256U }, TensorShape{ 784U, 128U }, TensorShape{ 784U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 800U, 784U }, TensorShape{ 96U, 800U }, TensorShape{ 784U, 96U }, TensorShape{ 784U, 96U }, 1.f, 0.f);
+ add_config(TensorShape{ 864U, 196U }, TensorShape{ 204U, 864U }, TensorShape{ 196U, 204U }, TensorShape{ 196U, 204U }, 1.f, 0.f);
+ add_config(TensorShape{ 508U, 196U }, TensorShape{ 160U, 508U }, TensorShape{ 196U, 160U }, TensorShape{ 196U, 160U }, 1.f, 0.f);
+ add_config(TensorShape{ 600U, 196U }, TensorShape{ 64U, 600U }, TensorShape{ 196U, 64U }, TensorShape{ 196U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 1152U, 196U }, TensorShape{ 256U, 1152U }, TensorShape{ 196U, 256U }, TensorShape{ 196U, 256U }, 1.f, 0.f);
+ add_config(TensorShape{ 512U, 196U }, TensorShape{ 112U, 512U }, TensorShape{ 196U, 112U }, TensorShape{ 196U, 112U }, 1.f, 0.f);
+ add_config(TensorShape{ 800U, 196U }, TensorShape{ 64U, 800U }, TensorShape{ 196U, 64U }, TensorShape{ 196U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 1440U, 196U }, TensorShape{ 320U, 1440U }, TensorShape{ 196U, 320U }, TensorShape{ 196U, 320U }, 1.f, 0.f);
+ add_config(TensorShape{ 832U, 49U }, TensorShape{ 256U, 832U }, TensorShape{ 49U, 256U }, TensorShape{ 49U, 256U }, 1.f, 0.f);
+ add_config(TensorShape{ 1200U, 49U }, TensorShape{ 128U, 1200U }, TensorShape{ 49U, 128U }, TensorShape{ 49U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 1728U, 49U }, TensorShape{ 384U, 1728U }, TensorShape{ 49U, 384U }, TensorShape{ 49U, 384U }, 1.f, 0.f);
+ add_config(TensorShape{ 508U, 16U }, TensorShape{ 128U, 508U }, TensorShape{ 16U, 128U }, TensorShape{ 16U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 2048U, 1U }, TensorShape{ 1024U, 2048U }, TensorShape{ 1U, 1024U }, TensorShape{ 1U, 1024U }, 1.f, 0.f);
+ add_config(TensorShape{ 576U, 3136U }, TensorShape{ 192U, 576U }, TensorShape{ 3136U, 192U }, TensorShape{ 3136U, 192U }, 1.f, 0.f);
+ add_config(TensorShape{ 192U, 784U }, TensorShape{ 16U, 192U }, TensorShape{ 784U, 16U }, TensorShape{ 784U, 16U }, 1.f, 0.f);
+ add_config(TensorShape{ 256U, 784U }, TensorShape{ 128U, 256U }, TensorShape{ 784U, 128U }, TensorShape{ 784U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 256U, 784U }, TensorShape{ 64U, 256U }, TensorShape{ 784U, 64U }, TensorShape{ 784U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 480U, 196U }, TensorShape{ 16U, 480U }, TensorShape{ 196U, 16U }, TensorShape{ 196U, 16U }, 1.f, 0.f);
+ add_config(TensorShape{ 508U, 196U }, TensorShape{ 112U, 508U }, TensorShape{ 196U, 112U }, TensorShape{ 196U, 112U }, 1.f, 0.f);
+ add_config(TensorShape{ 508U, 196U }, TensorShape{ 64U, 508U }, TensorShape{ 196U, 64U }, TensorShape{ 196U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 512U, 196U }, TensorShape{ 24U, 512U }, TensorShape{ 196U, 24U }, TensorShape{ 196U, 24U }, 1.f, 0.f);
+ add_config(TensorShape{ 512U, 196U }, TensorShape{ 144U, 512U }, TensorShape{ 196U, 144U }, TensorShape{ 196U, 144U }, 1.f, 0.f);
+ add_config(TensorShape{ 512U, 196U }, TensorShape{ 64U, 512U }, TensorShape{ 196U, 64U }, TensorShape{ 196U, 64U }, 1.f, 0.f);
+ add_config(TensorShape{ 528U, 196U }, TensorShape{ 32U, 528U }, TensorShape{ 196U, 32U }, TensorShape{ 196U, 32U }, 1.f, 0.f);
+ add_config(TensorShape{ 832U, 49U }, TensorShape{ 160U, 832U }, TensorShape{ 49U, 160U }, TensorShape{ 49U, 160U }, 1.f, 0.f);
+ add_config(TensorShape{ 832U, 49U }, TensorShape{ 128U, 832U }, TensorShape{ 49U, 128U }, TensorShape{ 49U, 128U }, 1.f, 0.f);
+ add_config(TensorShape{ 832U, 49U }, TensorShape{ 48U, 832U }, TensorShape{ 49U, 48U }, TensorShape{ 49U, 48U }, 1.f, 0.f);
+ add_config(TensorShape{ 2048U, 1U }, TensorShape{ 1024U, 2048U }, TensorShape{ 1U, 1024U }, TensorShape{ 1U, 1024U }, 1.f, 0.f);
+ add_config(TensorShape{ 1024U, 1U }, TensorShape{ 1008U, 1024U }, TensorShape{ 1U, 1008U }, TensorShape{ 1U, 1008U }, 1.f, 0.f);
+ }
+};
+} // namespace datasets
+} // namespace test
+} // namespace arm_compute
+#endif /* ARM_COMPUTE_TEST_GOOGLENET_GEMM_DATASET */
diff --git a/tests/datasets/MatrixMultiplyGEMMDataset.h b/tests/datasets/MatrixMultiplyGEMMDataset.h
index 718c32b466..5693706ab3 100644
--- a/tests/datasets/MatrixMultiplyGEMMDataset.h
+++ b/tests/datasets/MatrixMultiplyGEMMDataset.h
@@ -44,6 +44,12 @@ public:
add_config(TensorShape(1024U, 1U), TensorShape(1000U, 1024U), TensorShape(1000U, 1U), TensorShape(1000U, 1U), 1.0f, 0.0f);
add_config(TensorShape(256U, 784U), TensorShape(64U, 256U), TensorShape(64U, 784U), TensorShape(64U, 784U), 1.0f, 0.0f);
add_config(TensorShape(1152U, 2704U), TensorShape(256U, 1152U), TensorShape(256U, 2704U), TensorShape(256U, 2704U), 1.0f, 0.0f);
+ add_config(TensorShape{ 128U, 256U }, TensorShape{ 128U, 128U }, TensorShape{ 128U, 256U }, TensorShape{ 128U, 256U }, 1.1f, 0.0f);
+ add_config(TensorShape{ 512U, 128U }, TensorShape{ 512U, 512U }, TensorShape{ 512U, 128U }, TensorShape{ 512U, 128U }, 0.5f, 0.0f);
+ add_config(TensorShape{ 256U, 256U }, TensorShape{ 256U, 256U }, TensorShape{ 256U, 256U }, TensorShape{ 256U, 256U }, 0.5f, 0.0f);
+ add_config(TensorShape{ 128U, 256U }, TensorShape{ 128U, 128U }, TensorShape{ 128U, 256U }, TensorShape{ 128U, 256U }, 1.1f, 1.5f);
+ add_config(TensorShape{ 512U, 128U }, TensorShape{ 512U, 512U }, TensorShape{ 512U, 128U }, TensorShape{ 512U, 128U }, 1.2f, 1.1f);
+ add_config(TensorShape{ 256U, 256U }, TensorShape{ 256U, 256U }, TensorShape{ 256U, 256U }, TensorShape{ 256U, 256U }, 0.5f, 1.3f);
}
};
} // namespace datasets