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