ArmNN
 22.08
BatchMatMulTestImpl.cpp File Reference

Go to the source code of this file.

Functions

template<armnn::DataType ArmnnType, typename T , std::size_t NumDims>
LayerTestResult< T, NumDims > BatchMatMulTestImpl (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, armnn::BatchMatMulDescriptor descriptor, const std::vector< T > &inputX, const std::vector< T > &inputY, const std::vector< T > &outputExpected, const armnn::TensorInfo &inputXInfo, const armnn::TensorInfo &inputYInfo, const armnn::TensorInfo &outputInfo)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 2 > BatchMatMul2DSimpleTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 2 > BatchMatMul2DSimpleTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 2 > BatchMatMul2DSimpleTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 2 > BatchMatMul2DSimpleTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 2 > BatchMatMul2DSimpleTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 2 > BatchMatMul2DSimpleTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 2 > BatchMatMul2DSimpleTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 3 > BatchMatMul3DSimpleTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 3 > BatchMatMul3DSimpleTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 3 > BatchMatMul3DSimpleTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 3 > BatchMatMul3DSimpleTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 3 > BatchMatMul3DSimpleTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 3 > BatchMatMul3DSimpleTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 3 > BatchMatMul3DSimpleTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 4 > BatchMatMulNCHWSimpleTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 4 > BatchMatMulNCHWSimpleTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 4 > BatchMatMulNCHWSimpleTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 4 > BatchMatMulNCHWSimpleTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 4 > BatchMatMulNCHWSimpleTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 4 > BatchMatMulNCHWSimpleTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 4 > BatchMatMulNCHWSimpleTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 4 > BatchMatMulNHWCSimpleTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 4 > BatchMatMulNHWCSimpleTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 4 > BatchMatMulNHWCSimpleTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 4 > BatchMatMulNHWCSimpleTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 4 > BatchMatMulNHWCSimpleTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 4 > BatchMatMulNHWCSimpleTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 4 > BatchMatMulNHWCSimpleTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 3 > BatchMatMul3DBatchTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 3 > BatchMatMul3DBatchTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 3 > BatchMatMul3DBatchTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 3 > BatchMatMul3DBatchTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 3 > BatchMatMul3DBatchTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 3 > BatchMatMul3DBatchTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 3 > BatchMatMul3DBatchTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 3 > BatchMatMul3DBroadcastTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 3 > BatchMatMul3DBroadcastTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 3 > BatchMatMul3DBroadcastTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 3 > BatchMatMul3DBroadcastTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 3 > BatchMatMul3DBroadcastTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 3 > BatchMatMul3DBroadcastTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 3 > BatchMatMul3DBroadcastTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 3 > BatchMatMul3D2DBroadcastTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 3 > BatchMatMul3D2DBroadcastTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 3 > BatchMatMul3D2DBroadcastTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 3 > BatchMatMul3D2DBroadcastTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 3 > BatchMatMul3D2DBroadcastTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 3 > BatchMatMul3D2DBroadcastTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 3 > BatchMatMul3D2DBroadcastTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 5 > BatchMatMulNDHWCNHWCTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 5 > BatchMatMulNDHWCNHWCTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 5 > BatchMatMulNDHWCNHWCTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 5 > BatchMatMulNDHWCNHWCTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 5 > BatchMatMulNDHWCNHWCTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 5 > BatchMatMulNDHWCNHWCTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 5 > BatchMatMulNDHWCNHWCTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 2 > BatchMatMul2DTinyTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 2 > BatchMatMul2DTinyTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 2 > BatchMatMul2DTinyTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 2 > BatchMatMul2DTinyTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 2 > BatchMatMul2DTinyTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 2 > BatchMatMul2DTinyTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 2 > BatchMatMul2DTinyTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< T, 3 > BatchMatMul3DNonSquareTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::BFloat16 >, 3 > BatchMatMul3DNonSquareTest< armnn::DataType::BFloat16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float32 >, 3 > BatchMatMul3DNonSquareTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::Float16 >, 3 > BatchMatMul3DNonSquareTest< armnn::DataType::Float16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmS8 >, 3 > BatchMatMul3DNonSquareTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QAsymmU8 >, 3 > BatchMatMul3DNonSquareTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 
template LayerTestResult< armnn::ResolveType< armnn::DataType::QSymmS16 >, 3 > BatchMatMul3DNonSquareTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
 

