1 // 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> 9 #include "NeonBaseWorkload.hpp" 10 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 17 namespace armnn 18 { 19 20 arm_compute::Status NeonSoftmaxWorkloadValidate(const TensorInfo& input, 21 const TensorInfo& output, 22 const SoftmaxDescriptor& descriptor); 23 24 class NeonSoftmaxWorkload : public NeonBaseWorkload<SoftmaxQueueDescriptor> 25 { 26 public: 27 NeonSoftmaxWorkload(const SoftmaxQueueDescriptor& descriptor, const WorkloadInfo& info, 28 std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager); 29 virtual void Execute() const override; 30 31 private: 32 std::unique_ptr<arm_compute::IFunction> m_SoftmaxLayer; 33 }; 34 35 } //namespace armnn 36 37