blob: b35dacb1a14dd52d5f3df0b9f37f4624d359407b [file] [log] [blame]
Ryan OShea3c2795a2022-11-03 17:51:52 +00001//
David Monahand7fca092023-01-12 14:53:34 +00002// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.
Ryan OShea3c2795a2022-11-03 17:51:52 +00003// SPDX-License-Identifier: MIT
4//
5
6#include "backendsCommon/test/EndToEndTestImpl.hpp"
7
8#include "backendsCommon/test/AdditionEndToEndTestImpl.hpp"
Matthew Sloyanc5fe6e72022-11-25 16:10:00 +00009#include "backendsCommon/test/Convolution2dEndToEndTestImpl.hpp"
Kevin May5b58e312022-12-15 10:15:21 +000010#include "backendsCommon/test/ConcatEndToEndTestImpl.hpp"
Nikhil Raj9a339462022-12-05 11:24:35 +000011#include "backendsCommon/test/MultiplicationEndToEndTestImpl.hpp"
Cathal Corbettbd18eab2022-11-15 12:56:16 +000012#include "backendsCommon/test/Pooling2dEndToEndTestImpl.hpp"
Cathal Corbettb30e6552022-12-07 11:50:50 +000013#include "backendsCommon/test/ReshapeEndToEndTestImpl.hpp"
Teresa Charlince655882023-11-21 15:44:13 +000014#include "backendsCommon/test/ResizeEndToEndTestImpl.hpp"
David Monahand7fca092023-01-12 14:53:34 +000015#include "backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp"
Cathal Corbett3b9acd52022-12-09 12:17:27 +000016#include "backendsCommon/test/SliceEndToEndTestImpl.hpp"
Nikhil Raj9a339462022-12-05 11:24:35 +000017#include "backendsCommon/test/SubtractionEndToEndTestImpl.hpp"
Matthew Sloyanfc9d5e72022-12-08 13:38:23 +000018#include "backendsCommon/test/TransposeConvolution2dEndToEndTestImpl.hpp"
Cathal Corbett0bb096d2022-12-22 13:09:38 +000019#include "backendsCommon/test/TransposeEndToEndTestImpl.hpp"
Ryan OShea3c2795a2022-11-03 17:51:52 +000020
21#include <doctest/doctest.h>
22
23TEST_SUITE("TosaRefEndToEnd")
24{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000025std::vector<BackendId> tosaDefaultBackends = { "TosaRef" };
Ryan OShea3c2795a2022-11-03 17:51:52 +000026
27// Addition
Cathal Corbettbd18eab2022-11-15 12:56:16 +000028TEST_CASE("TosaRefAdditionEndtoEndTestFloat32")
Ryan OShea3c2795a2022-11-03 17:51:52 +000029{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000030 AdditionEndToEnd<DataType::Float32>(tosaDefaultBackends);
Ryan OShea3c2795a2022-11-03 17:51:52 +000031}
32
Cathal Corbettbd18eab2022-11-15 12:56:16 +000033TEST_CASE("TosaRefAdditionEndtoEndTestInt32")
Matthew Sloyan2523b792022-11-14 10:18:01 +000034{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000035 AdditionEndToEnd<DataType::Signed32>(tosaDefaultBackends);
Matthew Sloyan2523b792022-11-14 10:18:01 +000036}
37
Cathal Corbettbd18eab2022-11-15 12:56:16 +000038TEST_CASE("TosaRefAdditionEndtoEndTestFloat16")
Matthew Sloyan2523b792022-11-14 10:18:01 +000039{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000040 AdditionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
41}
42
Kevin May5b58e312022-12-15 10:15:21 +000043// Concat
44TEST_CASE("TosaRefConcatEndToEndDim0TestFloat32")
45{
46 ConcatDim0EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
47}
48
49TEST_CASE("TosaRefConcatEndToEndDim0TestInt32")
50{
51 ConcatDim0EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
52}
53
54TEST_CASE("TosaRefConcatEndToEndDim1TestFloat32")
55{
56 ConcatDim1EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
57}
58
59TEST_CASE("TosaRefConcatEndToEndDim1TestInt32")
60{
61 ConcatDim1EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
62}
63
64TEST_CASE("TosaRefConcatEndToEndDim2TestFloat32")
65{
66 ConcatDim2EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
67}
68
69TEST_CASE("TosaRefConcatEndToEndDim2TestInt32")
70{
71 ConcatDim2EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
72}
73
74TEST_CASE("TosaRefConcatEndToEndDim3TestFloat32")
75{
76 ConcatDim3EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
77}
78
79TEST_CASE("TosaRefConcatEndToEndDim3TestInt32")
80{
81 ConcatDim3EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
82}
83
Matthew Sloyanc5fe6e72022-11-25 16:10:00 +000084// Conv2d
85TEST_CASE("TosaRefConv2dEndtoEndTestFloat32")
86{
87 Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC);
88}
89
90TEST_CASE("TosaRefConv2dWithoutBiasEndtoEndTestFloat32")
91{
92 Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC, false);
93}
94
Cathal Corbettbd18eab2022-11-15 12:56:16 +000095// Average Pool 2D
96TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat32")
97{
98 AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends);
99}
100
101TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat16")
102{
103 AvgPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
104}
105
106TEST_CASE("TosaRefAvgPool2DIgnoreValueEndtoEndTestFloat32")
107{
108 AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue);
Matthew Sloyan2523b792022-11-14 10:18:01 +0000109}
110
Teresa Charlin3fbad942022-12-15 10:35:37 +0000111// Max Pool 2D
112TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat32")
113{
114 MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends);
115}
116
117TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat16")
118{
119 MaxPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
120}
121
122TEST_CASE("TosaRefMaxPool2DIgnoreValueEndtoEndTestFloat32")
123{
124 MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue);
125}
126
Cathal Corbettb30e6552022-12-07 11:50:50 +0000127// Reshape
128TEST_CASE("TosaRefReshapeEndtoEndTestFloat32")
129{
130 ReshapeEndToEnd<DataType::Float32>(tosaDefaultBackends);
131}
132
133TEST_CASE("TosaRefReshapeEndtoEndTestInt32")
134{
135 ReshapeEndToEnd<DataType::Signed32>(tosaDefaultBackends);
136}
137
138TEST_CASE("TosaRefReshapeEndtoEndTestFloat16")
139{
140 ReshapeEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
141}
142
David Monahand7fca092023-01-12 14:53:34 +0000143TEST_CASE("TosaRefRsqrtEndtoEndTestFloat32")
144{
145 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends,
146 UnaryOperation::Rsqrt);
147}
148
Teresa Charlince655882023-11-21 15:44:13 +0000149// Resize
150TEST_CASE("TosaRefResizeNearestNeighborEndToEndFloat32AlignCornersNhwcTest")
151{
152 ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC, true, false);
153}
154
155TEST_CASE("TosaRefResizeNearestNeighborEndToEndFloat32HalfPixelNhwcTest")
156{
157 ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC, false, true);
158}
159
160TEST_CASE("TosaRefResizeNearestNeighborEndToEndFloat16AlignCornersNhwcTest")
161{
162 ResizeNearestNeighborEndToEnd<armnn::DataType::Float16>(tosaDefaultBackends, armnn::DataLayout::NHWC, true, false);
163}
164
165TEST_CASE("TosaRefResizeNearestNeighborEndToEndFloat16HalfPixelNhwcTest")
166{
167 ResizeNearestNeighborEndToEnd<armnn::DataType::Float16>(tosaDefaultBackends, armnn::DataLayout::NHWC, false, true);
168}
169
170TEST_CASE("TosaRefResizeNearestNeighborEndToEndInt8AlignCornersNhwcTest")
171{
172 ResizeNearestNeighborEndToEnd<armnn::DataType::QSymmS8>(tosaDefaultBackends, armnn::DataLayout::NHWC, true, false);
173}
174
175TEST_CASE("TosaRefResizeNearestNeighborEndToEndInt8HalfPixelNhwcTest")
176{
177 ResizeNearestNeighborEndToEnd<armnn::DataType::QSymmS8>(tosaDefaultBackends, armnn::DataLayout::NHWC, false, true);
178}
179
180TEST_CASE("TosaRefResizeNearestNeighborEndToEndInt16AlignCornersNhwcTest")
181{
182 ResizeNearestNeighborEndToEnd<armnn::DataType::QSymmS16>(tosaDefaultBackends, armnn::DataLayout::NHWC, true, false);
183}
184
185TEST_CASE("TosaRefResizeNearestNeighborEndToEndInt16HalfPixelNhwcTest")
186{
187 ResizeNearestNeighborEndToEnd<armnn::DataType::QSymmS16>(tosaDefaultBackends, armnn::DataLayout::NHWC, false, true);
188}
189
Cathal Corbett3b9acd52022-12-09 12:17:27 +0000190// Slice
191TEST_CASE("TosaRefSliceEndtoEndTestFloat32")
192{
193 SliceEndToEnd<DataType::Float32>(tosaDefaultBackends);
194}
195
196TEST_CASE("TosaRefSliceEndtoEndTestInt32")
197{
198 SliceEndToEnd<DataType::Signed32>(tosaDefaultBackends);
199}
200
201TEST_CASE("TosaRefSliceEndtoEndTestFloat16")
202{
203 SliceEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
204}
Nikhil Raj9a339462022-12-05 11:24:35 +0000205TEST_CASE("TosaRefSubtractionEndtoEndTestFloat32")
206{
207 SubtractionEndToEnd<DataType::Float32>(tosaDefaultBackends);
208}
209
210TEST_CASE("TosaRefSubtractionEndtoEndTestInt32")
211{
212 SubtractionEndToEnd<DataType::Signed32>(tosaDefaultBackends);
213}
214
215TEST_CASE("TosaRefSubtractionEndtoEndTestFloat16")
216{
217 SubtractionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
218}
219
220TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat32")
221{
222 MultiplicationEndToEnd<DataType::Float32>(tosaDefaultBackends);
223}
224
225TEST_CASE("TosaRefMultiplicationEndtoEndTestInt32")
226{
227 MultiplicationEndToEnd<DataType::Signed32>(tosaDefaultBackends);
228}
229
230TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat16")
231{
232 MultiplicationEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
233}
Cathal Corbett3b9acd52022-12-09 12:17:27 +0000234
Matthew Sloyanfc9d5e72022-12-08 13:38:23 +0000235// TransposeConvolution2d
236TEST_CASE("TosaRefTransposeConvolution2dEndToEndFloatNhwcTest")
237{
238 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
239 tosaDefaultBackends, armnn::DataLayout::NHWC);
240}
241
242TEST_CASE("TosaRefSimpleTransposeConvolution2dEndToEndFloatNhwcTest")
243{
244 SimpleTransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
245 tosaDefaultBackends, armnn::DataLayout::NHWC);
246}
247
Cathal Corbett0bb096d2022-12-22 13:09:38 +0000248// Transpose
249TEST_CASE("TosaRefTransposeEndtoEndTestFloat32")
250{
251 TransposeEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
252}
253
Ryan OShea3c2795a2022-11-03 17:51:52 +0000254}