blob: f9d80073b0c2f34b38f45ce7e2a1c4aa6d0ae171 [file] [log] [blame]
Laurent Carlier749294b2020-06-01 09:03:17 +01001//
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +00002// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RefDequantizeWorkload.hpp"
7#include "RefWorkloadUtils.hpp"
Jan Eilersf7107932019-11-01 11:09:36 +00008#include "Encoders.hpp"
9#include "Decoders.hpp"
10#include "Dequantize.hpp"
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +000011
12namespace armnn
13{
14
15void RefDequantizeWorkload::Execute() const
16{
Finn Williamsb8181f72021-04-07 10:23:21 +010017 Execute(m_Data.m_Inputs, m_Data.m_Outputs);
18}
19
20void RefDequantizeWorkload::ExecuteAsync(WorkingMemDescriptor &workingMemDescriptor)
21{
22 Execute(workingMemDescriptor.m_Inputs, workingMemDescriptor.m_Outputs);
23}
24
25void RefDequantizeWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const
26{
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +000027 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefDequantizeWorkload_Execute");
28
Finn Williamsb8181f72021-04-07 10:23:21 +010029 const TensorInfo& inputInfo = GetTensorInfo(inputs[0]);
30 const TensorInfo& outputInfo = GetTensorInfo(outputs[0]);
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +000031
Finn Williamsb8181f72021-04-07 10:23:21 +010032 auto inputDecoder = MakeDecoder<float>(inputInfo, inputs[0]->Map());
33 auto outputEncoder = MakeEncoder<float>(outputInfo, outputs[0]->Map());
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +000034
Jan Eilersf7107932019-11-01 11:09:36 +000035 Dequantize(*inputDecoder, *outputEncoder, inputInfo, outputInfo);
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +000036}
37
38} // namespace armnn