xref: /aosp_15_r20/external/armnn/delegate/test/BatchSpaceTest.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2021, 2023 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker 
6*89c4ff92SAndroid Build Coastguard Worker #include "BatchSpaceTestHelper.hpp"
7*89c4ff92SAndroid Build Coastguard Worker 
8*89c4ff92SAndroid Build Coastguard Worker #include <armnn_delegate.hpp>
9*89c4ff92SAndroid Build Coastguard Worker 
10*89c4ff92SAndroid Build Coastguard Worker #include <flatbuffers/flatbuffers.h>
11*89c4ff92SAndroid Build Coastguard Worker #include <schema_generated.h>
12*89c4ff92SAndroid Build Coastguard Worker 
13*89c4ff92SAndroid Build Coastguard Worker #include <doctest/doctest.h>
14*89c4ff92SAndroid Build Coastguard Worker 
15*89c4ff92SAndroid Build Coastguard Worker namespace armnnDelegate
16*89c4ff92SAndroid Build Coastguard Worker {
17*89c4ff92SAndroid Build Coastguard Worker 
18*89c4ff92SAndroid Build Coastguard Worker // BatchToSpaceND Operator
BatchToSpaceNDFp32Test(std::vector<armnn::BackendId> & backends)19*89c4ff92SAndroid Build Coastguard Worker void BatchToSpaceNDFp32Test(std::vector<armnn::BackendId>& backends)
20*89c4ff92SAndroid Build Coastguard Worker {
21*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 4, 1, 1, 1 };
22*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> expectedOutputShape { 1, 2, 2, 1 };
23*89c4ff92SAndroid Build Coastguard Worker 
24*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputValues { 1.0f, 2.0f, 3.0f, 4.0f };
25*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> expectedOutputValues { 1.0f, 2.0f, 3.0f, 4.0f };
26*89c4ff92SAndroid Build Coastguard Worker 
27*89c4ff92SAndroid Build Coastguard Worker     std::vector<unsigned int> blockShape({2, 2});
28*89c4ff92SAndroid Build Coastguard Worker     std::vector<std::pair<unsigned int, unsigned int>> crops = {{0, 0}, {0, 0}};
29*89c4ff92SAndroid Build Coastguard Worker 
30*89c4ff92SAndroid Build Coastguard Worker     BatchSpaceTest<float>(tflite::BuiltinOperator_BATCH_TO_SPACE_ND,
31*89c4ff92SAndroid Build Coastguard Worker                           ::tflite::TensorType_FLOAT32,
32*89c4ff92SAndroid Build Coastguard Worker                           backends,
33*89c4ff92SAndroid Build Coastguard Worker                           inputShape,
34*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputShape,
35*89c4ff92SAndroid Build Coastguard Worker                           inputValues,
36*89c4ff92SAndroid Build Coastguard Worker                           blockShape,
37*89c4ff92SAndroid Build Coastguard Worker                           crops,
38*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputValues);
39*89c4ff92SAndroid Build Coastguard Worker }
40*89c4ff92SAndroid Build Coastguard Worker 
BatchToSpaceNDFp32BatchOneTest(std::vector<armnn::BackendId> & backends)41*89c4ff92SAndroid Build Coastguard Worker void BatchToSpaceNDFp32BatchOneTest(std::vector<armnn::BackendId>& backends)
42*89c4ff92SAndroid Build Coastguard Worker {
43*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 1, 2, 2, 1 };
44*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> expectedOutputShape { 1, 2, 2, 1 };
45*89c4ff92SAndroid Build Coastguard Worker 
46*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputValues { 1.0f, 2.0f, 3.0f, 4.0f };
47*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> expectedOutputValues { 1.0f, 2.0f, 3.0f, 4.0f };
48*89c4ff92SAndroid Build Coastguard Worker 
49*89c4ff92SAndroid Build Coastguard Worker     std::vector<unsigned int> blockShape({1, 1});
50*89c4ff92SAndroid Build Coastguard Worker     std::vector<std::pair<unsigned int, unsigned int>> crops = {{0, 0}, {0, 0}};
51*89c4ff92SAndroid Build Coastguard Worker 
52*89c4ff92SAndroid Build Coastguard Worker     BatchSpaceTest<float>(tflite::BuiltinOperator_BATCH_TO_SPACE_ND,
53*89c4ff92SAndroid Build Coastguard Worker                           ::tflite::TensorType_FLOAT32,
54*89c4ff92SAndroid Build Coastguard Worker                           backends,
55*89c4ff92SAndroid Build Coastguard Worker                           inputShape,
56*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputShape,
57*89c4ff92SAndroid Build Coastguard Worker                           inputValues,
58*89c4ff92SAndroid Build Coastguard Worker                           blockShape,
59*89c4ff92SAndroid Build Coastguard Worker                           crops,
60*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputValues);
61*89c4ff92SAndroid Build Coastguard Worker }
62*89c4ff92SAndroid Build Coastguard Worker 
BatchToSpaceNDUint8Test(std::vector<armnn::BackendId> & backends)63*89c4ff92SAndroid Build Coastguard Worker void BatchToSpaceNDUint8Test(std::vector<armnn::BackendId>& backends)
64*89c4ff92SAndroid Build Coastguard Worker {
65*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 4, 1, 1, 3 };
66*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> expectedOutputShape { 1, 2, 2, 3 };
67*89c4ff92SAndroid Build Coastguard Worker 
68*89c4ff92SAndroid Build Coastguard Worker     std::vector<uint8_t> inputValues { 1, 2, 3, 4, 5, 6, 7 };
69*89c4ff92SAndroid Build Coastguard Worker     std::vector<uint8_t> expectedOutputValues { 1, 2, 3, 4, 5, 6, 7 };
70*89c4ff92SAndroid Build Coastguard Worker 
71*89c4ff92SAndroid Build Coastguard Worker     std::vector<unsigned int> blockShape({2, 2});
72*89c4ff92SAndroid Build Coastguard Worker     std::vector<std::pair<unsigned int, unsigned int>> crops = {{0, 0}, {0, 0}};
73*89c4ff92SAndroid Build Coastguard Worker 
74*89c4ff92SAndroid Build Coastguard Worker     BatchSpaceTest<uint8_t>(tflite::BuiltinOperator_BATCH_TO_SPACE_ND,
75*89c4ff92SAndroid Build Coastguard Worker                           ::tflite::TensorType_UINT8,
76*89c4ff92SAndroid Build Coastguard Worker                           backends,
77*89c4ff92SAndroid Build Coastguard Worker                           inputShape,
78*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputShape,
79*89c4ff92SAndroid Build Coastguard Worker                           inputValues,
80*89c4ff92SAndroid Build Coastguard Worker                           blockShape,
81*89c4ff92SAndroid Build Coastguard Worker                           crops,
82*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputValues);
83*89c4ff92SAndroid Build Coastguard Worker }
84*89c4ff92SAndroid Build Coastguard Worker 
85*89c4ff92SAndroid Build Coastguard Worker // SpaceToBatchND Operator
SpaceToBatchNDFp32Test(std::vector<armnn::BackendId> & backends)86*89c4ff92SAndroid Build Coastguard Worker void SpaceToBatchNDFp32Test(std::vector<armnn::BackendId>& backends)
87*89c4ff92SAndroid Build Coastguard Worker {
88*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 1, 2, 2, 1 };
89*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> expectedOutputShape { 4, 1, 1, 1 };
90*89c4ff92SAndroid Build Coastguard Worker 
91*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputValues { 1.0f, 2.0f, 3.0f, 4.0f };
92*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> expectedOutputValues { 1.0f, 2.0f, 3.0f, 4.0f };
93*89c4ff92SAndroid Build Coastguard Worker 
94*89c4ff92SAndroid Build Coastguard Worker     std::vector<unsigned int> blockShape({2, 2});
95*89c4ff92SAndroid Build Coastguard Worker     std::vector<std::pair<unsigned int, unsigned int>> padding = {{0, 0}, {0, 0}};
96*89c4ff92SAndroid Build Coastguard Worker 
97*89c4ff92SAndroid Build Coastguard Worker     BatchSpaceTest<float>(tflite::BuiltinOperator_SPACE_TO_BATCH_ND,
98*89c4ff92SAndroid Build Coastguard Worker                           ::tflite::TensorType_FLOAT32,
99*89c4ff92SAndroid Build Coastguard Worker                           backends,
100*89c4ff92SAndroid Build Coastguard Worker                           inputShape,
101*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputShape,
102*89c4ff92SAndroid Build Coastguard Worker                           inputValues,
103*89c4ff92SAndroid Build Coastguard Worker                           blockShape,
104*89c4ff92SAndroid Build Coastguard Worker                           padding,
105*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputValues);
106*89c4ff92SAndroid Build Coastguard Worker }
107*89c4ff92SAndroid Build Coastguard Worker 
SpaceToBatchNDFp32PaddingTest(std::vector<armnn::BackendId> & backends)108*89c4ff92SAndroid Build Coastguard Worker void SpaceToBatchNDFp32PaddingTest(std::vector<armnn::BackendId>& backends)
109*89c4ff92SAndroid Build Coastguard Worker {
110*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 2, 2, 4, 1 };
111*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> expectedOutputShape { 8, 1, 3, 1 };
112*89c4ff92SAndroid Build Coastguard Worker 
113*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputValues { 1.0f,  2.0f,  3.0f,  4.0f,
114*89c4ff92SAndroid Build Coastguard Worker                                      5.0f,  6.0f,  7.0f,  8.0f,
115*89c4ff92SAndroid Build Coastguard Worker                                      9.0f,  10.0f, 11.0f, 12.0f,
116*89c4ff92SAndroid Build Coastguard Worker                                      13.0f, 14.0f, 15.0f, 16.0f };
117*89c4ff92SAndroid Build Coastguard Worker 
118*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> expectedOutputValues { 0.0f, 1.0f, 3.0f,  0.0f, 9.0f, 11.0f,
119*89c4ff92SAndroid Build Coastguard Worker                                               0.0f, 2.0f, 4.0f,  0.0f, 10.0f, 12.0f,
120*89c4ff92SAndroid Build Coastguard Worker                                               0.0f, 5.0f, 7.0f,  0.0f, 13.0f, 15.0f,
121*89c4ff92SAndroid Build Coastguard Worker                                               0.0f, 6.0f, 8.0f,  0.0f, 14.0f, 16.0f };
122*89c4ff92SAndroid Build Coastguard Worker 
123*89c4ff92SAndroid Build Coastguard Worker     std::vector<unsigned int> blockShape({2, 2});
124*89c4ff92SAndroid Build Coastguard Worker     std::vector<std::pair<unsigned int, unsigned int>> padding = {{0, 0}, {2, 0}};
125*89c4ff92SAndroid Build Coastguard Worker 
126*89c4ff92SAndroid Build Coastguard Worker     BatchSpaceTest<float>(tflite::BuiltinOperator_SPACE_TO_BATCH_ND,
127*89c4ff92SAndroid Build Coastguard Worker                           ::tflite::TensorType_FLOAT32,
128*89c4ff92SAndroid Build Coastguard Worker                           backends,
129*89c4ff92SAndroid Build Coastguard Worker                           inputShape,
130*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputShape,
131*89c4ff92SAndroid Build Coastguard Worker                           inputValues,
132*89c4ff92SAndroid Build Coastguard Worker                           blockShape,
133*89c4ff92SAndroid Build Coastguard Worker                           padding,
134*89c4ff92SAndroid Build Coastguard Worker                           expectedOutputValues);
135*89c4ff92SAndroid Build Coastguard Worker }
136*89c4ff92SAndroid Build Coastguard Worker 
SpaceToBatchNDUint8Test(std::vector<armnn::BackendId> & backends)137*89c4ff92SAndroid Build Coastguard Worker void SpaceToBatchNDUint8Test(std::vector<armnn::BackendId>& backends)
138*89c4ff92SAndroid Build Coastguard Worker {
139*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> inputShape { 1, 2, 2, 3 };
140*89c4ff92SAndroid Build Coastguard Worker     std::vector<int32_t> expectedOutputShape { 4, 1, 1, 3 };
141*89c4ff92SAndroid Build Coastguard Worker 
142*89c4ff92SAndroid Build Coastguard Worker     std::vector<uint8_t> inputValues { 1, 2, 3, 4, 5, 6, 7 };
143*89c4ff92SAndroid Build Coastguard Worker     std::vector<uint8_t> expectedOutputValues { 1, 2, 3, 4, 5, 6, 7 };
144*89c4ff92SAndroid Build Coastguard Worker 
145*89c4ff92SAndroid Build Coastguard Worker     std::vector<unsigned int> blockShape({2, 2});
146*89c4ff92SAndroid Build Coastguard Worker     std::vector<std::pair<unsigned int, unsigned int>> padding = {{0, 0}, {0, 0}};
147*89c4ff92SAndroid Build Coastguard Worker 
148*89c4ff92SAndroid Build Coastguard Worker     BatchSpaceTest<uint8_t>(tflite::BuiltinOperator_SPACE_TO_BATCH_ND,
149*89c4ff92SAndroid Build Coastguard Worker                             ::tflite::TensorType_UINT8,
150*89c4ff92SAndroid Build Coastguard Worker                             backends,
151*89c4ff92SAndroid Build Coastguard Worker                             inputShape,
152*89c4ff92SAndroid Build Coastguard Worker                             expectedOutputShape,
153*89c4ff92SAndroid Build Coastguard Worker                             inputValues,
154*89c4ff92SAndroid Build Coastguard Worker                             blockShape,
155*89c4ff92SAndroid Build Coastguard Worker                             padding,
156*89c4ff92SAndroid Build Coastguard Worker                             expectedOutputValues);
157*89c4ff92SAndroid Build Coastguard Worker }
158*89c4ff92SAndroid Build Coastguard Worker 
159*89c4ff92SAndroid Build Coastguard Worker // BatchToSpaceND Tests
160*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("BatchToSpaceND_CpuAccTests")
161*89c4ff92SAndroid Build Coastguard Worker {
162*89c4ff92SAndroid Build Coastguard Worker 
163*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_CpuAcc_Test")
164*89c4ff92SAndroid Build Coastguard Worker {
165*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
166*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDFp32Test(backends);
167*89c4ff92SAndroid Build Coastguard Worker }
168*89c4ff92SAndroid Build Coastguard Worker 
169*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_BatchOne_CpuAcc_Test")
170*89c4ff92SAndroid Build Coastguard Worker {
171*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
172*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDFp32BatchOneTest(backends);
173*89c4ff92SAndroid Build Coastguard Worker }
174*89c4ff92SAndroid Build Coastguard Worker 
175*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Uint8_CpuAcc_Test")
176*89c4ff92SAndroid Build Coastguard Worker {
177*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
178*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDUint8Test(backends);
179*89c4ff92SAndroid Build Coastguard Worker }
180*89c4ff92SAndroid Build Coastguard Worker 
181*89c4ff92SAndroid Build Coastguard Worker }
182*89c4ff92SAndroid Build Coastguard Worker 
183*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("BatchToSpaceND_GpuAccTests")
184*89c4ff92SAndroid Build Coastguard Worker {
185*89c4ff92SAndroid Build Coastguard Worker 
186*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_GpuAcc_Test")
187*89c4ff92SAndroid Build Coastguard Worker {
188*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
189*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDFp32Test(backends);
190*89c4ff92SAndroid Build Coastguard Worker }
191*89c4ff92SAndroid Build Coastguard Worker 
192*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_BatchOne_GpuAcc_Test")
193*89c4ff92SAndroid Build Coastguard Worker {
194*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
195*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDFp32BatchOneTest(backends);
196*89c4ff92SAndroid Build Coastguard Worker }
197*89c4ff92SAndroid Build Coastguard Worker 
198*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Uint8_GpuAcc_Test")
199*89c4ff92SAndroid Build Coastguard Worker {
200*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
201*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDUint8Test(backends);
202*89c4ff92SAndroid Build Coastguard Worker }
203*89c4ff92SAndroid Build Coastguard Worker 
204*89c4ff92SAndroid Build Coastguard Worker }
205*89c4ff92SAndroid Build Coastguard Worker 
206*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("BatchToSpaceND_CpuRefTests")
207*89c4ff92SAndroid Build Coastguard Worker {
208*89c4ff92SAndroid Build Coastguard Worker 
209*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_CpuRef_Test")
210*89c4ff92SAndroid Build Coastguard Worker {
211*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
212*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDFp32Test(backends);
213*89c4ff92SAndroid Build Coastguard Worker }
214*89c4ff92SAndroid Build Coastguard Worker 
215*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_BatchOne_CpuRef_Test")
216*89c4ff92SAndroid Build Coastguard Worker {
217*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
218*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDFp32BatchOneTest(backends);
219*89c4ff92SAndroid Build Coastguard Worker }
220*89c4ff92SAndroid Build Coastguard Worker 
221*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Uint8_CpuRef_Test")
222*89c4ff92SAndroid Build Coastguard Worker {
223*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
224*89c4ff92SAndroid Build Coastguard Worker     BatchToSpaceNDUint8Test(backends);
225*89c4ff92SAndroid Build Coastguard Worker }
226*89c4ff92SAndroid Build Coastguard Worker 
227*89c4ff92SAndroid Build Coastguard Worker }
228*89c4ff92SAndroid Build Coastguard Worker 
229*89c4ff92SAndroid Build Coastguard Worker // SpaceToBatchND Tests
230*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("SpaceToBatchND_CpuAccTests")
231*89c4ff92SAndroid Build Coastguard Worker {
232*89c4ff92SAndroid Build Coastguard Worker 
233*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_CpuAcc_Test")
234*89c4ff92SAndroid Build Coastguard Worker {
235*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
236*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDFp32Test(backends);
237*89c4ff92SAndroid Build Coastguard Worker }
238*89c4ff92SAndroid Build Coastguard Worker 
239*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_Padding_CpuAcc_Test")
240*89c4ff92SAndroid Build Coastguard Worker {
241*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
242*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDFp32PaddingTest(backends);
243*89c4ff92SAndroid Build Coastguard Worker }
244*89c4ff92SAndroid Build Coastguard Worker 
245*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Uint8_CpuAcc_Test")
246*89c4ff92SAndroid Build Coastguard Worker {
247*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
248*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDUint8Test(backends);
249*89c4ff92SAndroid Build Coastguard Worker }
250*89c4ff92SAndroid Build Coastguard Worker 
251*89c4ff92SAndroid Build Coastguard Worker }
252*89c4ff92SAndroid Build Coastguard Worker 
253*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("SpaceToBatchND_GpuAccTests")
254*89c4ff92SAndroid Build Coastguard Worker {
255*89c4ff92SAndroid Build Coastguard Worker 
256*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_GpuAcc_Test")
257*89c4ff92SAndroid Build Coastguard Worker {
258*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
259*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDFp32Test(backends);
260*89c4ff92SAndroid Build Coastguard Worker }
261*89c4ff92SAndroid Build Coastguard Worker 
262*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_Padding_GpuAcc_Test")
263*89c4ff92SAndroid Build Coastguard Worker {
264*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
265*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDFp32PaddingTest(backends);
266*89c4ff92SAndroid Build Coastguard Worker }
267*89c4ff92SAndroid Build Coastguard Worker 
268*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Uint8_GpuAcc_Test")
269*89c4ff92SAndroid Build Coastguard Worker {
270*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
271*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDUint8Test(backends);
272*89c4ff92SAndroid Build Coastguard Worker }
273*89c4ff92SAndroid Build Coastguard Worker 
274*89c4ff92SAndroid Build Coastguard Worker }
275*89c4ff92SAndroid Build Coastguard Worker 
276*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("SpaceToBatchND_CpuRefTests")
277*89c4ff92SAndroid Build Coastguard Worker {
278*89c4ff92SAndroid Build Coastguard Worker 
279*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_CpuRef_Test")
280*89c4ff92SAndroid Build Coastguard Worker {
281*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
282*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDFp32Test(backends);
283*89c4ff92SAndroid Build Coastguard Worker }
284*89c4ff92SAndroid Build Coastguard Worker 
285*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_Padding_CpuRef_Test")
286*89c4ff92SAndroid Build Coastguard Worker {
287*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
288*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDFp32PaddingTest(backends);
289*89c4ff92SAndroid Build Coastguard Worker }
290*89c4ff92SAndroid Build Coastguard Worker 
291*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Uint8_CpuRef_Test")
292*89c4ff92SAndroid Build Coastguard Worker {
293*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
294*89c4ff92SAndroid Build Coastguard Worker     SpaceToBatchNDUint8Test(backends);
295*89c4ff92SAndroid Build Coastguard Worker }
296*89c4ff92SAndroid Build Coastguard Worker 
297*89c4ff92SAndroid Build Coastguard Worker }
298*89c4ff92SAndroid Build Coastguard Worker 
299*89c4ff92SAndroid Build Coastguard Worker } // namespace armnnDelegate