• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
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 
10 #include <armnn/TypesUtils.hpp>
11 
12 namespace armnn
13 {
14 
15 template <armnn::DataType DataType>
16 class RefTransposeWorkload : public TypedWorkload<TransposeQueueDescriptor, DataType>
17 {
18 public:
GetName()19     static const std::string& GetName()
20     {
21         static const std::string name = std::string("RefTranspose") + GetDataTypeName(DataType) + "Workload";
22         return name;
23     }
24 
25     using TypedWorkload<TransposeQueueDescriptor, DataType>::m_Data;
26     using TypedWorkload<TransposeQueueDescriptor, DataType>::TypedWorkload;
27     void Execute() const override;
28 };
29 
30 using RefTransposeBFloat16Workload = RefTransposeWorkload<DataType::BFloat16>;
31 using RefTransposeFloat16Workload = RefTransposeWorkload<DataType::Float16>;
32 using RefTransposeFloat32Workload = RefTransposeWorkload<DataType::Float32>;
33 using RefTransposeQAsymmS8Workload = RefTransposeWorkload<DataType::QAsymmS8>;
34 using RefTransposeQAsymm8Workload = RefTransposeWorkload<DataType::QAsymmU8>;
35 using RefTransposeQSymm16Workload = RefTransposeWorkload<DataType::QSymmS16>;
36 
37 } //namespace armnn