xref: /aosp_15_r20/external/armnn/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "backendsCommon/test/EndToEndTestImpl.hpp"
7 
8 #include "backendsCommon/test/AdditionEndToEndTestImpl.hpp"
9 #include "backendsCommon/test/Convolution2dEndToEndTestImpl.hpp"
10 #include "backendsCommon/test/ConcatEndToEndTestImpl.hpp"
11 #include "backendsCommon/test/MultiplicationEndToEndTestImpl.hpp"
12 #include "backendsCommon/test/Pooling2dEndToEndTestImpl.hpp"
13 #include "backendsCommon/test/ReshapeEndToEndTestImpl.hpp"
14 #include "backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp"
15 #include "backendsCommon/test/SliceEndToEndTestImpl.hpp"
16 #include "backendsCommon/test/SubtractionEndToEndTestImpl.hpp"
17 #include "backendsCommon/test/TransposeConvolution2dEndToEndTestImpl.hpp"
18 #include "backendsCommon/test/TransposeEndToEndTestImpl.hpp"
19 
20 #include <doctest/doctest.h>
21 
22 TEST_SUITE("TosaRefEndToEnd")
23 {
24 std::vector<BackendId> tosaDefaultBackends = { "TosaRef" };
25 
26 // Addition
27 TEST_CASE("TosaRefAdditionEndtoEndTestFloat32")
28 {
29     AdditionEndToEnd<DataType::Float32>(tosaDefaultBackends);
30 }
31 
32 TEST_CASE("TosaRefAdditionEndtoEndTestInt32")
33 {
34     AdditionEndToEnd<DataType::Signed32>(tosaDefaultBackends);
35 }
36 
37 TEST_CASE("TosaRefAdditionEndtoEndTestFloat16")
38 {
39     AdditionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
40 }
41 
42 // Concat
43 TEST_CASE("TosaRefConcatEndToEndDim0TestFloat32")
44 {
45     ConcatDim0EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
46 }
47 
48 TEST_CASE("TosaRefConcatEndToEndDim0TestInt32")
49 {
50     ConcatDim0EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
51 }
52 
53 TEST_CASE("TosaRefConcatEndToEndDim1TestFloat32")
54 {
55     ConcatDim1EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
56 }
57 
58 TEST_CASE("TosaRefConcatEndToEndDim1TestInt32")
59 {
60     ConcatDim1EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
61 }
62 
63 TEST_CASE("TosaRefConcatEndToEndDim2TestFloat32")
64 {
65     ConcatDim2EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
66 }
67 
68 TEST_CASE("TosaRefConcatEndToEndDim2TestInt32")
69 {
70     ConcatDim2EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
71 }
72 
73 TEST_CASE("TosaRefConcatEndToEndDim3TestFloat32")
74 {
75     ConcatDim3EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
76 }
77 
78 TEST_CASE("TosaRefConcatEndToEndDim3TestInt32")
79 {
80     ConcatDim3EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
81 }
82 
83 // Conv2d
84 TEST_CASE("TosaRefConv2dEndtoEndTestFloat32")
85 {
86     Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC);
87 }
88 
89 TEST_CASE("TosaRefConv2dWithoutBiasEndtoEndTestFloat32")
90 {
91     Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC, false);
92 }
93 
94 // Average Pool 2D
95 TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat32")
96 {
97     AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends);
98 }
99 
100 TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat16")
101 {
102     AvgPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
103 }
104 
105 TEST_CASE("TosaRefAvgPool2DIgnoreValueEndtoEndTestFloat32")
106 {
107     AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue);
108 }
109 
110 // Max Pool 2D
111 TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat32")
112 {
113     MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends);
114 }
115 
116 TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat16")
117 {
118     MaxPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
119 }
120 
121 TEST_CASE("TosaRefMaxPool2DIgnoreValueEndtoEndTestFloat32")
122 {
123     MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue);
124 }
125 
126 // Reshape
127 TEST_CASE("TosaRefReshapeEndtoEndTestFloat32")
128 {
129     ReshapeEndToEnd<DataType::Float32>(tosaDefaultBackends);
130 }
131 
132 TEST_CASE("TosaRefReshapeEndtoEndTestInt32")
133 {
134     ReshapeEndToEnd<DataType::Signed32>(tosaDefaultBackends);
135 }
136 
137 TEST_CASE("TosaRefReshapeEndtoEndTestFloat16")
138 {
139     ReshapeEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
140 }
141 
142 TEST_CASE("TosaRefRsqrtEndtoEndTestFloat32")
143 {
144     ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends,
145                                                              UnaryOperation::Rsqrt);
146 }
147 
148 // Slice
149 TEST_CASE("TosaRefSliceEndtoEndTestFloat32")
150 {
151     SliceEndToEnd<DataType::Float32>(tosaDefaultBackends);
152 }
153 
154 TEST_CASE("TosaRefSliceEndtoEndTestInt32")
155 {
156     SliceEndToEnd<DataType::Signed32>(tosaDefaultBackends);
157 }
158 
159 TEST_CASE("TosaRefSliceEndtoEndTestFloat16")
160 {
161     SliceEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
162 }
163 TEST_CASE("TosaRefSubtractionEndtoEndTestFloat32")
164 {
165     SubtractionEndToEnd<DataType::Float32>(tosaDefaultBackends);
166 }
167 
168 TEST_CASE("TosaRefSubtractionEndtoEndTestInt32")
169 {
170     SubtractionEndToEnd<DataType::Signed32>(tosaDefaultBackends);
171 }
172 
173 TEST_CASE("TosaRefSubtractionEndtoEndTestFloat16")
174 {
175     SubtractionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
176 }
177 
178 TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat32")
179 {
180     MultiplicationEndToEnd<DataType::Float32>(tosaDefaultBackends);
181 }
182 
183 TEST_CASE("TosaRefMultiplicationEndtoEndTestInt32")
184 {
185     MultiplicationEndToEnd<DataType::Signed32>(tosaDefaultBackends);
186 }
187 
188 TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat16")
189 {
190     MultiplicationEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
191 }
192 
193 // TransposeConvolution2d
194 TEST_CASE("TosaRefTransposeConvolution2dEndToEndFloatNhwcTest")
195 {
196     TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
197         tosaDefaultBackends, armnn::DataLayout::NHWC);
198 }
199 
200 TEST_CASE("TosaRefSimpleTransposeConvolution2dEndToEndFloatNhwcTest")
201 {
202     SimpleTransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
203         tosaDefaultBackends, armnn::DataLayout::NHWC);
204 }
205 
206 // Transpose
207 TEST_CASE("TosaRefTransposeEndtoEndTestFloat32")
208 {
209     TransposeEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
210 }
211 
212 }