blob: 167a547542bb3b760edeed46c94ecea902219229 [file] [log] [blame]
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "LayerTestResult.hpp"
9
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000010#include <BFloat16.hpp>
Matthew Jackson9bff1442019-09-12 09:08:23 +010011#include <Half.hpp>
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000012#include <ResolveType.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010013
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000014#include <armnn/backends/IBackendInternal.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010015#include <backendsCommon/WorkloadFactory.hpp>
16
17template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
18LayerTestResult<T, 3> ConcatDifferentInputOutputQParamTest(
19 armnn::IWorkloadFactory& workloadFactory,
20 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21 bool useSubtensor);
22
23LayerTestResult<float, 3> ConcatTest(
24 armnn::IWorkloadFactory& workloadFactory,
25 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
26
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000027LayerTestResult<armnn::BFloat16, 3> ConcatBFloat16Test(
28 armnn::IWorkloadFactory& workloadFactory,
29 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
30
Matthew Jackson9bff1442019-09-12 09:08:23 +010031LayerTestResult<armnn::Half, 3> ConcatFloat16Test(
32 armnn::IWorkloadFactory& workloadFactory,
33 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
34
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010035LayerTestResult<uint8_t, 3> ConcatUint8Test(
36 armnn::IWorkloadFactory& workloadFactory,
37 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
38
39LayerTestResult<uint16_t, 3> ConcatUint16Test(
40 armnn::IWorkloadFactory& workloadFactory,
41 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
42
43LayerTestResult<uint8_t, 3> ConcatUint8DifferentQParamsTest(
44 armnn::IWorkloadFactory& workloadFactory,
45 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
46
47LayerTestResult<float, 1> Concat1dTest(
48 armnn::IWorkloadFactory& workloadFactory,
49 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
50
51LayerTestResult<float, 2> Concat2dDim0Test(
52 armnn::IWorkloadFactory& workloadFactory,
53 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
54
55LayerTestResult<float, 2> Concat2dDim1Test(
56 armnn::IWorkloadFactory& workloadFactory,
57 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
58
59LayerTestResult<float, 2> Concat2dDim0DiffInputDimsTest(
60 armnn::IWorkloadFactory& workloadFactory,
61 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
62
63LayerTestResult<float, 2> Concat2dDim1DiffInputDimsTest(
64 armnn::IWorkloadFactory& workloadFactory,
65 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
66
67LayerTestResult<float, 3> Concat3dDim0Test(
68 armnn::IWorkloadFactory& workloadFactory,
69 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
70
71LayerTestResult<float, 3> Concat3dDim1Test(
72 armnn::IWorkloadFactory& workloadFactory,
73 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
74
75LayerTestResult<float, 3> Concat3dDim2Test(
76 armnn::IWorkloadFactory& workloadFactory,
77 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
78 bool useSubtensor);
79
80LayerTestResult<float, 3> Concat3dDim0DiffInputDimsTest(
81 armnn::IWorkloadFactory& workloadFactory,
82 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
83
84LayerTestResult<float, 3> Concat3dDim1DiffInputDimsTest(
85 armnn::IWorkloadFactory& workloadFactory,
86 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
87
88LayerTestResult<float, 3> Concat3dDim2DiffInputDimsTest(
89 armnn::IWorkloadFactory& workloadFactory,
90 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
91 bool useSubtensor);
92
93LayerTestResult<float, 4> Concat4dDim0Test(
94 armnn::IWorkloadFactory& workloadFactory,
95 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
96
97LayerTestResult<float, 4> Concat4dDim1Test(
98 armnn::IWorkloadFactory& workloadFactory,
99 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
100
101LayerTestResult<float, 4> Concat4dDim2Test(
102 armnn::IWorkloadFactory& workloadFactory,
103 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
104
105LayerTestResult<float, 4> Concat4dDim3Test(
106 armnn::IWorkloadFactory& workloadFactory,
107 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
108 bool useSubtensor);
109
110LayerTestResult<float, 4> Concat4dDiffShapeDim0Test(
111 armnn::IWorkloadFactory& workloadFactory,
112 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
113
114LayerTestResult<float, 4> Concat4dDiffShapeDim1Test(
115 armnn::IWorkloadFactory& workloadFactory,
116 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
117
118LayerTestResult<float, 4> Concat4dDiffShapeDim2Test(
119 armnn::IWorkloadFactory& workloadFactory,
120 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
121
122LayerTestResult<float, 4> Concat4dDiffShapeDim3Test(
123 armnn::IWorkloadFactory& workloadFactory,
124 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
125 bool useSubtensor);
126
127LayerTestResult<uint8_t, 4> Concat4dDim0Uint8Test(
128 armnn::IWorkloadFactory& workloadFactory,
129 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
130
131LayerTestResult<uint8_t, 4> Concat4dDim1Uint8Test(
132 armnn::IWorkloadFactory& workloadFactory,
133 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
134
135LayerTestResult<uint8_t, 4> Concat4dDim2Uint8Test(
136 armnn::IWorkloadFactory& workloadFactory,
137 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
138
139LayerTestResult<uint8_t, 4> Concat4dDim3Uint8Test(
140 armnn::IWorkloadFactory& workloadFactory,
141 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
142 bool useSubtensor);
143
144LayerTestResult<uint8_t, 4> Concat4dDiffShapeDim0Uint8Test(
145 armnn::IWorkloadFactory& workloadFactory,
146 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
147
148LayerTestResult<uint8_t, 4> Concat4dDiffShapeDim1Uint8Test(
149 armnn::IWorkloadFactory& workloadFactory,
150 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
151
152LayerTestResult<uint8_t, 4> Concat4dDiffShapeDim2Uint8Test(
153 armnn::IWorkloadFactory& workloadFactory,
154 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
155
156LayerTestResult<uint8_t, 4> Concat4dDiffShapeDim3Uint8Test(
157 armnn::IWorkloadFactory& workloadFactory,
158 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
159 bool useSubtensor);
160
161LayerTestResult<uint8_t, 1> Concat1dUint8Test(
162 armnn::IWorkloadFactory& workloadFactory,
163 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
164
165LayerTestResult<uint8_t, 2> Concat2dDim0Uint8Test(
166 armnn::IWorkloadFactory& workloadFactory,
167 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
168
169LayerTestResult<uint8_t, 2> Concat2dDim1Uint8Test(
170 armnn::IWorkloadFactory& workloadFactory,
171 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
172
173LayerTestResult<uint8_t, 2> Concat2dDim0DiffInputDimsUint8Test(
174 armnn::IWorkloadFactory& workloadFactory,
175 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
176
177LayerTestResult<uint8_t, 2> Concat2dDim1DiffInputDimsUint8Test(
178 armnn::IWorkloadFactory& workloadFactory,
179 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
180
181LayerTestResult<uint8_t, 3> Concat3dDim0Uint8Test(
182 armnn::IWorkloadFactory& workloadFactory,
183 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
184
185LayerTestResult<uint8_t, 3> Concat3dDim1Uint8Test(
186 armnn::IWorkloadFactory& workloadFactory,
187 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
188
189LayerTestResult<uint8_t, 3> Concat3dDim2Uint8Test(
190 armnn::IWorkloadFactory& workloadFactory,
191 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
192 bool useSubtensor);
193
194LayerTestResult<uint8_t, 3> Concat3dDim0DiffInputDimsUint8Test(
195 armnn::IWorkloadFactory& workloadFactory,
196 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
197
198LayerTestResult<uint8_t, 3> Concat3dDim1DiffInputDimsUint8Test(
199 armnn::IWorkloadFactory& workloadFactory,
200 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
201
202LayerTestResult<uint8_t, 3> Concat3dDim2DiffInputDimsUint8Test(
203 armnn::IWorkloadFactory& workloadFactory,
204 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
205 bool useSubtensor);
206
207LayerTestResult<uint8_t, 3> ConcatDifferentInputOutputQParamUint8Test(
208 armnn::IWorkloadFactory& workloadFactory,
209 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
210 bool useSubtensor);
211
212LayerTestResult<int16_t, 3> ConcatDifferentInputOutputQParamInt16Test(
213 armnn::IWorkloadFactory& workloadFactory,
214 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
215 bool useSubtensor);