Function Documentation

◆ BatchMatMul2DSimpleTest()

LayerTestResult<T, 2> BatchMatMul2DSimpleTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 67 of file BatchMatMulTestImpl.cpp.

References armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

71 {
72  auto descriptor = armnn::BatchMatMulDescriptor(); // Arbitrary layout with no transpose/adjointing
73 
74  float qScale = 0.0f;
75  int32_t qOffset = 0;
76 
77  switch(ArmnnType)
78  {
82  qScale = 1.0f;
83  break;
84  default:
85  break;
86  }
87 
88  armnn::TensorInfo inputXInfo({2,2}, ArmnnType, qScale, qOffset);
89  armnn::TensorInfo inputYInfo({2,2}, ArmnnType, qScale, qOffset);
90  armnn::TensorInfo outputInfo({2,2}, ArmnnType, qScale, qOffset);
91 
92  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
93  1, 2,
94  3, 4
95  }, qScale, qOffset);
96 
97  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
98  5, 6,
99  7, 8
100  }, qScale, qOffset);
101 
102  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
103  19, 22,
104  43, 50
105  }, qScale, qOffset);
106 
107  return BatchMatMulTestImpl<ArmnnType, T, 2>(workloadFactory,
108  memoryManager,
109  tensorHandleFactory,
110  descriptor,
111  inputX,
112  inputY,
113  outputExpected,
114  inputXInfo,
115  inputYInfo,
116  outputInfo);
117 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMul2DSimpleTest< armnn::DataType::BFloat16 >()

◆ BatchMatMul2DSimpleTest< armnn::DataType::Float16 >()

◆ BatchMatMul2DSimpleTest< armnn::DataType::Float32 >()

◆ BatchMatMul2DSimpleTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMul2DSimpleTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMul2DSimpleTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMul2DTinyTest()

LayerTestResult<T, 2> BatchMatMul2DTinyTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 815 of file BatchMatMulTestImpl.cpp.

References armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

819 {
820  auto descriptor = armnn::BatchMatMulDescriptor(); // Arbitrary layout with no transpose/adjointing
821 
822  float qScale = 0.0f;
823  int32_t qOffset = 0;
824 
825  switch(ArmnnType)
826  {
830  qScale = 1.0f;
831  break;
832  default:
833  break;
834  }
835 
836  armnn::TensorInfo inputXInfo({1,1}, ArmnnType, qScale, qOffset);
837  armnn::TensorInfo inputYInfo({1,1}, ArmnnType, qScale, qOffset);
838  armnn::TensorInfo outputInfo({1,1}, ArmnnType, qScale, qOffset);
839 
840  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
841  3
842  }, qScale, qOffset);
843 
844  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
845  5
846  }, qScale, qOffset);
847 
848  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
849  15
850  }, qScale, qOffset);
851 
852  return BatchMatMulTestImpl<ArmnnType, T, 2>(workloadFactory,
853  memoryManager,
854  tensorHandleFactory,
855  descriptor,
856  inputX,
857  inputY,
858  outputExpected,
859  inputXInfo,
860  inputYInfo,
861  outputInfo);
862 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMul2DTinyTest< armnn::DataType::BFloat16 >()

◆ BatchMatMul2DTinyTest< armnn::DataType::Float16 >()

◆ BatchMatMul2DTinyTest< armnn::DataType::Float32 >()

