blob: 2cf5888f33830cbe820ee7d6bad7d3b25532b073 [file] [log] [blame]
Laurent Carlier749294b2020-06-01 09:03:17 +01001//
Ellen Norris-Thompson719d2a92019-06-12 10:23:57 +01002// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RefResizeBilinearWorkload.hpp"
7
8#include "RefWorkloadUtils.hpp"
Teresa Charlin970f43b2019-07-01 13:51:07 +01009#include "Resize.hpp"
Ellen Norris-Thompson719d2a92019-06-12 10:23:57 +010010#include "BaseIterator.hpp"
11#include "Profiling.hpp"
12
13#include "BaseIterator.hpp"
14#include "Decoders.hpp"
15#include "Encoders.hpp"
16
17namespace armnn
18{
19
20void RefResizeBilinearWorkload::Execute() const
21{
Finn Williamsb8181f72021-04-07 10:23:21 +010022 Execute(m_Data.m_Inputs, m_Data.m_Outputs);
23}
24
25void RefResizeBilinearWorkload::ExecuteAsync(WorkingMemDescriptor &workingMemDescriptor)
26{
27 Execute(workingMemDescriptor.m_Inputs, workingMemDescriptor.m_Outputs);
28}
29
30void RefResizeBilinearWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const
31{
Ellen Norris-Thompson719d2a92019-06-12 10:23:57 +010032 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefResizeBilinearWorkload_Execute");
33
Finn Williamsb8181f72021-04-07 10:23:21 +010034 const TensorInfo& inputInfo = GetTensorInfo(inputs[0]);
35 const TensorInfo& outputInfo = GetTensorInfo(outputs[0]);
Ellen Norris-Thompson719d2a92019-06-12 10:23:57 +010036
Finn Williamsb8181f72021-04-07 10:23:21 +010037 std::unique_ptr<Decoder<float>> decoderPtr = MakeDecoder<float>(inputInfo, inputs[0]->Map());
Ellen Norris-Thompson719d2a92019-06-12 10:23:57 +010038 Decoder<float> &decoder = *decoderPtr;
Finn Williamsb8181f72021-04-07 10:23:21 +010039 std::unique_ptr<Encoder<float>> encoderPtr = MakeEncoder<float>(outputInfo, outputs[0]->Map());
Ellen Norris-Thompson719d2a92019-06-12 10:23:57 +010040 Encoder<float> &encoder = *encoderPtr;
41
Teresa Charlin970f43b2019-07-01 13:51:07 +010042 Resize(decoder, inputInfo, encoder, outputInfo, m_Data.m_Parameters.m_DataLayout, armnn::ResizeMethod::Bilinear);
Ellen Norris-Thompson719d2a92019-06-12 10:23:57 +010043}
44
45} //namespace armnn