ArmNN
 24.11
ClFloorDivWorkload.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 "ClBaseWorkload.hpp"
9 #include "ClWorkloadUtils.hpp"
10 
12 #include "arm_compute/runtime/Tensor.h"
13 #include "arm_compute/runtime/CL/functions/CLCast.h"
14 #include "arm_compute/runtime/CL/functions/CLElementwiseOperations.h"
15 #include "arm_compute/runtime/CL/functions/CLFloor.h"
16 
17 namespace armnn
18 {
19 arm_compute::Status ClFloorDivWorkloadValidate(const TensorInfo& input0Info,
20  const TensorInfo& input1Info,
21  const TensorInfo& outputInfo,
22  const ActivationDescriptor* activationDescriptor);
23 
24 class ClFloorDivWorkload : public ClBaseWorkload<DivisionQueueDescriptor>
25 {
26 public:
28  const WorkloadInfo& info,
29  const arm_compute::CLCompileContext& clCompileContext);
30  virtual void Execute() const override;
31 
32 private:
33  arm_compute::CLTensor m_OutputCast0;
34  arm_compute::CLTensor m_OutputCast1;
35  arm_compute::CLTensor m_OutputDiv;
36  arm_compute::CLTensor m_OutputFloor;
37  arm_compute::CLTensor m_OutputCast2;
38 
39  /// Cast layers only used for Signed32 types
40  mutable std::unique_ptr<arm_compute::CLCast> m_CastLayer0;
41  mutable std::unique_ptr<arm_compute::CLCast> m_CastLayer1;
42  mutable std::unique_ptr<arm_compute::CLCast> m_CastLayer2;
43 
44  mutable arm_compute::CLArithmeticDivision m_DivLayer;
45  mutable arm_compute::CLFloor m_FloorLayer;
46 };
47 
48 } //namespace armnn
armnn::DivisionQueueDescriptor
Definition: WorkloadData.hpp:270
armnn::ClFloorDivWorkloadValidate
arm_compute::Status ClFloorDivWorkloadValidate(const TensorInfo &input0Info, const TensorInfo &input1Info, const TensorInfo &outputInfo, const ActivationDescriptor *activationDescriptor)
Definition: ClFloorDivWorkload.cpp:55
armnn::ClFloorDivWorkload
Definition: ClFloorDivWorkload.hpp:24
armnn::ClBaseWorkload
Definition: ClBaseWorkload.hpp:13
armnn::ClFloorDivWorkload::Execute
virtual void Execute() const override
Definition: ClFloorDivWorkload.cpp:215
armnn::WorkloadInfo
Contains information about TensorInfos of a layer.
Definition: WorkloadInfo.hpp:16
Workload.hpp
ClWorkloadUtils.hpp
armnn::BoostLogSeverityMapping::info
@ info
armnn::Status
Status
Definition: Types.hpp:42
armnn::ClFloorDivWorkload::ClFloorDivWorkload
ClFloorDivWorkload(const DivisionQueueDescriptor &descriptor, const WorkloadInfo &info, const arm_compute::CLCompileContext &clCompileContext)
Definition: ClFloorDivWorkload.cpp:132
armnn
Copyright (c) 2021 ARM Limited and Contributors.
Definition: 01_00_quick_start.dox:6
ClBaseWorkload.hpp