blob: 09167a0e100f1e5068fecbf7c1f7072f8bef02d4 [file] [log] [blame]
Teresa Charlinc1f6b092020-05-11 16:10:38 +01001//
Teresa Charlin588cbdf2022-01-19 15:55:37 +00002// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
Teresa Charlinc1f6b092020-05-11 16:10:38 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <armnn/Descriptors.hpp>
9
10#include <arm_compute/core/Error.h>
11#include <arm_compute/runtime/MemoryManagerOnDemand.h>
12#include <arm_compute/runtime/CL/functions/CLSoftmaxLayer.h>
13
Teresa Charlin588cbdf2022-01-19 15:55:37 +000014#include "ClBaseWorkload.hpp"
Teresa Charlinc1f6b092020-05-11 16:10:38 +010015
16namespace armnn
17{
18
19arm_compute::Status ClSoftmaxWorkloadValidate(const TensorInfo& input,
20 const TensorInfo& output,
21 const SoftmaxDescriptor& descriptor);
22
Teresa Charlin588cbdf2022-01-19 15:55:37 +000023class ClSoftmaxWorkload : public ClBaseWorkload<SoftmaxQueueDescriptor>
Teresa Charlinc1f6b092020-05-11 16:10:38 +010024{
25public:
Sadik Armagane9444752020-12-02 11:28:58 +000026 ClSoftmaxWorkload(const SoftmaxQueueDescriptor& descriptor,
27 const WorkloadInfo& info,
28 std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager,
29 const arm_compute::CLCompileContext& clCompileContext);
Teresa Charlinc1f6b092020-05-11 16:10:38 +010030 void Execute() const override;
31
32private:
33 mutable arm_compute::CLSoftmaxLayer m_SoftmaxLayer;
34};
35
36} // namespace armnn