diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2020-06-24 11:42:20 +0100 |
---|---|---|
committer | Sadik Armagan <sadik.armagan@arm.com> | 2020-06-24 10:44:09 +0000 |
commit | 66aecb0bcab0de55afd6a9f217b17fa6107dd308 (patch) | |
tree | 34ae00ad11750123e8105a244a3c0ccaf11979f3 /src/backends/cl/workloads/ClFillWorkload.cpp | |
parent | 307fd34ba8b19a36ddfe70eb6c70e5386ed99b34 (diff) | |
download | armnn-66aecb0bcab0de55afd6a9f217b17fa6107dd308.tar.gz |
IVGCVSW-4621 Add CL FILL Workload
* Add CL workload for Fill Operator
* Enabled Fill operator tests on CL
* CLFill function does not have validate() function yet
IsLayerSupported() function return true at the moment
* Enabled int32 to tests on backends
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I9f8cc6d1c86f832ba46a8d170572f4cfcde9ab17
Diffstat (limited to 'src/backends/cl/workloads/ClFillWorkload.cpp')
-rw-r--r-- | src/backends/cl/workloads/ClFillWorkload.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/backends/cl/workloads/ClFillWorkload.cpp b/src/backends/cl/workloads/ClFillWorkload.cpp new file mode 100644 index 0000000000..47a70bc677 --- /dev/null +++ b/src/backends/cl/workloads/ClFillWorkload.cpp @@ -0,0 +1,35 @@ +// +// Copyright © 2020 Arm Ltd and Contributors. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "ClFillWorkload.hpp" + +#include "ClWorkloadUtils.hpp" + +#include <cl/ClTensorHandle.hpp> +#include <aclCommon/ArmComputeTensorUtils.hpp> +#include <arm_compute/core/Types.h> + +namespace armnn +{ +using namespace armcomputetensorutils; + +ClFillWorkload::ClFillWorkload(const FillQueueDescriptor& descriptor, const WorkloadInfo& info) + : BaseWorkload<FillQueueDescriptor>(descriptor, info) +{ + m_Data.ValidateInputsOutputs("ClFillWorkload", 1, 1); + + arm_compute::ICLTensor& output = static_cast<IClTensorHandle*>(this->m_Data.m_Outputs[0])->GetTensor(); + arm_compute::PixelValue pixelValue = GetPixelValue(output, descriptor.m_Parameters.m_Value); + + m_Layer.configure(&output, pixelValue); +} + +void ClFillWorkload::Execute() const +{ + ARMNN_SCOPED_PROFILING_EVENT_CL("ClFillWorkload_Execute"); + RunClFunction(m_Layer, CHECK_LOCATION()); +} + +} // namespace armnn |