ArmNN
 22.08
RefElementwiseWorkload.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <armnn/Types.hpp>
9 #include "RefBaseWorkload.hpp"
11 #include "BaseIterator.hpp"
12 #include "ElementwiseFunction.hpp"
13 #include "Maximum.hpp"
14 #include "Minimum.hpp"
15 #include "StringMapping.hpp"
16 
17 namespace armnn
18 {
19 
20 template <typename Functor, typename ParentDescriptor, typename armnn::StringMapping::Id DebugString>
21 class RefElementwiseWorkload : public RefBaseWorkload<ParentDescriptor>
22 {
23 public:
24  RefElementwiseWorkload(const ParentDescriptor& descriptor, const WorkloadInfo& info);
25  void Execute() const override;
26  void ExecuteAsync(ExecutionData& executionData) override;
27 
28 private:
29  using InType = typename ElementwiseBinaryFunction<Functor>::InType;
30  using OutType = typename ElementwiseBinaryFunction<Functor>::OutType;
32 
33  void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const;
34 };
35 
36 template <typename DataType = float>
37 using RefAdditionWorkload =
41 
42 template <typename DataType = float>
47 
48 template <typename DataType = float>
53 
54 template <typename DataType = float>
55 using RefDivisionWorkload =
59 
60 template <typename DataType = float>
61 using RefMaximumWorkload =
65 
66 template <typename DataType = float>
67 using RefMinimumWorkload =
71 
72 } // armnn
typename Functor::first_argument_type InType
Copyright (c) 2021 ARM Limited and Contributors.
RefElementwiseWorkload(const ParentDescriptor &descriptor, const WorkloadInfo &info)
typename Functor::result_type OutType
void ExecuteAsync(ExecutionData &executionData) override
Contains information about TensorInfos of a layer.