◆ BatchMatMul2DTinyTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMul2DTinyTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMul2DTinyTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMul3D2DBroadcastTest()

LayerTestResult<T, 3> BatchMatMul3D2DBroadcastTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 620 of file BatchMatMulTestImpl.cpp.

References armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

624 {
625  auto descriptor = armnn::BatchMatMulDescriptor(); // Arbitrary layout with no transpose/adjointing
626 
627  float qScale = 0.0f;
628  int32_t qOffset = 0;
629 
630  switch(ArmnnType)
631  {
635  qScale = 1.0f;
636  break;
637  default:
638  break;
639  }
640 
641  armnn::TensorInfo inputXInfo({2,2,2}, ArmnnType, qScale, qOffset);
642  armnn::TensorInfo inputYInfo({2,2}, ArmnnType, qScale, qOffset);
643  armnn::TensorInfo outputInfo({2,2,2}, ArmnnType, qScale, qOffset);
644 
645  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
646  1, 2,
647  3, 4,
648 
649  9, 10,
650  11, 12
651  }, qScale, qOffset);
652 
653  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
654  13, 14,
655  15, 16
656  }, qScale, qOffset);
657 
658  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
659  43, 46,
660  99, 106,
661 
662  267, 286,
663  323, 346
664  },qScale, qOffset);
665 
666  return BatchMatMulTestImpl<ArmnnType, T, 3>(workloadFactory,
667  memoryManager,
668  tensorHandleFactory,
669  descriptor,
670  inputX,
671  inputY,
672  outputExpected,
673  inputXInfo,
674  inputYInfo,
675  outputInfo);
676 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMul3D2DBroadcastTest< armnn::DataType::BFloat16 >()

◆ BatchMatMul3D2DBroadcastTest< armnn::DataType::Float16 >()

◆ BatchMatMul3D2DBroadcastTest< armnn::DataType::Float32 >()

◆ BatchMatMul3D2DBroadcastTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMul3D2DBroadcastTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMul3D2DBroadcastTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMul3DBatchTest()

LayerTestResult<T, 3> BatchMatMul3DBatchTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 427 of file BatchMatMulTestImpl.cpp.

References armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

431 {
432  auto descriptor = armnn::BatchMatMulDescriptor(); // Arbitrary layout with no transpose/adjointing
433 
434  float qScale = 0.0f;
435  int32_t qOffset = 0;
436 
437  switch(ArmnnType)
438  {
442  qScale = 1.0f;
443  break;
444  default:
445  break;
446  }
447 
448  armnn::TensorInfo inputXInfo({2,2,2}, ArmnnType, qScale, qOffset);
449  armnn::TensorInfo inputYInfo({2,2,2}, ArmnnType, qScale, qOffset);
450  armnn::TensorInfo outputInfo({2,2,2}, ArmnnType, qScale, qOffset);
451 
452  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
453  1, 2,
454  3, 4,
455 
456  9, 10,
457  11, 12
458  }, qScale, qOffset);
459 
460  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
461  5, 6,
462  7, 8,
463 
464  13, 14,
465  15, 16
466  }, qScale, qOffset);
467 
468  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
469  19, 22,
470  43, 50,
471 
472  267, 286,
473  323, 346
474  },qScale, qOffset);
475 
476  return BatchMatMulTestImpl<ArmnnType, T, 3>(workloadFactory,
477  memoryManager,
478  tensorHandleFactory,
479  descriptor,
480  inputX,
481  inputY,
482  outputExpected,
483  inputXInfo,
484  inputYInfo,
485  outputInfo);
486 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMul3DBatchTest< armnn::DataType::BFloat16 >()

◆ BatchMatMul3DBatchTest< armnn::DataType::Float16 >()

◆ BatchMatMul3DBatchTest< armnn::DataType::Float32 >()

◆ BatchMatMul3DBatchTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMul3DBatchTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMul3DBatchTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMul3DBroadcastTest()

