Release 18.08
[platform/upstream/armnn.git] / src / armnn / backends / ClWorkloads / ClResizeBilinearFloat32Workload.cpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
4 //
5
6 #include "ClResizeBilinearFloat32Workload.hpp"
7 #include "backends/ClTensorHandle.hpp"
8 #include "backends/CpuTensorHandle.hpp"
9 #include "backends/ClLayerSupport.hpp"
10 #include "backends/ArmComputeUtils.hpp"
11
12 namespace armnn
13 {
14
15 ClResizeBilinearFloat32Workload::ClResizeBilinearFloat32Workload(const ResizeBilinearQueueDescriptor& descriptor,
16                                                                const WorkloadInfo& info)
17     : FloatWorkload<ResizeBilinearQueueDescriptor>(descriptor, info)
18 {
19     m_Data.ValidateInputsOutputs("ClResizeBilinearFloat32Workload", 1, 1);
20
21     arm_compute::ICLTensor& input  = static_cast<IClTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
22     arm_compute::ICLTensor& output = static_cast<IClTensorHandle*>(m_Data.m_Outputs[0])->GetTensor();
23
24     m_ResizeBilinearLayer.configure(&input, &output, arm_compute::InterpolationPolicy::BILINEAR,
25                                     arm_compute::BorderMode::REPLICATE, arm_compute::PixelValue(0.f),
26                                     arm_compute::SamplingPolicy::TOP_LEFT);
27 };
28
29 void ClResizeBilinearFloat32Workload::Execute() const
30 {
31     ARMNN_SCOPED_PROFILING_EVENT_CL("ClResizeBilinearFloat32Workload_Execute");
32     m_ResizeBilinearLayer.run();
33 }
34
35
36 } //namespace armnn