blob: aab7b705e3c3320df17abe28d269a1fc2e9c0148 [file] [log] [blame]
Mike Kellyc9ea45a2020-02-28 18:11:58 +00001//
2// Copyright © 2020 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <backendsCommon/Workload.hpp>
9#include <backendsCommon/WorkloadData.hpp>
10#include <neon/workloads/NeonWorkloadUtils.hpp>
11
12#include <armnn/TypesUtils.hpp>
13#include <arm_compute/runtime/NEON/functions/NEPermute.h>
14
15#include <string>
16
17namespace armnn
18{
19arm_compute::Status NeonTransposeWorkloadValidate(const TensorInfo& input, const TensorInfo& output,
20 const TransposeDescriptor& descriptor);
21
22class NeonTransposeWorkload : public BaseWorkload<TransposeQueueDescriptor>
23{
24public:
25 static const std::string& GetName()
26 {
27 static const std::string name = std::string("NeonTransposeWorkload");
28 return name;
29 }
30
31 NeonTransposeWorkload(const TransposeQueueDescriptor& descriptor, const WorkloadInfo& info);
32 void Execute() const override;
33
34private:
35 using BaseWorkload<TransposeQueueDescriptor>::m_Data;
36 mutable arm_compute::NEPermute m_PermuteFunction;
37};
38
39} // namespace armnn