LayerTestResult<T, 3> BatchMatMul3DBroadcastTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 525 of file BatchMatMulTestImpl.cpp.

References armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

529 {
530  auto descriptor = armnn::BatchMatMulDescriptor(); // Arbitrary layout with no transpose/adjointing
531 
532  float qScale = 0.0f;
533  int32_t qOffset = 0;
534 
535  switch(ArmnnType)
536  {
540  qScale = 1.0f;
541  break;
542  default:
543  break;
544  }
545 
546  armnn::TensorInfo inputXInfo({2,2,2}, ArmnnType, qScale, qOffset);
547  armnn::TensorInfo inputYInfo({1,2,2}, ArmnnType, qScale, qOffset);
548  armnn::TensorInfo outputInfo({2,2,2}, ArmnnType, qScale, qOffset);
549 
550  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
551  1, 2,
552  3, 4,
553 
554  9, 10,
555  11, 12
556  }, qScale, qOffset);
557 
558  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
559  13, 14,
560  15, 16
561  }, qScale, qOffset);
562 
563  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
564  43, 46,
565  99, 106,
566 
567  267, 286,
568  323, 346
569  },qScale, qOffset);
570 
571  return BatchMatMulTestImpl<ArmnnType, T, 3>(workloadFactory,
572  memoryManager,
573  tensorHandleFactory,
574  descriptor,
575  inputX,
576  inputY,
577  outputExpected,
578  inputXInfo,
579  inputYInfo,
580  outputInfo);
581 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMul3DBroadcastTest< armnn::DataType::BFloat16 >()

◆ BatchMatMul3DBroadcastTest< armnn::DataType::Float16 >()

◆ BatchMatMul3DBroadcastTest< armnn::DataType::Float32 >()

◆ BatchMatMul3DBroadcastTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMul3DBroadcastTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMul3DBroadcastTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMul3DNonSquareTest()

LayerTestResult<T, 3> BatchMatMul3DNonSquareTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 901 of file BatchMatMulTestImpl.cpp.

References armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

905 {
906  auto descriptor = armnn::BatchMatMulDescriptor(); // Arbitrary layout with no transpose/adjointing
907 
908  float qScale = 0.0f;
909  int32_t qOffset = 0;
910 
911  switch(ArmnnType)
912  {
916  qScale = 1.0f;
917  break;
918  default:
919  break;
920  }
921 
922  armnn::TensorInfo inputXInfo({2,5,3}, ArmnnType, qScale, qOffset);
923  armnn::TensorInfo inputYInfo({2,3,4}, ArmnnType, qScale, qOffset);
924  armnn::TensorInfo outputInfo({2,5,4}, ArmnnType, qScale, qOffset);
925 
926  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
927  8, 8, 4,
928  6, 1, 3,
929  8, 8, 3,
930  8, 9, 8,
931  5, 4, 4,
932 
933  1, 8, 5,
934  7, 1, 1,
935  8, 7, 9,
936  3, 2, 7,
937  8, 5, 3
938  }, qScale, qOffset);
939 
940  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
941  6, 2, 3, 2,
942  6, 2, 2, 8,
943  3, 7, 8, 1,
944 
945  7, 2, 9, 5,
946  2, 3, 1, 3,
947  2, 7, 7, 5
948  }, qScale, qOffset);
949 
950  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
951  108, 60, 72, 84,
952  51, 35, 44, 23,
953  105, 53, 64, 83,
954  126, 90, 106, 96,
955  66, 46, 55, 46,
956 
957  33, 61, 52, 54,
958  53, 24, 71, 43,
959  88, 100, 142, 106,
960  39, 61, 78, 56,
961  72, 52, 98, 70
962  },qScale, qOffset);
963 
964  return BatchMatMulTestImpl<ArmnnType, T, 3>(workloadFactory,
965  memoryManager,
966  tensorHandleFactory,
967  descriptor,
968  inputX,
969  inputY,
970  outputExpected,
971  inputXInfo,
972  inputYInfo,
973  outputInfo);
974 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMul3DNonSquareTest< armnn::DataType::BFloat16 >()

