blob: a22f631bb8a43e7b5c3a333283f489fc09b9c101 [file] [log] [blame]
Mike Kellyc9ea45a2020-02-28 18:11:58 +00001//
Mike Kelly7cbe7812023-07-25 17:37:33 +01002// Copyright © 2020-2023 Arm Ltd and Contributors. All rights reserved.
Mike Kellyc9ea45a2020-02-28 18:11:58 +00003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Teresa Charlin588cbdf2022-01-19 15:55:37 +00008#include "ClBaseWorkload.hpp"
Colm Donelan0c479742021-12-10 12:43:54 +00009#include <armnn/backends/WorkloadData.hpp>
Mike Kellyc9ea45a2020-02-28 18:11:58 +000010
11#include <armnn/TypesUtils.hpp>
12#include <arm_compute/runtime/CL/functions/CLPermute.h>
13
14#include <string>
15
16namespace armnn
17{
18
19arm_compute::Status ClTransposeWorkloadValidate(const TensorInfo& input,
20 const TensorInfo& output,
21 const TransposeDescriptor& descriptor);
22
Teresa Charlin588cbdf2022-01-19 15:55:37 +000023class ClTransposeWorkload : public ClBaseWorkload<TransposeQueueDescriptor>
Mike Kellyc9ea45a2020-02-28 18:11:58 +000024{
25public:
Sadik Armagane9444752020-12-02 11:28:58 +000026 ClTransposeWorkload(const TransposeQueueDescriptor& descriptor,
27 const WorkloadInfo& info,
28 const arm_compute::CLCompileContext& clCompileContext);
Mike Kellyc9ea45a2020-02-28 18:11:58 +000029 void Execute() const override;
30
31private:
32 using BaseWorkload<TransposeQueueDescriptor>::m_Data;
33 mutable arm_compute::CLPermute m_PermuteFunction;
34};
35
36} // namespace armnn