blob: 47745c658fba624fa78bb08db21101367f7506c8 [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa014fcda012018-03-09 14:13:49 +00004//
5
6#pragma once
7
arovir019e53a352018-08-31 15:26:35 +01008#include <backends/NeonWorkloadUtils.hpp>
telsoa014fcda012018-03-09 14:13:49 +00009
surmeh013537c2c2018-05-18 16:31:43 +010010#include "arm_compute/runtime/MemoryManagerOnDemand.h"
11
12#include <memory>
13
telsoa014fcda012018-03-09 14:13:49 +000014namespace armnn
15{
16
arovir019e53a352018-08-31 15:26:35 +010017class NeonSoftmaxFloatWorkload : public FloatWorkload<SoftmaxQueueDescriptor>
telsoa014fcda012018-03-09 14:13:49 +000018{
19public:
arovir019e53a352018-08-31 15:26:35 +010020 NeonSoftmaxFloatWorkload(const SoftmaxQueueDescriptor& descriptor, const WorkloadInfo& info,
surmeh013537c2c2018-05-18 16:31:43 +010021 std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager);
arovir019e53a352018-08-31 15:26:35 +010022 virtual void Execute() const override;
telsoa014fcda012018-03-09 14:13:49 +000023
24private:
arovir019e53a352018-08-31 15:26:35 +010025 mutable arm_compute::NESoftmaxLayer m_SoftmaxLayer;
telsoa014fcda012018-03-09 14:13:49 +000026};
27
28} //namespace armnn
29