◆ BatchMatMul3DNonSquareTest< armnn::DataType::Float16 >()

◆ BatchMatMul3DNonSquareTest< armnn::DataType::Float32 >()

◆ BatchMatMul3DNonSquareTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMul3DNonSquareTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMul3DNonSquareTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMul3DSimpleTest()

LayerTestResult<T, 3> BatchMatMul3DSimpleTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 156 of file BatchMatMulTestImpl.cpp.

References armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

160 {
161  auto descriptor = armnn::BatchMatMulDescriptor(); // Arbitrary layout with no transpose/adjointing
162 
163  float qScale = 0.0f;
164  int32_t qOffset = 0;
165 
166  switch(ArmnnType)
167  {
171  qScale = 1.0f;
172  break;
173  default:
174  break;
175  }
176 
177  armnn::TensorInfo inputXInfo({1,2,2}, ArmnnType, qScale, qOffset);
178  armnn::TensorInfo inputYInfo({1,2,2}, ArmnnType, qScale, qOffset);
179  armnn::TensorInfo outputInfo({1,2,2}, ArmnnType, qScale, qOffset);
180 
181  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
182  1, 2,
183  3, 4
184  }, qScale, qOffset);
185 
186  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
187  5, 6,
188  7, 8
189  }, qScale, qOffset);
190 
191  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
192  19, 22,
193  43, 50
194  },qScale, qOffset);
195 
196  return BatchMatMulTestImpl<ArmnnType, T, 3>(workloadFactory,
197  memoryManager,
198  tensorHandleFactory,
199  descriptor,
200  inputX,
201  inputY,
202  outputExpected,
203  inputXInfo,
204  inputYInfo,
205  outputInfo);
206 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMul3DSimpleTest< armnn::DataType::BFloat16 >()

◆ BatchMatMul3DSimpleTest< armnn::DataType::Float16 >()

◆ BatchMatMul3DSimpleTest< armnn::DataType::Float32 >()

◆ BatchMatMul3DSimpleTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMul3DSimpleTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMul3DSimpleTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMulNCHWSimpleTest()

LayerTestResult<T, 4> BatchMatMulNCHWSimpleTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 245 of file BatchMatMulTestImpl.cpp.

References armnn::NCHW, armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

249 {
250  auto descriptor = armnn::BatchMatMulDescriptor(
253 
254  float qScale = 0.0f;
255  int32_t qOffset = 0;
256 
257  switch(ArmnnType)
258  {
262  qScale = 1.0f;
263  break;
264  default:
265  break;
266  }
267 
268  armnn::TensorInfo inputXInfo({1,1,2,2}, ArmnnType, qScale, qOffset);
269  armnn::TensorInfo inputYInfo({1,1,2,2}, ArmnnType, qScale, qOffset);
270  armnn::TensorInfo outputInfo({1,1,2,2}, ArmnnType, qScale, qOffset);
271 
272  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
273  1, 2,
274  3, 4
275  }, qScale, qOffset);
276 
277  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
278  5, 6,
279  7, 8
280  }, qScale, qOffset);
281 
282  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
283  19, 22,
284  43, 50
285  },qScale, qOffset);
286 
287  return BatchMatMulTestImpl<ArmnnType, T, 4>(workloadFactory,
288  memoryManager,
289  tensorHandleFactory,
290  descriptor,
291  inputX,
292  inputY,
293  outputExpected,
294  inputXInfo,
295  inputYInfo,
296  outputInfo);
297 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMulNCHWSimpleTest< armnn::DataType::BFloat16 >()

◆ BatchMatMulNCHWSimpleTest< armnn::DataType::Float16 >()

