blob: 284f9d14f38db94d96620f48e2494bddc26296a6 [file] [log] [blame]
Laurent Carlier749294b2020-06-01 09:03:17 +01001//
Mike Kelly7cbe7812023-07-25 17:37:33 +01002// Copyright © 2019-2023 Arm Ltd and Contributors. All rights reserved.
Teresa Charlin970f43b2019-07-01 13:51:07 +01003// SPDX-License-Identifier: MIT
4//
5
6#include "RefResizeWorkload.hpp"
7
8#include "RefWorkloadUtils.hpp"
9#include "Resize.hpp"
10#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 RefResizeWorkload::Execute() const
21{
Finn Williamsb8181f72021-04-07 10:23:21 +010022 Execute(m_Data.m_Inputs, m_Data.m_Outputs);
23}
24
Matthew Sloyan2d213a72022-06-30 17:13:04 +010025void RefResizeWorkload::ExecuteAsync(ExecutionData& executionData)
Finn Williamsb8181f72021-04-07 10:23:21 +010026{
Matthew Sloyan2d213a72022-06-30 17:13:04 +010027 WorkingMemDescriptor* workingMemDescriptor = static_cast<WorkingMemDescriptor*>(executionData.m_Data);
28 Execute(workingMemDescriptor->m_Inputs, workingMemDescriptor->m_Outputs);
Finn Williamsb8181f72021-04-07 10:23:21 +010029}
30
31void RefResizeWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const
32{
Mike Kelly7cbe7812023-07-25 17:37:33 +010033 ARMNN_SCOPED_PROFILING_EVENT_REF_NAME_GUID("RefResizeWorkload_Execute");
Teresa Charlin970f43b2019-07-01 13:51:07 +010034
Finn Williamsb8181f72021-04-07 10:23:21 +010035 const TensorInfo& inputInfo = GetTensorInfo(inputs[0]);
36 const TensorInfo& outputInfo = GetTensorInfo(outputs[0]);
Teresa Charlin970f43b2019-07-01 13:51:07 +010037
Finn Williamsb8181f72021-04-07 10:23:21 +010038 std::unique_ptr<Decoder<float>> decoderPtr = MakeDecoder<float>(inputInfo, inputs[0]->Map());
Teresa Charlin970f43b2019-07-01 13:51:07 +010039 Decoder<float> &decoder = *decoderPtr;
Finn Williamsb8181f72021-04-07 10:23:21 +010040 std::unique_ptr<Encoder<float>> encoderPtr = MakeEncoder<float>(outputInfo, outputs[0]->Map());
Teresa Charlin970f43b2019-07-01 13:51:07 +010041 Encoder<float> &encoder = *encoderPtr;
42
Sang-Hoon Park820eb142020-01-08 10:25:24 +000043 Resize(decoder,
44 inputInfo,
45 encoder,
46 outputInfo,
47 m_Data.m_Parameters.m_DataLayout,
48 m_Data.m_Parameters.m_Method,
David Monahanab219752020-06-19 16:43:48 +010049 m_Data.m_Parameters.m_AlignCorners,
50 m_Data.m_Parameters.m_HalfPixelCenters);
Teresa Charlin970f43b2019-07-01 13:51:07 +010051}
52
53} //namespace armnn