blob: 8018f5a522c4337aa3c8cc2a7e426d518c25b68e [file] [log] [blame]
Francis Murtaghe7a86a42018-08-29 12:42:10 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
Francis Murtaghe7a86a42018-08-29 12:42:10 +01004//
5
6#pragma once
7
Colm Donelan0c479742021-12-10 12:43:54 +00008#include <armnn/backends/Workload.hpp>
Matthew Bentham14e46692018-09-20 15:35:30 +01009
Matthew Bentham9b3e7382020-02-05 21:39:55 +000010#include <arm_compute/runtime/CL/functions/CLElementwiseOperations.h>
Francis Murtaghe7a86a42018-08-29 12:42:10 +010011
12namespace armnn
13{
14
15arm_compute::Status ClDivisionWorkloadValidate(const TensorInfo& input0,
16 const TensorInfo& input1,
Mike Kelly07810fc2020-11-12 10:58:48 +000017 const TensorInfo& output,
18 const ActivationDescriptor* activationDescriptor = nullptr);
Francis Murtaghe7a86a42018-08-29 12:42:10 +010019
Teresa Charline11e63d2021-04-21 12:56:45 +010020class ClDivisionWorkload : public BaseWorkload<DivisionQueueDescriptor>
Francis Murtaghe7a86a42018-08-29 12:42:10 +010021{
22public:
Teresa Charline11e63d2021-04-21 12:56:45 +010023 ClDivisionWorkload(const DivisionQueueDescriptor& descriptor,
24 const WorkloadInfo& info,
25 const arm_compute::CLCompileContext& clCompileContext);
Francis Murtaghe7a86a42018-08-29 12:42:10 +010026
Teresa Charline11e63d2021-04-21 12:56:45 +010027 using BaseWorkload<DivisionQueueDescriptor>::BaseWorkload;
Francis Murtaghe7a86a42018-08-29 12:42:10 +010028 void Execute() const override;
29
30private:
31 mutable arm_compute::CLArithmeticDivision m_ArithmeticDivision;
32};
33
34} //namespace armnn