ArmNN
 25.02
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RefMeanWorkload.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2019,2021-2024 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "RefMeanWorkload.hpp"
7 
8 #include "Reduce.hpp"
9 #include "RefWorkloadUtils.hpp"
10 
11 #include "Profiling.hpp"
12 
13 #include <vector>
14 
15 namespace armnn
16 {
17 
19  :RefBaseWorkload<MeanQueueDescriptor>(descriptor, info) {}
20 
22 {
24 }
25 
26 void RefMeanWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const
27 {
28  ARMNN_SCOPED_PROFILING_EVENT_REF_NAME_GUID("RefMeanWorkload_Execute");
29 
30  const TensorInfo& inputInfo = GetTensorInfo(inputs[0]);
31  const TensorInfo& outputInfo = GetTensorInfo(outputs[0]);
32 
33  auto inputDecoder = MakeDecoder<float>(inputInfo, inputs[0]->Map());
34  auto outputEncoder = MakeEncoder<float>(outputInfo, outputs[0]->Map());
35 
36  Reduce(inputInfo,
37  outputInfo,
38  *inputDecoder,
39  *outputEncoder,
40  m_Data.m_Parameters.m_Axis,
42 }
43 
44 } //namespace armnn
#define ARMNN_SCOPED_PROFILING_EVENT_REF_NAME_GUID(label)
Creates a profiling event that uses GetGuid() and GetName() from the calling class.
QueueDescriptor m_Data
Definition: Workload.hpp:74
RefMeanWorkload(const MeanQueueDescriptor &descriptor, const WorkloadInfo &info)
void Execute() const override
Copyright (c) 2021 ARM Limited and Contributors.
const TensorInfo & GetTensorInfo(const ITensorHandle *tensorHandle)
float32 helpers
void Reduce(const TensorInfo &inputInfo, const TensorInfo &outputInfo, Decoder< float > &input, Encoder< float > &output, const std::vector< uint32_t > axis, const ReduceOperation reduceOperation)
Definition: Reduce.cpp:70
std::vector< ITensorHandle * > m_Inputs
std::vector< ITensorHandle * > m_Outputs
Contains information about TensorInfos of a layer.