blob: 26cadd22db2aa2d8b7e2bc814d48ff334671bf84 [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"
David Monahand7fca092023-01-12 14:53:34 +000014#include "backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp"
Cathal Corbett3b9acd52022-12-09 12:17:27 +000015#include "backendsCommon/test/SliceEndToEndTestImpl.hpp"
Nikhil Raj9a339462022-12-05 11:24:35 +000016#include "backendsCommon/test/SubtractionEndToEndTestImpl.hpp"
Matthew Sloyanfc9d5e72022-12-08 13:38:23 +000017#include "backendsCommon/test/TransposeConvolution2dEndToEndTestImpl.hpp"
Cathal Corbett0bb096d2022-12-22 13:09:38 +000018#include "backendsCommon/test/TransposeEndToEndTestImpl.hpp"
Ryan OShea3c2795a2022-11-03 17:51:52 +000019
20#include <doctest/doctest.h>
21
22TEST_SUITE("TosaRefEndToEnd")
23{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000024std::vector<BackendId> tosaDefaultBackends = { "TosaRef" };
Ryan OShea3c2795a2022-11-03 17:51:52 +000025
26// Addition
Cathal Corbettbd18eab2022-11-15 12:56:16 +000027TEST_CASE("TosaRefAdditionEndtoEndTestFloat32")
Ryan OShea3c2795a2022-11-03 17:51:52 +000028{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000029 AdditionEndToEnd<DataType::Float32>(tosaDefaultBackends);
Ryan OShea3c2795a2022-11-03 17:51:52 +000030}
31
Cathal Corbettbd18eab2022-11-15 12:56:16 +000032TEST_CASE("TosaRefAdditionEndtoEndTestInt32")
Matthew Sloyan2523b792022-11-14 10:18:01 +000033{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000034 AdditionEndToEnd<DataType::Signed32>(tosaDefaultBackends);
Matthew Sloyan2523b792022-11-14 10:18:01 +000035}
36
Cathal Corbettbd18eab2022-11-15 12:56:16 +000037TEST_CASE("TosaRefAdditionEndtoEndTestFloat16")
Matthew Sloyan2523b792022-11-14 10:18:01 +000038{
Cathal Corbettbd18eab2022-11-15 12:56:16 +000039 AdditionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
40}
41
Kevin May5b58e312022-12-15 10:15:21 +000042// Concat
43TEST_CASE("TosaRefConcatEndToEndDim0TestFloat32")
44{
45 ConcatDim0EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
46}
47
48TEST_CASE("TosaRefConcatEndToEndDim0TestInt32")
49{
50 ConcatDim0EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
51}
52
53TEST_CASE("TosaRefConcatEndToEndDim1TestFloat32")
54{
55 ConcatDim1EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
56}
57
58TEST_CASE("TosaRefConcatEndToEndDim1TestInt32")
59{
60 ConcatDim1EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
61}
62
63TEST_CASE("TosaRefConcatEndToEndDim2TestFloat32")
64{
65 ConcatDim2EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
66}
67
68TEST_CASE("TosaRefConcatEndToEndDim2TestInt32")
69{
70 ConcatDim2EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
71}
72
73TEST_CASE("TosaRefConcatEndToEndDim3TestFloat32")
74{
75 ConcatDim3EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
76}
77
78TEST_CASE("TosaRefConcatEndToEndDim3TestInt32")
79{
80 ConcatDim3EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends);
81}
82
Matthew Sloyanc5fe6e72022-11-25 16:10:00 +000083// Conv2d
84TEST_CASE("TosaRefConv2dEndtoEndTestFloat32")
85{
86 Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC);
87}
88
89TEST_CASE("TosaRefConv2dWithoutBiasEndtoEndTestFloat32")
90{
91 Convolution2dEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends, armnn::DataLayout::NHWC, false);
92}
93
Cathal Corbettbd18eab2022-11-15 12:56:16 +000094// Average Pool 2D
95TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat32")
96{
97 AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends);
98}
99
100TEST_CASE("TosaRefAvgPool2DEndtoEndTestFloat16")
101{
102 AvgPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
103}
104
105TEST_CASE("TosaRefAvgPool2DIgnoreValueEndtoEndTestFloat32")
106{
107 AvgPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue);
Matthew Sloyan2523b792022-11-14 10:18:01 +0000108}
109
Teresa Charlin3fbad942022-12-15 10:35:37 +0000110// Max Pool 2D
111TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat32")
112{
113 MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends);
114}
115
116TEST_CASE("TosaRefMaxPool2DEndtoEndTestFloat16")
117{
118 MaxPool2dEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
119}
120
121TEST_CASE("TosaRefMaxPool2DIgnoreValueEndtoEndTestFloat32")
122{
123 MaxPool2dEndToEnd<DataType::Float32>(tosaDefaultBackends, PaddingMethod::IgnoreValue);
124}
125
Cathal Corbettb30e6552022-12-07 11:50:50 +0000126// Reshape
127TEST_CASE("TosaRefReshapeEndtoEndTestFloat32")
128{
129 ReshapeEndToEnd<DataType::Float32>(tosaDefaultBackends);
130}
131
132TEST_CASE("TosaRefReshapeEndtoEndTestInt32")
133{
134 ReshapeEndToEnd<DataType::Signed32>(tosaDefaultBackends);
135}
136
137TEST_CASE("TosaRefReshapeEndtoEndTestFloat16")
138{
139 ReshapeEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
140}
141
David Monahand7fca092023-01-12 14:53:34 +0000142TEST_CASE("TosaRefRsqrtEndtoEndTestFloat32")
143{
144 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends,
145 UnaryOperation::Rsqrt);
146}
147
Cathal Corbett3b9acd52022-12-09 12:17:27 +0000148// Slice
149TEST_CASE("TosaRefSliceEndtoEndTestFloat32")
150{
151 SliceEndToEnd<DataType::Float32>(tosaDefaultBackends);
152}
153
154TEST_CASE("TosaRefSliceEndtoEndTestInt32")
155{
156 SliceEndToEnd<DataType::Signed32>(tosaDefaultBackends);
157}
158
159TEST_CASE("TosaRefSliceEndtoEndTestFloat16")
160{
161 SliceEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
162}
Nikhil Raj9a339462022-12-05 11:24:35 +0000163TEST_CASE("TosaRefSubtractionEndtoEndTestFloat32")
164{
165 SubtractionEndToEnd<DataType::Float32>(tosaDefaultBackends);
166}
167
168TEST_CASE("TosaRefSubtractionEndtoEndTestInt32")
169{
170 SubtractionEndToEnd<DataType::Signed32>(tosaDefaultBackends);
171}
172
173TEST_CASE("TosaRefSubtractionEndtoEndTestFloat16")
174{
175 SubtractionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
176}
177
178TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat32")
179{
180 MultiplicationEndToEnd<DataType::Float32>(tosaDefaultBackends);
181}
182
183TEST_CASE("TosaRefMultiplicationEndtoEndTestInt32")
184{
185 MultiplicationEndToEnd<DataType::Signed32>(tosaDefaultBackends);
186}
187
188TEST_CASE("TosaRefMultiplicationEndtoEndTestFloat16")
189{
190 MultiplicationEndToEndFloat16<DataType::Float16>(tosaDefaultBackends);
191}
Cathal Corbett3b9acd52022-12-09 12:17:27 +0000192
Matthew Sloyanfc9d5e72022-12-08 13:38:23 +0000193// TransposeConvolution2d
194TEST_CASE("TosaRefTransposeConvolution2dEndToEndFloatNhwcTest")
195{
196 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
197 tosaDefaultBackends, armnn::DataLayout::NHWC);
198}
199
200TEST_CASE("TosaRefSimpleTransposeConvolution2dEndToEndFloatNhwcTest")
201{
202 SimpleTransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
203 tosaDefaultBackends, armnn::DataLayout::NHWC);
204}
205
Cathal Corbett0bb096d2022-12-22 13:09:38 +0000206// Transpose
207TEST_CASE("TosaRefTransposeEndtoEndTestFloat32")
208{
209 TransposeEndToEnd<armnn::DataType::Float32>(tosaDefaultBackends);
210}
211
Ryan OShea3c2795a2022-11-03 17:51:52 +0000212}