From 088cc7ff4623b268275f38c1ffb6d373584335ed Mon Sep 17 00:00:00 2001 From: Pablo Tello Date: Thu, 7 Dec 2017 15:20:55 +0000 Subject: COMPMID: GEMMTranspose1xW tests. Change-Id: I62a7a1871b93fafc65eb58fa550bc86179bdffe7 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/112489 Tested-by: Jenkins Reviewed-by: Georgios Pinitas Reviewed-by: Gian Marco Iodice --- tests/validation/CL/GEMM.cpp | 46 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'tests/validation/CL/GEMM.cpp') diff --git a/tests/validation/CL/GEMM.cpp b/tests/validation/CL/GEMM.cpp index 255f5d934a..5114ed6c13 100644 --- a/tests/validation/CL/GEMM.cpp +++ b/tests/validation/CL/GEMM.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -22,6 +22,7 @@ * SOFTWARE. */ #include "arm_compute/core/CL/kernels/CLGEMMInterleave4x4Kernel.h" +#include "arm_compute/core/CL/kernels/CLGEMMTranspose1xWKernel.h" #include "arm_compute/core/Types.h" #include "arm_compute/runtime/CL/CLTensor.h" #include "arm_compute/runtime/CL/CLTensorAllocator.h" @@ -37,6 +38,7 @@ #include "tests/validation/Validation.h" #include "tests/validation/fixtures/GEMMFixture.h" #include "tests/validation/fixtures/GEMMInterleave4x4Fixture.h" +#include "tests/validation/fixtures/GEMMTranspose1xWFixture.h" namespace arm_compute { @@ -62,6 +64,8 @@ const auto CNNDataTypes = framework::dataset::make("DataType", }); } // namespace +const auto data_transpose = framework::dataset::make("M", 8, 14) * framework::dataset::make("N", 7, 14); + TEST_SUITE(CL) TEST_SUITE(GEMM) @@ -131,6 +135,46 @@ DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(framework::da template using CLGEMMFixture = GEMMValidationFixture; +TEST_SUITE(TRANSPOSE_1XW) +using CLGEMMTranspose1xW = CLSynthetizeFunctionWithZeroConstantBorder; +using CLGEMMTranspose1xWFixture = GEMMTranspose1xWValidationFixture; +TEST_SUITE(FP32) +FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMTranspose1xWFixture, framework::DatasetMode::PRECOMMIT, data_transpose * framework::dataset::make("DataType", DataType::F32)) +{ + // Validate output + validate(CLAccessor(_target), _reference); +} +TEST_SUITE_END() // FP32 + +TEST_SUITE(Quantized) +TEST_SUITE(QS8) +using CLGEMMTranspose1xW = CLSynthetizeFunctionWithZeroConstantBorder; +using CLGEMMTranspose1xWFixture = GEMMTranspose1xWValidationFixedPointFixture; +FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMTranspose1xWFixture, framework::DatasetMode::PRECOMMIT, data_transpose * + framework::dataset::make("DataType", DataType::QS8) + * framework::dataset::make("FractionalBits", 1, 7)) +{ + // Validate output + validate(CLAccessor(_target), _reference); +} +TEST_SUITE_END() + +TEST_SUITE(QS16) +using CLGEMMTranspose1xW = CLSynthetizeFunctionWithZeroConstantBorder; +using CLGEMMTranspose1xWFixture = GEMMTranspose1xWValidationFixedPointFixture; +FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMTranspose1xWFixture, framework::DatasetMode::PRECOMMIT, data_transpose * + framework::dataset::make("DataType", DataType::QS16) + * framework::dataset::make("FractionalBits", 1, 14)) +{ + // Validate output + validate(CLAccessor(_target), _reference); +} +TEST_SUITE_END() + +TEST_SUITE_END() + +TEST_SUITE_END() //TRANSPOSE_1XW + TEST_SUITE(Float) TEST_SUITE(FP16) FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMFixture, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallGEMMDataset(), framework::dataset::make("DataType", DataType::F16))) -- cgit v1.2.1