ArmNN
 24.11
NeonFloorDivWorkload.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2024 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include "NeonBaseWorkload.hpp"
9 
10 #include "arm_compute/runtime/Tensor.h"
11 #include "arm_compute/runtime/NEON/functions/NEFloor.h"
12 #include "arm_compute/runtime/NEON/functions/NEElementwiseOperations.h"
13 #include "arm_compute/runtime/NEON/functions/NECast.h"
14 
15 namespace armnn
16 {
17 
18 
19 
20 /// Validation for the Floor Div Workload
21 arm_compute::Status NeonFloorDivWorkloadValidate(const TensorInfo& input0Info,
22  const TensorInfo& input1Info,
23  const TensorInfo& outputInfo,
24  const ActivationDescriptor* activationDescriptor);
25 
26 class NeonFloorDivWorkload : public NeonBaseWorkload<DivisionQueueDescriptor>
27 {
28 public:
30  virtual void Execute() const override;
31 
32 private:
33  arm_compute::Tensor m_OutputCast0;
34  arm_compute::Tensor m_OutputCast1;
35  arm_compute::Tensor m_OutputDiv;
36  arm_compute::Tensor m_OutputFloor;
37  arm_compute::Tensor m_OutputCast2;
38 
39  /// Cast layers only used for Signed32 types
40  mutable std::unique_ptr<arm_compute::NECast> m_CastLayer0;
41  mutable std::unique_ptr<arm_compute::NECast> m_CastLayer1;
42  mutable std::unique_ptr<arm_compute::NECast> m_CastLayer2;
43 
44  mutable arm_compute::NEElementwiseDivision m_DivLayer;
45  mutable arm_compute::NEFloor m_FloorLayer;
46 };
47 
48 } //namespace armnn
armnn::NeonFloorDivWorkload::Execute
virtual void Execute() const override
Definition: NeonFloorDivWorkload.cpp:211
armnn::DivisionQueueDescriptor
Definition: WorkloadData.hpp:270
armnn::NeonFloorDivWorkload::NeonFloorDivWorkload
NeonFloorDivWorkload(const DivisionQueueDescriptor &descriptor, const WorkloadInfo &info)
Definition: NeonFloorDivWorkload.cpp:129
armnn::NeonFloorDivWorkload
Definition: NeonFloorDivWorkload.hpp:26
NeonBaseWorkload.hpp
armnn::WorkloadInfo
Contains information about TensorInfos of a layer.
Definition: WorkloadInfo.hpp:16
armnn::BoostLogSeverityMapping::info
@ info
armnn::Status
Status
Definition: Types.hpp:42
armnn::NeonFloorDivWorkloadValidate
arm_compute::Status NeonFloorDivWorkloadValidate(const TensorInfo &input0Info, const TensorInfo &input1Info, const TensorInfo &outputInfo, const ActivationDescriptor *activationDescriptor)
Validation for the Floor Div Workload.
Definition: NeonFloorDivWorkload.cpp:52
armnn
Copyright (c) 2021 ARM Limited and Contributors.
Definition: 01_00_quick_start.dox:6
armnn::NeonBaseWorkload
Definition: NeonBaseWorkload.hpp:13