◆ BatchMatMulNCHWSimpleTest< armnn::DataType::Float32 >()

◆ BatchMatMulNCHWSimpleTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMulNCHWSimpleTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMulNCHWSimpleTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMulNDHWCNHWCTest()

LayerTestResult<T, 5> BatchMatMulNDHWCNHWCTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 715 of file BatchMatMulTestImpl.cpp.

References armnn::NDHWC, armnn::NHWC, armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

719 {
720  auto descriptor = armnn::BatchMatMulDescriptor(
723 
724  float qScale = 0.0f;
725  int32_t qOffset = 0;
726 
727  switch(ArmnnType)
728  {
732  qScale = 1.0f;
733  break;
734  default:
735  break;
736  }
737 
738  armnn::TensorInfo inputXInfo({1,1,2,2,2}, ArmnnType, qScale, qOffset);
739  armnn::TensorInfo inputYInfo({1,2,2,2}, ArmnnType, qScale, qOffset);
740  armnn::TensorInfo outputInfo({1,1,2,2,2}, ArmnnType, qScale, qOffset);
741 
742  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
743  1, 20,
744  3, 22,
745 
746  2, 21,
747  4, 23
748  }, qScale, qOffset);
749 
750  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
751  5, 24,
752  7, 26,
753 
754  6, 25,
755  8, 27
756  }, qScale, qOffset);
757 
758  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
759  23, 1030,
760  31, 1114,
761 
762  34, 1079,
763  46, 1167
764  },qScale, qOffset);
765 
766  return BatchMatMulTestImpl<ArmnnType, T, 5>(workloadFactory,
767  memoryManager,
768  tensorHandleFactory,
769  descriptor,
770  inputX,
771  inputY,
772  outputExpected,
773  inputXInfo,
774  inputYInfo,
775  outputInfo);
776 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMulNDHWCNHWCTest< armnn::DataType::BFloat16 >()

◆ BatchMatMulNDHWCNHWCTest< armnn::DataType::Float16 >()

◆ BatchMatMulNDHWCNHWCTest< armnn::DataType::Float32 >()

◆ BatchMatMulNDHWCNHWCTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMulNDHWCNHWCTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMulNDHWCNHWCTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMulNHWCSimpleTest()

LayerTestResult<T, 4> BatchMatMulNHWCSimpleTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory 
)

Definition at line 336 of file BatchMatMulTestImpl.cpp.

References armnn::NHWC, armnn::QAsymmS8, armnn::QAsymmU8, and armnn::QSymmS16.

340 {
341  auto descriptor = armnn::BatchMatMulDescriptor(
344 
345  float qScale = 0.0f;
346  int32_t qOffset = 0;
347 
348  switch(ArmnnType)
349  {
353  qScale = 1.0f;
354  break;
355  default:
356  break;
357  }
358 
359  armnn::TensorInfo inputXInfo({1,2,2,1}, ArmnnType, qScale, qOffset);
360  armnn::TensorInfo inputYInfo({1,2,2,1}, ArmnnType, qScale, qOffset);
361  armnn::TensorInfo outputInfo({1,2,2,1}, ArmnnType, qScale, qOffset);
362 
363  std::vector<T> inputX = armnnUtils::QuantizedVector<T>({
364  1, 2,
365  3, 4
366  }, qScale, qOffset);
367 
368  std::vector<T> inputY = armnnUtils::QuantizedVector<T>({
369  5, 6,
370  7, 8
371  }, qScale, qOffset);
372 
373  std::vector<T> outputExpected = armnnUtils::QuantizedVector<T>({
374  19, 22,
375  43, 50
376  },qScale, qOffset);
377 
378  return BatchMatMulTestImpl<ArmnnType, T, 4>(workloadFactory,
379  memoryManager,
380  tensorHandleFactory,
381  descriptor,
382  inputX,
383  inputY,
384  outputExpected,
385  inputXInfo,
386  inputYInfo,
387  outputInfo);
388 }
A BatchMatMulDescriptor for the BatchMatMul operator.

◆ BatchMatMulNHWCSimpleTest< armnn::DataType::BFloat16 >()

◆ BatchMatMulNHWCSimpleTest< armnn::DataType::Float16 >()

◆ BatchMatMulNHWCSimpleTest< armnn::DataType::Float32 >()

◆ BatchMatMulNHWCSimpleTest< armnn::DataType::QAsymmS8 >()

◆ BatchMatMulNHWCSimpleTest< armnn::DataType::QAsymmU8 >()

◆ BatchMatMulNHWCSimpleTest< armnn::DataType::QSymmS16 >()

◆ BatchMatMulTestImpl()

LayerTestResult<T, NumDims> BatchMatMulTestImpl ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager,
const armnn::ITensorHandleFactory tensorHandleFactory,
armnn::BatchMatMulDescriptor  descriptor,
const std::vector< T > &  inputX,
const std::vector< T > &  inputY,
const std::vector< T > &  outputExpected,
const armnn::TensorInfo inputXInfo,
const armnn::TensorInfo inputYInfo,
const armnn::TensorInfo outputInfo 
)

