Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / thirdparty / fluid / modules / gapi / perf / gpu / gapi_core_perf_tests_gpu.cpp
1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4 //
5 // Copyright (C) 2018-2019 Intel Corporation
6
7
8 #include "../perf_precomp.hpp"
9 #include "../common/gapi_core_perf_tests.hpp"
10
11 #define CORE_GPU cv::gapi::core::gpu::kernels()
12
13 namespace opencv_test
14 {
15
16 INSTANTIATE_TEST_CASE_P(AddPerfTestGPU, AddPerfTest,
17                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
18                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
19                                 Values( -1, CV_8U, CV_16U, CV_32F ),
20                                 Values(cv::compile_args(CORE_GPU))));
21
22 INSTANTIATE_TEST_CASE_P(AddCPerfTestGPU, AddCPerfTest,
23                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
24                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
25                                 Values( -1, CV_8U, CV_16U, CV_32F ),
26                                 Values(cv::compile_args(CORE_GPU))));
27
28 INSTANTIATE_TEST_CASE_P(SubPerfTestGPU, SubPerfTest,
29                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
30                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
31                                 Values( -1, CV_8U, CV_16U, CV_32F ),
32                                 Values(cv::compile_args(CORE_GPU))));
33
34 INSTANTIATE_TEST_CASE_P(SubCPerfTestGPU, SubCPerfTest,
35                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
36                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
37                                 Values( -1, CV_8U, CV_16U, CV_32F ),
38                                 Values(cv::compile_args(CORE_GPU))));
39
40 INSTANTIATE_TEST_CASE_P(SubRCPerfTestGPU, SubRCPerfTest,
41                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
42                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
43                                 Values( -1, CV_8U, CV_16U, CV_32F ),
44                                 Values(cv::compile_args(CORE_GPU))));
45
46 INSTANTIATE_TEST_CASE_P(MulPerfTestGPU, MulPerfTest,
47                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
48                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
49                                 Values( -1, CV_8U, CV_16U, CV_32F ),
50                                 Values(cv::compile_args(CORE_GPU))));
51
52 INSTANTIATE_TEST_CASE_P(MulDoublePerfTestGPU, MulDoublePerfTest,
53                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
54                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
55                                 Values( -1, CV_8U, CV_16U, CV_32F ),
56                                 Values(cv::compile_args(CORE_GPU))));
57
58 INSTANTIATE_TEST_CASE_P(MulCPerfTestGPU, MulCPerfTest,
59                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
60                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
61                                 Values( -1, CV_8U, CV_16U, CV_32F ),
62                                 Values(cv::compile_args(CORE_GPU))));
63
64 INSTANTIATE_TEST_CASE_P(DivPerfTestGPU, DivPerfTest,
65                         Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 2).to_compare_f()),
66                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
67                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
68                                 Values( -1, CV_8U, CV_16U, CV_32F ),
69                                 Values(cv::compile_args(CORE_GPU))));
70
71 INSTANTIATE_TEST_CASE_P(DivCPerfTestGPU, DivCPerfTest,
72                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
73                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
74                                 Values( -1, CV_8U, CV_16U, CV_32F ),
75                                 Values(cv::compile_args(CORE_GPU))));
76
77 INSTANTIATE_TEST_CASE_P(DivRCPerfTestGPU, DivRCPerfTest,
78                         Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 2).to_compare_f()),
79                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
80                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
81                                 Values( -1, CV_8U, CV_16U, CV_32F ),
82                                 Values(cv::compile_args(CORE_GPU))));
83 //TODO: mask test doesn't work
84 #if 0
85 INSTANTIATE_TEST_CASE_P(MaskPerfTestGPU, MaskPerfTest,
86                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
87                                 Values( CV_8UC1, CV_16UC1, CV_16SC1),
88                                 Values(cv::compile_args(CORE_GPU))));
89 #endif
90
91 INSTANTIATE_TEST_CASE_P(MeanPerfTestGPU, MeanPerfTest,
92                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
93                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
94                                 Values(cv::compile_args(CORE_GPU))));
95
96 INSTANTIATE_TEST_CASE_P(Polar2CartPerfTestGPU, Polar2CartPerfTest,
97                         Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 2).to_compare_f()),
98                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
99                                 Values(cv::compile_args(CORE_GPU))));
100
101 INSTANTIATE_TEST_CASE_P(Cart2PolarPerfTestGPU, Cart2PolarPerfTest,
102                         Combine(Values(Tolerance_FloatRel_IntAbs(1e-2, 2).to_compare_f()),
103                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
104                                 Values(cv::compile_args(CORE_GPU))));
105
106 INSTANTIATE_TEST_CASE_P(CmpPerfTestGPU, CmpPerfTest,
107                         Combine(Values(CMP_EQ, CMP_GE, CMP_NE, CMP_GT, CMP_LT, CMP_LE),
108                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
109                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
110                                 Values(cv::compile_args(CORE_GPU))));
111
112 INSTANTIATE_TEST_CASE_P(CmpWithScalarPerfTestGPU, CmpWithScalarPerfTest,
113                         Combine(Values(CMP_EQ, CMP_GE, CMP_NE, CMP_GT, CMP_LT, CMP_LE),
114                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
115                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
116                                 Values(cv::compile_args(CORE_GPU))));
117
118 INSTANTIATE_TEST_CASE_P(BitwisePerfTestGPU, BitwisePerfTest,
119                         Combine(Values(AND, OR, XOR),
120                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
121                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
122                                 Values(cv::compile_args(CORE_GPU))));
123
124 INSTANTIATE_TEST_CASE_P(BitwiseNotPerfTestGPU, BitwiseNotPerfTest,
125                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
126                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
127                                 Values(cv::compile_args(CORE_GPU))));
128
129 INSTANTIATE_TEST_CASE_P(SelectPerfTestGPU, SelectPerfTest,
130                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
131                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
132                                 Values(cv::compile_args(CORE_GPU))));
133
134 INSTANTIATE_TEST_CASE_P(MinPerfTestGPU, MinPerfTest,
135                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
136                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
137                                 Values(cv::compile_args(CORE_GPU))));
138
139 INSTANTIATE_TEST_CASE_P(MaxPerfTestGPU, MaxPerfTest,
140                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
141                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
142                                 Values(cv::compile_args(CORE_GPU))));
143
144 INSTANTIATE_TEST_CASE_P(AbsDiffPerfTestGPU, AbsDiffPerfTest,
145                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
146                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
147                                 Values(cv::compile_args(CORE_GPU))));
148
149 INSTANTIATE_TEST_CASE_P(AbsDiffCPerfTestGPU, AbsDiffCPerfTest,
150                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
151                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
152                                 Values(cv::compile_args(CORE_GPU))));
153
154 INSTANTIATE_TEST_CASE_P(SumPerfTestGPU, SumPerfTest,
155                         Combine(Values(AbsToleranceScalar(1e-5).to_compare_f()),
156                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
157                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
158                                 Values(cv::compile_args(CORE_GPU))));
159
160 INSTANTIATE_TEST_CASE_P(AddWeightedPerfTestGPU, AddWeightedPerfTest,
161                         Combine(Values(Tolerance_FloatRel_IntAbs(1e-6, 1).to_compare_f()),
162                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
163                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
164                                 Values( -1, CV_8U, CV_16U, CV_32F ),
165                                 Values(cv::compile_args(CORE_GPU))));
166
167 INSTANTIATE_TEST_CASE_P(NormPerfTestGPU, NormPerfTest,
168                         Combine(Values(AbsToleranceScalar(1e-5).to_compare_f()),
169                                 Values(NORM_INF, NORM_L1, NORM_L2),
170                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
171                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
172                                 Values(cv::compile_args(CORE_GPU))));
173
174 INSTANTIATE_TEST_CASE_P(IntegralPerfTestGPU, IntegralPerfTest,
175                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
176                                 Values( CV_8UC1, CV_16UC1, CV_16SC1, CV_32FC1 ),
177                                 Values(cv::compile_args(CORE_GPU))));
178
179 INSTANTIATE_TEST_CASE_P(ThresholdPerfTestGPU, ThresholdPerfTest,
180                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
181                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
182                                 Values(cv::THRESH_BINARY, cv::THRESH_BINARY_INV, cv::THRESH_TRUNC, cv::THRESH_TOZERO, cv::THRESH_TOZERO_INV),
183                                 Values(cv::compile_args(CORE_GPU))));
184
185 INSTANTIATE_TEST_CASE_P(ThresholdPerfTestGPU, ThresholdOTPerfTest,
186                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
187                                 Values( CV_8UC1 ),
188                                 Values(cv::THRESH_OTSU, cv::THRESH_TRIANGLE),
189                                 Values(cv::compile_args(CORE_GPU))));
190
191 INSTANTIATE_TEST_CASE_P(InRangePerfTestGPU, InRangePerfTest,
192                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
193                                 Values( CV_8UC1 ),
194                                 Values(cv::compile_args(CORE_GPU))));
195
196 INSTANTIATE_TEST_CASE_P(Split3PerfTestGPU, Split3PerfTest,
197                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
198                                 Values(cv::compile_args(CORE_GPU))));
199
200 INSTANTIATE_TEST_CASE_P(Split4PerfTestGPU, Split4PerfTest,
201                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
202                                 Values(cv::compile_args(CORE_GPU))));
203
204 INSTANTIATE_TEST_CASE_P(Merge3PerfTestGPU, Merge3PerfTest,
205                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
206                                 Values(cv::compile_args(CORE_GPU))));
207
208 INSTANTIATE_TEST_CASE_P(Merge4PerfTestGPU, Merge4PerfTest,
209                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
210                                 Values(cv::compile_args(CORE_GPU))));
211
212 INSTANTIATE_TEST_CASE_P(RemapPerfTestGPU, RemapPerfTest,
213                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
214                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
215                                 Values(cv::compile_args(CORE_GPU))));
216
217 INSTANTIATE_TEST_CASE_P(FlipPerfTestGPU, FlipPerfTest,
218                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
219                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
220                                 Values(0,1,-1),
221                                 Values(cv::compile_args(CORE_GPU))));
222
223 INSTANTIATE_TEST_CASE_P(CropPerfTestGPU, CropPerfTest,
224                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
225                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
226                                 Values(cv::Rect(10, 8, 20, 35), cv::Rect(4, 10, 37, 50)),
227                                 Values(cv::compile_args(CORE_GPU))));
228
229 INSTANTIATE_TEST_CASE_P(ConcatHorPerfTestGPU, ConcatHorPerfTest,
230                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
231                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
232                                 Values(cv::compile_args(CORE_GPU))));
233
234 INSTANTIATE_TEST_CASE_P(ConcatVertPerfTestGPU, ConcatVertPerfTest,
235                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
236                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
237                                 Values(cv::compile_args(CORE_GPU))));
238
239 //TODO: fix this backend to allow ConcatVertVec ConcatHorVec
240 #if 0
241 INSTANTIATE_TEST_CASE_P(ConcatHorVecPerfTestGPU, ConcatHorVecPerfTest,
242     Combine(Values(szSmall128, szVGA, sz720p, sz1080p),
243         Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
244         Values(cv::compile_args(CORE_GPU))));
245
246
247 INSTANTIATE_TEST_CASE_P(ConcatVertVecPerfTestGPU, ConcatVertVecPerfTest,
248                         Combine(Values( szSmall128, szVGA, sz720p, sz1080p ),
249                                 Values( CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 ),
250                                 Values(cv::compile_args(CORE_GPU))));
251 #endif
252
253 INSTANTIATE_TEST_CASE_P(LUTPerfTestGPU, LUTPerfTest,
254                         Combine(Values(CV_8UC1, CV_8UC3),
255                                 Values(CV_8UC1),
256                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
257                                 Values(cv::compile_args(CORE_GPU))));
258
259 INSTANTIATE_TEST_CASE_P(LUTPerfTestCustomGPU, LUTPerfTest,
260                         Combine(Values(CV_8UC3),
261                                 Values(CV_8UC3),
262                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
263                                 Values(cv::compile_args(CORE_GPU))));
264
265
266 INSTANTIATE_TEST_CASE_P(ConvertToPerfTestGPU, ConvertToPerfTest,
267                         Combine(Values(CV_8UC3, CV_8UC1, CV_16UC1, CV_32FC1),
268                                 Values(CV_8U, CV_16U, CV_16S, CV_32F),
269                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
270                                 Values(cv::compile_args(CORE_GPU))));
271
272 INSTANTIATE_TEST_CASE_P(ResizePerfTestGPU, ResizePerfTest,
273                         Combine(Values(AbsSimilarPoints(2, 0.05).to_compare_f()),
274                                 Values(CV_8UC1, CV_16UC1, CV_16SC1),
275                                 Values(cv::INTER_NEAREST, cv::INTER_LINEAR, cv::INTER_AREA),
276                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
277                                 Values(cv::Size(64,64),
278                                        cv::Size(30,30)),
279                                 Values(cv::compile_args(CORE_GPU))));
280
281 INSTANTIATE_TEST_CASE_P(ResizeFxFyPerfTestGPU, ResizeFxFyPerfTest,
282                         Combine(Values(AbsSimilarPoints(2, 0.05).to_compare_f()),
283                                 Values(CV_8UC1, CV_16UC1, CV_16SC1),
284                                 Values(cv::INTER_NEAREST, cv::INTER_LINEAR, cv::INTER_AREA),
285                                 Values( szSmall128, szVGA, sz720p, sz1080p ),
286                                 Values(0.5, 0.1),
287                                 Values(0.5, 0.1),
288                                 Values(cv::compile_args(CORE_GPU))));
289 }