diff options
author | Pablo Marquez Tello <pablo.tello@arm.com> | 2024-02-09 15:22:25 +0000 |
---|---|---|
committer | Felix Thomasmathibalan <felixjohnny.thomasmathibalan@arm.com> | 2024-02-12 17:12:22 +0000 |
commit | c0e91ad6f6a550e71819641b6a9331dfc7a4f07a (patch) | |
tree | ffa594fff4a99ad390454fc5d61094e307ba4e27 | |
parent | c319dbe786ef15039eb6ce6001ceb6bd2fef75bb (diff) | |
download | ComputeLibrary-c0e91ad6f6a550e71819641b6a9331dfc7a4f07a.tar.gz |
Add support for QSYMM8 in ClCastKernel
* Resolves ARMCL-1123
Change-Id: I4f8432ba41fa50bf787fb068c3672ac06b858bdd
Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/11117
Reviewed-by: Jakub Sujak <jakub.sujak@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
-rw-r--r-- | src/gpu/cl/kernels/ClCastKernel.cpp | 10 | ||||
-rw-r--r-- | tests/validation/CL/Cast.cpp | 6 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/gpu/cl/kernels/ClCastKernel.cpp b/src/gpu/cl/kernels/ClCastKernel.cpp index 9ca35634f4..bbffcf55a3 100644 --- a/src/gpu/cl/kernels/ClCastKernel.cpp +++ b/src/gpu/cl/kernels/ClCastKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2023 Arm Limited. + * Copyright (c) 2016-2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -52,10 +52,10 @@ Status validate_arguments(const ITensorInfo *src, const ITensorInfo *dst, Conver ARM_COMPUTE_UNUSED(policy); ARM_COMPUTE_RETURN_ERROR_ON_F16_UNSUPPORTED(src); ARM_COMPUTE_RETURN_ERROR_ON(src == dst); - ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(src, 1, DataType::U8, DataType::S8, DataType::QASYMM8, - DataType::QASYMM8_SIGNED, DataType::QSYMM8_PER_CHANNEL, - DataType::S16, DataType::U16, DataType::U32, DataType::S32, - DataType::F16, DataType::F32, DataType::S64, DataType::U64); + ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN( + src, 1, DataType::U8, DataType::S8, DataType::QASYMM8, DataType::QSYMM8, DataType::QASYMM8_SIGNED, + DataType::QSYMM8_PER_CHANNEL, DataType::S16, DataType::U16, DataType::U32, DataType::S32, DataType::F16, + DataType::F32, DataType::S64, DataType::U64); ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(dst, 1, DataType::U8, DataType::S8, DataType::QASYMM8, DataType::S16, DataType::U16, DataType::U32, DataType::S32, DataType::F16, DataType::F32); diff --git a/tests/validation/CL/Cast.cpp b/tests/validation/CL/Cast.cpp index ee1606d93c..2f943e84d8 100644 --- a/tests/validation/CL/Cast.cpp +++ b/tests/validation/CL/Cast.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2020, 2022-2023 Arm Limited. + * Copyright (c) 2018-2020, 2022-2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -50,6 +50,7 @@ constexpr AbsoluteTolerance<float> zero_tolerance(0); /** Input data sets **/ // QASYMM8 const auto CastQASYMM8toF32Dataset = combine(framework::dataset::make("DataType", DataType::QASYMM8), framework::dataset::make("DataType", DataType::F32)); +const auto CastQSYMM8toF32Dataset = combine(framework::dataset::make("DataType", DataType::QSYMM8), framework::dataset::make("DataType", DataType::F32)); // U8 const auto CastU8toS8Dataset = combine(framework::dataset::make("DataType", DataType::U8), framework::dataset::make("DataType", DataType::S8)); @@ -174,6 +175,9 @@ using CLCastToF32Fixture = CastValidationFixture<CLTensor, CLAccessor, CLCast, T // QASYMM8 CAST_SUITE(QASYMM8_to_F32, DataType::QASYMM8, DataType::F32, CLCastToF32Fixture<uint8_t>, CastQASYMM8toF32Dataset, zero_tolerance) +// QSYMM8 +CAST_SUITE(QSYMM8_to_F32, DataType::QSYMM8, DataType::F32, CLCastToF32Fixture<int8_t>, CastQSYMM8toF32Dataset, zero_tolerance) + // U8 CAST_SUITE(U8_to_S8, DataType::U8, DataType::S8, CLCastToS8Fixture<uint8_t>, CastU8toS8Dataset, zero_tolerance) |