ArmNN
 22.05.01
ClEndToEndTests.cpp File Reference

Go to the source code of this file.

Functions

 TEST_SUITE ("ClEndToEnd")
 

Function Documentation

◆ TEST_SUITE()

TEST_SUITE ( "ClEndToEnd"  )

Definition at line 26 of file ClEndToEndTests.cpp.

References armnn::GpuAcc, InstanceNormalizationNchwEndToEndTest1(), InstanceNormalizationNchwEndToEndTest2(), InstanceNormalizationNhwcEndToEndTest1(), InstanceNormalizationNhwcEndToEndTest2(), armnn::NCHW, armnn::NHWC, QLstmEndToEnd(), QuantizedLstmEndToEnd(), SpaceToDepthNchwEndToEndTest1(), SpaceToDepthNchwEndToEndTest2(), SpaceToDepthNhwcEndToEndTest1(), and SpaceToDepthNhwcEndToEndTest2().

27 {
28 std::vector<armnn::BackendId> clDefaultBackends = {armnn::Compute::GpuAcc};
29 
30 // Abs
31 TEST_CASE("ClAbsEndToEndTestFloat32")
32 {
33  std::vector<float> expectedOutput =
34  {
35  1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f,
36  3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f
37  };
38 
39  ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(clDefaultBackends,
40  UnaryOperation::Abs,
41  expectedOutput);
42 }
43 
44 // Constant
45 TEST_CASE("ConstantUsage_Cl_Float32")
46 {
47  ConstantUsageFloat32Test(clDefaultBackends);
48 }
49 
50 TEST_CASE("ClConcatEndToEndDim0Test")
51 {
52  ConcatDim0EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
53 }
54 
55 TEST_CASE("ClConcatEndToEndDim0Uint8Test")
56 {
57  ConcatDim0EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
58 }
59 
60 TEST_CASE("ClConcatEndToEndDim1Test")
61 {
62  ConcatDim1EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
63 }
64 
65 TEST_CASE("ClConcatEndToEndDim1Uint8Test")
66 {
67  ConcatDim1EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
68 }
69 
70 TEST_CASE("ClConcatEndToEndDim3Test")
71 {
72  ConcatDim3EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
73 }
74 
75 TEST_CASE("ClConcatEndToEndDim3Uint8Test")
76 {
77  ConcatDim3EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
78 }
79 
80 // DepthToSpace
81 TEST_CASE("DephtToSpaceEndToEndNchwFloat32")
82 {
83  DepthToSpaceEndToEnd<armnn::DataType::Float32>(clDefaultBackends, armnn::DataLayout::NCHW);
84 }
85 
86 TEST_CASE("DephtToSpaceEndToEndNchwFloat16")
87 {
88  DepthToSpaceEndToEnd<armnn::DataType::Float16>(clDefaultBackends, armnn::DataLayout::NCHW);
89 }
90 
91 TEST_CASE("DephtToSpaceEndToEndNchwUint8")
92 {
93  DepthToSpaceEndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends, armnn::DataLayout::NCHW);
94 }
95 
96 TEST_CASE("DephtToSpaceEndToEndNchwInt16")
97 {
98  DepthToSpaceEndToEnd<armnn::DataType::QSymmS16>(clDefaultBackends, armnn::DataLayout::NCHW);
99 }
100 
101 TEST_CASE("DephtToSpaceEndToEndNhwcFloat32")
102 {
103  DepthToSpaceEndToEnd<armnn::DataType::Float32>(clDefaultBackends, armnn::DataLayout::NHWC);
104 }
105 
106 TEST_CASE("DephtToSpaceEndToEndNhwcFloat16")
107 {
108  DepthToSpaceEndToEnd<armnn::DataType::Float16>(clDefaultBackends, armnn::DataLayout::NHWC);
109 }
110 
111 TEST_CASE("DephtToSpaceEndToEndNhwcUint8")
112 {
113  DepthToSpaceEndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends, armnn::DataLayout::NHWC);
114 }
115 
116 TEST_CASE("DephtToSpaceEndToEndNhwcInt16")
117 {
118  DepthToSpaceEndToEnd<armnn::DataType::QSymmS16>(clDefaultBackends, armnn::DataLayout::NHWC);
119 }
120 
121 // Dequantize
122 TEST_CASE("DequantizeEndToEndSimpleTest")
123 {
124  DequantizeEndToEndSimple<armnn::DataType::QAsymmU8>(clDefaultBackends);
125 }
126 
127 TEST_CASE("DequantizeEndToEndOffsetTest")
128 {
129  DequantizeEndToEndOffset<armnn::DataType::QAsymmU8>(clDefaultBackends);
130 }
131 
132 TEST_CASE("ClStridedSliceInvalidSliceEndToEndTest")
133 {
134  StridedSliceInvalidSliceEndToEndTest(clDefaultBackends);
135 }
136 
137 TEST_CASE("ClEluEndToEndTestFloat32")
138 {
139  EluEndToEndTest<armnn::DataType::Float32>(clDefaultBackends);
140 }
141 
142 TEST_CASE("ClEluEndToEndTestFloat16")
143 {
144  EluEndToEndTest<armnn::DataType::Float16>(clDefaultBackends);
145 }
146 
147 TEST_CASE("ClGreaterSimpleEndToEndTest")
148 {
149  const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
150  0, 0, 0, 0, 0, 0, 0, 0 });
151 
152  ComparisonSimpleEndToEnd<armnn::DataType::Float32>(clDefaultBackends,
153  ComparisonOperation::Greater,
154  expectedOutput);
155 }
156 
157 TEST_CASE("ClGreaterSimpleEndToEndUint8Test")
158 {
159  const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
160  0, 0, 0, 0, 0, 0, 0, 0 });
161 
162  ComparisonSimpleEndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends,
163  ComparisonOperation::Greater,
164  expectedOutput);
165 }
166 
167 TEST_CASE("ClGreaterBroadcastEndToEndTest")
168 {
169  const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
170  1, 1, 1, 1, 1, 1 });
171 
172  ComparisonBroadcastEndToEnd<armnn::DataType::Float32>(clDefaultBackends,
173  ComparisonOperation::Greater,
174  expectedOutput);
175 }
176 
177 TEST_CASE("ClGreaterBroadcastEndToEndUint8Test")
178 {
179  const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
180  1, 1, 1, 1, 1, 1 });
181 
182  ComparisonBroadcastEndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends,
183  ComparisonOperation::Greater,
184  expectedOutput);
185 }
186 
187 // HardSwish
188 TEST_CASE("ClHardSwishEndToEndTestFloat32")
189 {
190  HardSwishEndToEndTest<armnn::DataType::Float32>(clDefaultBackends);
191 }
192 
193 TEST_CASE("ClHardSwishEndToEndTestFloat16")
194 {
195  HardSwishEndToEndTest<armnn::DataType::Float16>(clDefaultBackends);
196 }
197 
198 TEST_CASE("ClHardSwishEndToEndTestQAsymmS8")
199 {
200  HardSwishEndToEndTest<armnn::DataType::QAsymmS8>(clDefaultBackends);
201 }
202 
203 TEST_CASE("ClHardSwishEndToEndTestQAsymmU8")
204 {
205  HardSwishEndToEndTest<armnn::DataType::QAsymmU8>(clDefaultBackends);
206 }
207 
208 TEST_CASE("ClHardSwishEndToEndTestQSymmS16")
209 {
210  HardSwishEndToEndTest<armnn::DataType::QSymmS16>(clDefaultBackends);
211 }
212 
213 // InstanceNormalization
214 TEST_CASE("ClInstanceNormalizationNhwcEndToEndTest1")
215 {
216  InstanceNormalizationNhwcEndToEndTest1(clDefaultBackends);
217 }
218 
219 TEST_CASE("ClInstanceNormalizationNchwEndToEndTest1")
220 {
221  InstanceNormalizationNchwEndToEndTest1(clDefaultBackends);
222 }
223 
224 TEST_CASE("ClInstanceNormalizationNhwcEndToEndTest2")
225 {
226  InstanceNormalizationNhwcEndToEndTest2(clDefaultBackends);
227 }
228 
229 TEST_CASE("ClInstanceNormalizationNchwEndToEndTest2")
230 {
231  InstanceNormalizationNchwEndToEndTest2(clDefaultBackends);
232 }
233 
234 // Fill
235 TEST_CASE("ClFillEndToEndTest")
236 {
237  FillEndToEnd<armnn::DataType::Float32>(clDefaultBackends);
238 }
239 
240 TEST_CASE("RefFillEndToEndTestFloat16")
241 {
242  FillEndToEnd<armnn::DataType::Float16>(clDefaultBackends);
243 }
244 
245 TEST_CASE("ClFillEndToEndTestInt32")
246 {
247  FillEndToEnd<armnn::DataType::Signed32>(clDefaultBackends);
248 }
249 
250 // Prelu
251 TEST_CASE("ClPreluEndToEndFloat32Test")
252 {
253  PreluEndToEndNegativeTest<armnn::DataType::Float32>(clDefaultBackends);
254 }
255 
256 TEST_CASE("ClPreluEndToEndTestUint8")
257 {
258  PreluEndToEndPositiveTest<armnn::DataType::QAsymmU8>(clDefaultBackends);
259 }
260 
261 TEST_CASE("ClSpaceToDepthNhwcEndToEndTest1")
262 {
263  SpaceToDepthNhwcEndToEndTest1(clDefaultBackends);
264 }
265 
266 TEST_CASE("ClSpaceToDepthNchwEndToEndTest1")
267 {
268  SpaceToDepthNchwEndToEndTest1(clDefaultBackends);
269 }
270 
271 TEST_CASE("ClSpaceToDepthNhwcEndToEndTest2")
272 {
273  SpaceToDepthNhwcEndToEndTest2(clDefaultBackends);
274 }
275 
276 TEST_CASE("ClSpaceToDepthNchwEndToEndTest2")
277 {
278  SpaceToDepthNchwEndToEndTest2(clDefaultBackends);
279 }
280 
281 TEST_CASE("ClSplitter1dEndToEndTest")
282 {
283  Splitter1dEndToEnd<armnn::DataType::Float32>(clDefaultBackends);
284 }
285 
286 TEST_CASE("ClSplitter1dEndToEndUint8Test")
287 {
288  Splitter1dEndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
289 }
290 
291 TEST_CASE("ClSplitter2dDim0EndToEndTest")
292 {
293  Splitter2dDim0EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
294 }
295 
296 TEST_CASE("ClSplitter2dDim1EndToEndTest")
297 {
298  Splitter2dDim1EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
299 }
300 
301 TEST_CASE("ClSplitter2dDim0EndToEndUint8Test")
302 {
303  Splitter2dDim0EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
304 }
305 
306 TEST_CASE("ClSplitter2dDim1EndToEndUint8Test")
307 {
308  Splitter2dDim1EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
309 }
310 
311 TEST_CASE("ClSplitter3dDim0EndToEndTest")
312 {
313  Splitter3dDim0EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
314 }
315 
316 TEST_CASE("ClSplitter3dDim1EndToEndTest")
317 {
318  Splitter3dDim1EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
319 }
320 
321 TEST_CASE("ClSplitter3dDim2EndToEndTest")
322 {
323  Splitter3dDim2EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
324 }
325 
326 TEST_CASE("ClSplitter3dDim0EndToEndUint8Test")
327 {
328  Splitter3dDim0EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
329 }
330 
331 TEST_CASE("ClSplitter3dDim1EndToEndUint8Test")
332 {
333  Splitter3dDim1EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
334 }
335 
336 TEST_CASE("ClSplitter3dDim2EndToEndUint8Test")
337 {
338  Splitter3dDim2EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
339 }
340 
341 TEST_CASE("ClSplitter4dDim0EndToEndTest")
342 {
343  Splitter4dDim0EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
344 }
345 
346 TEST_CASE("ClSplitter4dDim1EndToEndTest")
347 {
348  Splitter4dDim1EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
349 }
350 
351 TEST_CASE("ClSplitter4dDim2EndToEndTest")
352 {
353  Splitter4dDim2EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
354 }
355 
356 TEST_CASE("ClSplitter4dDim3EndToEndTest")
357 {
358  Splitter4dDim3EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
359 }
360 
361 TEST_CASE("ClSplitter4dDim0EndToEndUint8Test")
362 {
363  Splitter4dDim0EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
364 }
365 
366 TEST_CASE("ClSplitter4dDim1EndToEndUint8Test")
367 {
368  Splitter4dDim1EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
369 }
370 
371 TEST_CASE("ClSplitter4dDim2EndToEndUint8Test")
372 {
373  Splitter4dDim2EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
374 }
375 
376 TEST_CASE("ClSplitter4dDim3EndToEndUint8Test")
377 {
378  Splitter4dDim3EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
379 }
380 
381 // TransposeConvolution2d
382 TEST_CASE("ClTransposeConvolution2dEndToEndFloatNchwTest")
383 {
384  TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
385  clDefaultBackends, armnn::DataLayout::NCHW);
386 }
387 
388 TEST_CASE("ClTransposeConvolution2dEndToEndUint8NchwTest")
389 {
390  TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
391  clDefaultBackends, armnn::DataLayout::NCHW);
392 }
393 
394 TEST_CASE("ClTransposeConvolution2dEndToEndFloatNhwcTest")
395 {
396  TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
397  clDefaultBackends, armnn::DataLayout::NHWC);
398 }
399 
400 TEST_CASE("ClTransposeConvolution2dEndToEndUint8NhwcTest")
401 {
402  TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
403  clDefaultBackends, armnn::DataLayout::NHWC);
404 }
405 
406 TEST_CASE("ClQuantizedLstmEndToEndTest")
407 {
408  QuantizedLstmEndToEnd(clDefaultBackends);
409 }
410 
411 // ArgMinMax
412 TEST_CASE("ClArgMaxSimpleTest")
413 {
414  ArgMaxEndToEndSimple<armnn::DataType::Float32>(clDefaultBackends);
415 }
416 
417 TEST_CASE("ClArgMinSimpleTest")
418 {
419  ArgMinEndToEndSimple<armnn::DataType::Float32>(clDefaultBackends);
420 }
421 
422 TEST_CASE("ClArgMaxAxis0Test")
423 {
424  ArgMaxAxis0EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
425 }
426 
427 TEST_CASE("ClArgMinAxis0Test")
428 {
429  ArgMinAxis0EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
430 }
431 
432 TEST_CASE("ClArgMaxAxis1Test")
433 {
434  ArgMaxAxis1EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
435 }
436 
437 TEST_CASE("ClArgMinAxis1Test")
438 {
439  ArgMinAxis1EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
440 }
441 
442 TEST_CASE("ClArgMaxAxis2Test")
443 {
444  ArgMaxAxis2EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
445 }
446 
447 TEST_CASE("ClArgMinAxis2Test")
448 {
449  ArgMinAxis2EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
450 }
451 
452 TEST_CASE("ClArgMaxAxis3Test")
453 {
454  ArgMaxAxis3EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
455 }
456 
457 TEST_CASE("ClArgMinAxis3Test")
458 {
459  ArgMinAxis3EndToEnd<armnn::DataType::Float32>(clDefaultBackends);
460 }
461 
462 TEST_CASE("ClArgMaxSimpleTestQAsymmU8")
463 {
464  ArgMaxEndToEndSimple<armnn::DataType::QAsymmU8>(clDefaultBackends);
465 }
466 
467 TEST_CASE("ClArgMinSimpleTestQAsymmU8")
468 {
469  ArgMinEndToEndSimple<armnn::DataType::QAsymmU8>(clDefaultBackends);
470 }
471 
472 TEST_CASE("ClArgMaxAxis0TestQAsymmU8")
473 {
474  ArgMaxAxis0EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
475 }
476 
477 TEST_CASE("ClArgMinAxis0TestQAsymmU8")
478 {
479  ArgMinAxis0EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
480 }
481 
482 TEST_CASE("ClArgMaxAxis1TestQAsymmU8")
483 {
484  ArgMaxAxis1EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
485 }
486 
487 TEST_CASE("ClArgMinAxis1TestQAsymmU8")
488 {
489  ArgMinAxis1EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
490 }
491 
492 TEST_CASE("ClArgMaxAxis2TestQAsymmU8")
493 {
494  ArgMaxAxis2EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
495 }
496 
497 TEST_CASE("ClArgMinAxis2TestQAsymmU8")
498 {
499  ArgMinAxis2EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
500 }
501 
502 TEST_CASE("ClArgMaxAxis3TestQAsymmU8")
503 {
504  ArgMaxAxis3EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
505 }
506 
507 TEST_CASE("ClArgMinAxis3TestQAsymmU8")
508 {
509  ArgMinAxis3EndToEnd<armnn::DataType::QAsymmU8>(clDefaultBackends);
510 }
511 
512 TEST_CASE("ClQLstmEndToEndTest")
513 {
514  QLstmEndToEnd(clDefaultBackends);
515 }
516 
517 TEST_CASE("ClForceImportWithMisalignedInputBuffersEndToEndTest")
518 {
519  ForceImportWithMisalignedInputBuffersEndToEndTest(clDefaultBackends);
520 }
521 
522 TEST_CASE("ClForceImportWithMisalignedOutputBuffersEndToEndTest")
523 {
524  ForceImportWithMisalignedOutputBuffersEndToEndTest(clDefaultBackends);
525 }
526 
527 TEST_CASE("ClForceImportWithMisalignedInputAndOutputBuffersEndToEndTest")
528 {
529  ForceImportWithMisalignedInputAndOutputBuffersEndToEndTest(clDefaultBackends);
530 }
531 
532 }
void SpaceToDepthNchwEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
void InstanceNormalizationNhwcEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
void InstanceNormalizationNchwEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
void QLstmEndToEnd(const std::vector< armnn::BackendId > &backends)
void SpaceToDepthNhwcEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
void SpaceToDepthNhwcEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
void SpaceToDepthNchwEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
GPU Execution: OpenCL: ArmCompute.
void QuantizedLstmEndToEnd(const std::vector< armnn::BackendId > &backends)
void InstanceNormalizationNhwcEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
void InstanceNormalizationNchwEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)