Definition at line 20 of file BatchMatMulTestImpl.cpp.

References armnn::BatchMatMul, CopyDataFromITensorHandle(), CopyDataToITensorHandle(), ITensorHandleFactory::CreateTensorHandle(), IWorkloadFactory::CreateWorkload(), TensorInfo::GetNumElements(), TensorInfo::GetShape(), and QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters.

31 {
32  std::vector<T> outputActual(outputInfo.GetNumElements());
33 
34  std::unique_ptr<armnn::ITensorHandle> inputXHandle = tensorHandleFactory.CreateTensorHandle(inputXInfo);
35  std::unique_ptr<armnn::ITensorHandle> inputYHandle = tensorHandleFactory.CreateTensorHandle(inputYInfo);
36  std::unique_ptr<armnn::ITensorHandle> outputHandle = tensorHandleFactory.CreateTensorHandle(outputInfo);
37 
38  armnn::BatchMatMulQueueDescriptor queueDescriptor;
39  queueDescriptor.m_Parameters = descriptor;
40  armnn::WorkloadInfo workloadInfo;
41 
42  AddInputToWorkload(queueDescriptor, workloadInfo, inputXInfo, inputXHandle.get());
43  AddInputToWorkload(queueDescriptor, workloadInfo, inputYInfo, inputYHandle.get());
44  AddOutputToWorkload(queueDescriptor, workloadInfo, outputInfo, outputHandle.get());
45 
46  auto workload = workloadFactory.CreateWorkload(armnn::LayerType::BatchMatMul, queueDescriptor, workloadInfo);
47 
48  inputXHandle->Allocate();
49  inputYHandle->Allocate();
50  outputHandle->Allocate();
51 
52  CopyDataToITensorHandle(inputXHandle.get(), inputX.data());
53  CopyDataToITensorHandle(inputYHandle.get(), inputY.data());
54 
55  workload->PostAllocationConfigure();
56  ExecuteWorkload(*workload, memoryManager);
57 
58  CopyDataFromITensorHandle(outputActual.data(), outputHandle.get());
59 
60  return LayerTestResult<T, NumDims>(outputActual,
61  outputExpected,
62  outputHandle->GetShape(),
63  outputInfo.GetShape());
64 }
const TensorShape & GetShape() const
Definition: Tensor.hpp:191
void CopyDataFromITensorHandle(void *mem, const armnn::ITensorHandle *tensorHandle)
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
Contains information about TensorInfos of a layer.
virtual std::unique_ptr< IWorkload > CreateWorkload(LayerType type, const QueueDescriptor &descriptor, const WorkloadInfo &info) const
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo) const =0
unsigned int GetNumElements() const
Definition: Tensor.hpp:196