blob: 174f392eea1e09e5dd8a3235530fc8587a50f285 [file] [log] [blame]
Aron Virginas-Tar70104002018-10-24 15:33:28 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00006#include <backendsCommon/test/EndToEndTestImpl.hpp>
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +01007
Nattapat Chaimanowongc6a41ff2019-01-29 09:56:02 +00008#include <backendsCommon/test/ArithmeticTestImpl.hpp>
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +01009#include <backendsCommon/test/ConcatTestImpl.hpp>
10#include <backendsCommon/test/DequantizeEndToEndTestImpl.hpp>
Narumol Prangnawarat0be43382019-05-27 11:29:59 +010011#include <backendsCommon/test/SplitterEndToEndTestImpl.hpp>
Aron Virginas-Tar70104002018-10-24 15:33:28 +010012
13#include <boost/test/unit_test.hpp>
14
15BOOST_AUTO_TEST_SUITE(ClEndToEnd)
16
narpra01b9546cf2018-11-20 15:21:28 +000017std::vector<armnn::BackendId> defaultBackends = {armnn::Compute::GpuAcc};
18
Aron Virginas-Tar70104002018-10-24 15:33:28 +010019BOOST_AUTO_TEST_CASE(ConstantUsage_Cl_Float32)
20{
narpra01b9546cf2018-11-20 15:21:28 +000021 ConstantUsageFloat32Test(defaultBackends);
22}
23
Jim Flynne242f2d2019-05-22 14:24:13 +010024BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim0Test)
narpra01b9546cf2018-11-20 15:21:28 +000025{
Jim Flynne242f2d2019-05-22 14:24:13 +010026 ConcatDim0EndToEnd<armnn::DataType::Float32>(defaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +000027}
28
Jim Flynne242f2d2019-05-22 14:24:13 +010029BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim0Uint8Test)
narpra01b9546cf2018-11-20 15:21:28 +000030{
Jim Flynne242f2d2019-05-22 14:24:13 +010031 ConcatDim0EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +000032}
33
Jim Flynne242f2d2019-05-22 14:24:13 +010034BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim1Test)
narpra01b9546cf2018-11-20 15:21:28 +000035{
Jim Flynne242f2d2019-05-22 14:24:13 +010036 ConcatDim1EndToEnd<armnn::DataType::Float32>(defaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +000037}
38
Jim Flynne242f2d2019-05-22 14:24:13 +010039BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim1Uint8Test)
narpra01b9546cf2018-11-20 15:21:28 +000040{
Jim Flynne242f2d2019-05-22 14:24:13 +010041 ConcatDim1EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +000042}
43
Jim Flynne242f2d2019-05-22 14:24:13 +010044BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim3Test)
narpra01b9546cf2018-11-20 15:21:28 +000045{
Jim Flynne242f2d2019-05-22 14:24:13 +010046 ConcatDim3EndToEnd<armnn::DataType::Float32>(defaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +000047}
48
Jim Flynne242f2d2019-05-22 14:24:13 +010049BOOST_AUTO_TEST_CASE(ClConcatEndToEndDim3Uint8Test)
narpra01b9546cf2018-11-20 15:21:28 +000050{
Jim Flynne242f2d2019-05-22 14:24:13 +010051 ConcatDim3EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
Aron Virginas-Tar70104002018-10-24 15:33:28 +010052}
53
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +010054BOOST_AUTO_TEST_CASE(DequantizeEndToEndSimpleTest)
55{
56 DequantizeEndToEndSimple<armnn::DataType::QuantisedAsymm8>(defaultBackends);
57}
58
59BOOST_AUTO_TEST_CASE(DequantizeEndToEndOffsetTest)
60{
61 DequantizeEndToEndOffset<armnn::DataType::QuantisedAsymm8>(defaultBackends);
62}
63
Nattapat Chaimanowongc6a41ff2019-01-29 09:56:02 +000064BOOST_AUTO_TEST_CASE(ClGreaterSimpleEndToEndTest)
65{
66 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
67 0, 0, 0, 0, 0, 0, 0, 0 });
68
69 ArithmeticSimpleEndToEnd<armnn::DataType::Float32, armnn::DataType::Boolean>(defaultBackends,
70 LayerType::Greater,
71 expectedOutput);
72}
73
74BOOST_AUTO_TEST_CASE(ClGreaterSimpleEndToEndUint8Test)
75{
76 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
77 0, 0, 0, 0, 0, 0, 0, 0 });
78
79 ArithmeticSimpleEndToEnd<armnn::DataType::QuantisedAsymm8, armnn::DataType::Boolean>(defaultBackends,
80 LayerType::Greater,
81 expectedOutput);
82}
83
84BOOST_AUTO_TEST_CASE(ClGreaterBroadcastEndToEndTest)
85{
86 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
87 1, 1, 1, 1, 1, 1 });
88
89 ArithmeticBroadcastEndToEnd<armnn::DataType::Float32, armnn::DataType::Boolean>(defaultBackends,
90 LayerType::Greater,
91 expectedOutput);
92}
93
94BOOST_AUTO_TEST_CASE(ClGreaterBroadcastEndToEndUint8Test)
95{
96 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
97 1, 1, 1, 1, 1, 1 });
98
99 ArithmeticBroadcastEndToEnd<armnn::DataType::QuantisedAsymm8, armnn::DataType::Boolean>(defaultBackends,
100 LayerType::Greater,
101 expectedOutput);
102}
103
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100104BOOST_AUTO_TEST_CASE(ClSplitter1dEndToEndTest)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100105{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100106 Splitter1dEndToEnd<armnn::DataType::Float32>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100107}
108
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100109BOOST_AUTO_TEST_CASE(ClSplitter1dEndToEndUint8Test)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100110{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100111 Splitter1dEndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100112}
113
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100114BOOST_AUTO_TEST_CASE(ClSplitter2dDim0EndToEndTest)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100115{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100116 Splitter2dDim0EndToEnd<armnn::DataType::Float32>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100117}
118
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100119BOOST_AUTO_TEST_CASE(ClSplitter2dDim1EndToEndTest)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100120{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100121 Splitter2dDim1EndToEnd<armnn::DataType::Float32>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100122}
123
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100124BOOST_AUTO_TEST_CASE(ClSplitter2dDim0EndToEndUint8Test)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100125{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100126 Splitter2dDim0EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100127}
128
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100129BOOST_AUTO_TEST_CASE(ClSplitter2dDim1EndToEndUint8Test)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100130{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100131 Splitter2dDim1EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100132}
133
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100134BOOST_AUTO_TEST_CASE(ClSplitter3dDim0EndToEndTest)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100135{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100136 Splitter3dDim0EndToEnd<armnn::DataType::Float32>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100137}
138
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100139BOOST_AUTO_TEST_CASE(ClSplitter3dDim1EndToEndTest)
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100140{
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100141 Splitter3dDim1EndToEnd<armnn::DataType::Float32>(defaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100142}
143
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100144BOOST_AUTO_TEST_CASE(ClSplitter3dDim2EndToEndTest)
145{
146 Splitter3dDim2EndToEnd<armnn::DataType::Float32>(defaultBackends);
147}
148
149BOOST_AUTO_TEST_CASE(ClSplitter3dDim0EndToEndUint8Test)
150{
151 Splitter3dDim0EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
152}
153
154BOOST_AUTO_TEST_CASE(ClSplitter3dDim1EndToEndUint8Test)
155{
156 Splitter3dDim1EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
157}
158
159BOOST_AUTO_TEST_CASE(ClSplitter3dDim2EndToEndUint8Test)
160{
161 Splitter3dDim2EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
162}
163
164BOOST_AUTO_TEST_CASE(ClSplitter4dDim0EndToEndTest)
165{
166 Splitter4dDim0EndToEnd<armnn::DataType::Float32>(defaultBackends);
167}
168
169BOOST_AUTO_TEST_CASE(ClSplitter4dDim1EndToEndTest)
170{
171 Splitter4dDim1EndToEnd<armnn::DataType::Float32>(defaultBackends);
172}
173
174BOOST_AUTO_TEST_CASE(ClSplitter4dDim2EndToEndTest)
175{
176 Splitter4dDim2EndToEnd<armnn::DataType::Float32>(defaultBackends);
177}
178
179BOOST_AUTO_TEST_CASE(ClSplitter4dDim3EndToEndTest)
180{
181 Splitter4dDim3EndToEnd<armnn::DataType::Float32>(defaultBackends);
182}
183
184BOOST_AUTO_TEST_CASE(ClSplitter4dDim0EndToEndUint8Test)
185{
186 Splitter4dDim0EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
187}
188
189BOOST_AUTO_TEST_CASE(ClSplitter4dDim1EndToEndUint8Test)
190{
191 Splitter4dDim1EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
192}
193
194BOOST_AUTO_TEST_CASE(ClSplitter4dDim2EndToEndUint8Test)
195{
196 Splitter4dDim2EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
197}
198
199BOOST_AUTO_TEST_CASE(ClSplitter4dDim3EndToEndUint8Test)
200{
201 Splitter4dDim3EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
202}
Nattapat Chaimanowongc6a41ff2019-01-29 09:56:02 +0000203
Aron Virginas-Tar70104002018-10-24 15:33:28 +0100204BOOST_AUTO_TEST_SUITE_END()