blob: 7626af01ae2c0e232732cda85fb5c8c4201df88c [file] [log] [blame]
Sadik Armaganbe88a572020-04-30 11:39:37 +01001//
Teresa Charlin588cbdf2022-01-19 15:55:37 +00002// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
Sadik Armaganbe88a572020-04-30 11:39:37 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <armnn/Descriptors.hpp>
Teresa Charlin588cbdf2022-01-19 15:55:37 +00009#include "NeonBaseWorkload.hpp"
Sadik Armaganbe88a572020-04-30 11:39:37 +010010
11#include <arm_compute/core/Error.h>
12#include <arm_compute/runtime/IFunction.h>
13#include <arm_compute/runtime/MemoryManagerOnDemand.h>
14
15#include <memory>
16
17namespace armnn
18{
19
20arm_compute::Status NeonSoftmaxWorkloadValidate(const TensorInfo& input,
21 const TensorInfo& output,
22 const SoftmaxDescriptor& descriptor);
23
Teresa Charlin588cbdf2022-01-19 15:55:37 +000024class NeonSoftmaxWorkload : public NeonBaseWorkload<SoftmaxQueueDescriptor>
Sadik Armaganbe88a572020-04-30 11:39:37 +010025{
26public:
27 NeonSoftmaxWorkload(const SoftmaxQueueDescriptor& descriptor, const WorkloadInfo& info,
28 std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager);
29 virtual void Execute() const override;
30
31private:
32 std::unique_ptr<arm_compute::IFunction> m_SoftmaxLayer;
33};
34
35} //namespace armnn
36