blob: 1ef9a144073e24ce38210a0a3872008cfb5d3c76 [file] [log] [blame]
Keith Davis69e653f2020-07-02 11:49:26 +01001//
2// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3// 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"
Keith Davis69e653f2020-07-02 11:49:26 +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 NeonLogSoftmaxWorkloadValidate(const TensorInfo& input,
21 const TensorInfo& output,
22 const LogSoftmaxDescriptor& descriptor);
23
Teresa Charlin588cbdf2022-01-19 15:55:37 +000024class NeonLogSoftmaxWorkload : public NeonBaseWorkload<LogSoftmaxQueueDescriptor>
Keith Davis69e653f2020-07-02 11:49:26 +010025{
26public:
27 NeonLogSoftmaxWorkload(const LogSoftmaxQueueDescriptor& 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_LogSoftmaxLayer;
33};
34
35} //namespace armnn
36