diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2021-10-27 22:29:13 +0100 |
---|---|---|
committer | Teresa Charlin <teresa.charlinreyes@arm.com> | 2021-11-15 11:41:22 +0000 |
commit | 46c657d34e1d125b14c89140c13db94493e447b7 (patch) | |
tree | 5d49e5e8d64770b5de0eab792ec66b333294ad95 /src/backends/cl/workloads/ClPadWorkload.cpp | |
parent | d3065d793c2351e9888d9d457a30490e0e7a539e (diff) | |
download | armnn-46c657d34e1d125b14c89140c13db94493e447b7.tar.gz |
IVGCVSW-6519 Extend pad workload for GpuAcc to support mirror padding
* Add UnitTest for GpuAcc
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I235900dc62fb043c5ce9c8cd4f63dcc4e5393233
Diffstat (limited to 'src/backends/cl/workloads/ClPadWorkload.cpp')
-rw-r--r-- | src/backends/cl/workloads/ClPadWorkload.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/backends/cl/workloads/ClPadWorkload.cpp b/src/backends/cl/workloads/ClPadWorkload.cpp index 48d61b0b8a..4f8c34cb77 100644 --- a/src/backends/cl/workloads/ClPadWorkload.cpp +++ b/src/backends/cl/workloads/ClPadWorkload.cpp @@ -1,11 +1,12 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "ClPadWorkload.hpp" #include <cl/ClTensorHandle.hpp> +#include <aclCommon/ArmComputeUtils.hpp> #include <aclCommon/ArmComputeTensorUtils.hpp> #include <arm_compute/core/Types.h> @@ -43,7 +44,12 @@ ClPadWorkload::ClPadWorkload(const PadQueueDescriptor& descriptor, { ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "ClPadWorkload_configure"); - m_Layer.configure(clCompileContext, &input, &output, padList, pixelValue); + m_Layer.configure(clCompileContext, + &input, + &output, + padList, + pixelValue, + ConvertPaddingModeToAcl(descriptor.m_Parameters.m_PaddingMode)); } } @@ -68,9 +74,14 @@ arm_compute::Status ClPadValidate(const TensorInfo& input, arm_compute::PaddingList padList = static_cast<arm_compute::PaddingList>(reversed_PadList); - const arm_compute::Status aclStatus = arm_compute::CLPadLayer::validate(&aclInputInfo, - &aclOutputInfo, - padList); + // PixelValue is currently unused when validating, but it's required to pass in PaddingMode. + arm_compute::PixelValue pixelValue = GetPixelValue(&aclInputInfo, descriptor.m_PadValue); + const arm_compute::Status aclStatus = + arm_compute::CLPadLayer::validate(&aclInputInfo, + &aclOutputInfo, + padList, + pixelValue, + ConvertPaddingModeToAcl(descriptor.m_PaddingMode)); return aclStatus; } |