blob: 7add48df7f6c4c5b68d1edf6cfa5a14fda5d73e5 [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
Mike Kelly7cbe7812023-07-25 17:37:33 +01002// Copyright © 2017-2018,2021-2023 Arm Ltd and Contributors. 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
Teresa Charlin588cbdf2022-01-19 15:55:37 +00008#include "NeonBaseWorkload.hpp"
Colm Donelan0c479742021-12-10 12:43:54 +00009#include <armnn/backends/WorkloadData.hpp>
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +000010#include <neon/workloads/NeonWorkloadUtils.hpp>
telsoa014fcda012018-03-09 14:13:49 +000011
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 NeonPermuteWorkloadValidate(const TensorInfo& input, const TensorInfo& output,
20 const PermuteDescriptor& descriptor);
21
Teresa Charlin588cbdf2022-01-19 15:55:37 +000022class NeonPermuteWorkload : public NeonBaseWorkload<PermuteQueueDescriptor>
telsoa014fcda012018-03-09 14:13:49 +000023{
24public:
telsoa014fcda012018-03-09 14:13:49 +000025 NeonPermuteWorkload(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info);
26 void Execute() const override;
27
28private:
Nattapat Chaimanowong1d320062018-10-12 14:14:44 +010029 using BaseWorkload<PermuteQueueDescriptor>::m_Data;
telsoa014fcda012018-03-09 14:13:49 +000030 mutable arm_compute::NEPermute m_PermuteFunction;
31};
32
telsoa01c577f2c2018-08-31 09:22:23 +010033} // namespace armnn