blob: 50caa3e9ecb5fed11a07a6f4f5010560ba366c86 [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
David Beckac42efd2018-09-26 17:41:13 +01008#include <backends/Workload.hpp>
telsoa014fcda012018-03-09 14:13:49 +00009
10#include <armnn/TypesUtils.hpp>
11
12namespace armnn
13{
14
15template <armnn::DataType DataType>
16class RefPermuteWorkload : public TypedWorkload<PermuteQueueDescriptor, DataType>
17{
18public:
19 static const std::string& GetName()
20 {
21 static const std::string name = std::string("RefPermute") + GetDataTypeName(DataType) + "Workload";
22 return name;
23 }
24
25 using TypedWorkload<PermuteQueueDescriptor, DataType>::m_Data;
26 using TypedWorkload<PermuteQueueDescriptor, DataType>::TypedWorkload;
27 void Execute() const override;
28};
29
arovir01616e7752018-10-01 17:08:59 +010030using RefPermuteFloat16Workload = RefPermuteWorkload<DataType::Float16>;
telsoa014fcda012018-03-09 14:13:49 +000031using RefPermuteFloat32Workload = RefPermuteWorkload<DataType::Float32>;
32using RefPermuteUint8Workload = RefPermuteWorkload<DataType::QuantisedAsymm8>;
33
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010034} //namespace armnn