1 | /******************************************************************************* |
2 | * Copyright 2017-2022 Intel Corporation |
3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. |
6 | * You may obtain a copy of the License at |
7 | * |
8 | * http://www.apache.org/licenses/LICENSE-2.0 |
9 | * |
10 | * Unless required by applicable law or agreed to in writing, software |
11 | * distributed under the License is distributed on an "AS IS" BASIS, |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 | * See the License for the specific language governing permissions and |
14 | * limitations under the License. |
15 | *******************************************************************************/ |
16 | |
17 | GPU_INST_TEST_CASE(Dilation, |
18 | PARAMS(NChw16n16c, FMT_WEIGHTS_GPU_BLOCKED16x16, FMT_BIAS, NChw16n16c, |
19 | 16, 1, 32, 8, 8, 32, 8, 8, 3, 3, 6, 6, 1, 1, 5, 5), |
20 | PARAMS(nChw16c, FMT_WEIGHTS_GPU_BLOCKED16, FMT_BIAS, nChw16c, 2, 1, 32, |
21 | 8, 8, 32, 8, 8, 3, 3, 6, 6, 1, 1, 5, 5), |
22 | PARAMS(nChw16c, FMT_WEIGHTS_GPU_BLOCKED16, FMT_BIAS, nChw16c, 1, 1, 32, |
23 | 8, 8, 32, 8, 8, 3, 3, 6, 6, 1, 1, 5, 5), |
24 | PARAMS(nchw, Ohwi16o, FMT_BIAS, nChw16c, 2, 1, 3, 8, 8, 32, 8, 8, 3, 3, |
25 | 1, 1, 1, 1, 0, 0), |
26 | PARAMS(nchw, Ohwi16o, FMT_BIAS, nChw16c, 2, 1, 3, 8, 8, 32, 8, 8, 3, 3, |
27 | 6, 6, 1, 1, 5, 5)); |
28 | |
29 | GPU_INST_TEST_CASE(Simple_ref, |
30 | PARAMS(chwn, iohw, FMT_BIAS, NChw16n16c, 16, 1, 32, 8, 8, 32, 8, 8, 3, |
31 | 3, 6, 6, 1, 1, 5, 5), |
32 | PARAMS(nhwc, hwigo, FMT_BIAS, nchw, 2, 2, 4, 1, 1, 4, 1, 1, 1, 1, 0, 0, |
33 | 1, 1, 0, 0), |
34 | PARAMS(nChw4c, Ohwi4o, FMT_BIAS, nChw8c, 2, 1, 32, 8, 8, 32, 8, 8, 3, 3, |
35 | 6, 6, 1, 1, 5, 5), |
36 | PARAMS(chwn, iohw, FMT_NO_BIAS, NChw16n16c, 16, 1, 32, 8, 8, 32, 8, 8, |
37 | 3, 3, 6, 6, 1, 1, 5, 5), |
38 | PARAMS(nhwc, hwigo, FMT_NO_BIAS, nchw, 2, 2, 4, 1, 1, 4, 1, 1, 1, 1, 0, |
39 | 0, 1, 1, 0, 0), |
40 | PARAMS(nChw4c, Ohwi4o, FMT_NO_BIAS, nChw8c, 2, 1, 32, 8, 8, 32, 8, 8, 3, |
41 | 3, 6, 6, 1, 1, 5, 5)); |
42 | |
43 | GPU_INST_TEST_CASE(Simple_no_blocking, |
44 | PARAMS(nhwc, oihw, FMT_BIAS, nhwc, 16, 1, 32, 8, 8, 32, 8, 8, 3, 3, 6, |
45 | 6, 1, 1, 5, 5), |
46 | PARAMS(nhwc, ohwi, FMT_BIAS, nhwc, 16, 1, 32, 8, 8, 32, 8, 8, 3, 3, 6, |
47 | 6, 1, 1, 5, 5), |
48 | PARAMS(nchw, goihw, FMT_BIAS, nchw, 2, 2, 4, 1, 1, 4, 1, 1, 1, 1, 0, 0, |
49 | 1, 2, 0, 0), |
50 | PARAMS(nhwc, oihw, FMT_NO_BIAS, nhwc, 16, 1, 32, 8, 8, 32, 8, 8, 3, 3, |
51 | 6, 6, 1, 1, 5, 5), |
52 | PARAMS(nhwc, ohwi, FMT_NO_BIAS, nhwc, 16, 1, 32, 8, 8, 32, 8, 8, 3, 3, |
53 | 6, 6, 1, 1, 5, 5), |
54 | PARAMS(nchw, goihw, FMT_NO_BIAS, nchw, 2, 2, 4, 1, 1, 4, 1, 1, 1, 1, 0, |
55 | 0, 1, 2, 0, 0)); |
56 | |
57 | GPU_INST_TEST_CASE(Simple_io_formats, |
58 | PARAMS(nhwc, bacd, FMT_BIAS, nhwc, 16, 1, 32, 8, 8, 32, 8, 8, 3, 3, 6, |
59 | 6, 1, 1, 5, 5), |
60 | PARAMS(nhwc, bcda, FMT_BIAS, nhwc, 16, 1, 32, 8, 8, 32, 8, 8, 3, 3, 6, |
61 | 6, 1, 1, 5, 5), |
62 | PARAMS(nchw, acbde, FMT_BIAS, nchw, 2, 2, 4, 1, 1, 4, 1, 1, 1, 1, 0, 0, |
63 | 1, 2, 0, 0), |
64 | PARAMS(nhwc, acdeb, FMT_NO_BIAS, nhwc, 2, 2, 32, 8, 8, 32, 8, 8, 3, 3, |
65 | 6, 6, 1, 1, 5, 5)); |
66 | |
67 | INST_TEST_CASE(Simple_ZeroDim, |
68 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 0, 1, 4, 4, 4, 6, 4, 4, 3, 3, 1, 1, |
69 | 1, 1), |
70 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 0, 1, 4, 0, 4, 6, 0, 4, 3, 3, 1, 1, |
71 | 1, 1), |
72 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 0, 1, 4, 0, 4, 6, 2, 4, 1, 3, 1, 1, |
73 | 1, 1), |
74 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 0, 1, 4, 2, 4, 6, 2, 4, 3, 3, 0, 1, |
75 | 1, 1)); |
76 | |
77 | INST_TEST_CASE(Simple_NCHW_expected_failures, |
78 | PARAMS_EXPECT_FAIL(nchw, oihw, FMT_BIAS, nchw, dnnl_invalid_arguments, |
79 | 1, 1, 0, 4, 4, 6, 4, 4, 3, 3, 1, 1, 1, 1), |
80 | PARAMS_EXPECT_FAIL(nchw, oihw, FMT_BIAS, nchw, dnnl_invalid_arguments, |
81 | 1, 1, 4, 4, 4, 0, 4, 4, 3, 3, 1, 1, 1, 1), |
82 | PARAMS_EXPECT_FAIL(nchw, oihw, FMT_BIAS, nchw, dnnl_invalid_arguments, |
83 | 1, 1, 4, 4, 4, 6, 4, 4, 0, 3, 1, 1, 1, 1), |
84 | PARAMS_EXPECT_FAIL(nchw, oihw, FMT_BIAS, nchw, dnnl_invalid_arguments, |
85 | 1, 1, -4, 4, 4, 6, 4, 4, 3, 3, 1, 1, 1, 1), |
86 | PARAMS_EXPECT_FAIL(nchw, oihw, FMT_BIAS, nchw, dnnl_invalid_arguments, |
87 | 1, 1, 4, 4, 4, 6, 4, 4, 3, 3, -1, 1, 1, 1), |
88 | PARAMS_EXPECT_FAIL(nchw, oihw, FMT_BIAS, nchw, dnnl_invalid_arguments, |
89 | 1, 1, 4, 4, 4, 6, 4, 4, 3, 3, 1, 1, 0, 0)); |
90 | |
91 | CPU_INST_TEST_CASE(Simple_Blocked16_padded, |
92 | // non-1x1 (all) |
93 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
94 | FMT_DATA_BLOCKED16, 2, 1, 17, 13, 13, 23, 12, 12, 3, 3, 0, 0, 1, |
95 | 1), |
96 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
97 | FMT_DATA_BLOCKED16, 2, 1, 21, 13, 13, 16, 12, 12, 3, 3, 0, 0, 1, |
98 | 1), |
99 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
100 | FMT_DATA_BLOCKED16, 2, 1, 23, 13, 13, 19, 12, 12, 3, 3, 0, 0, 1, |
101 | 1), |
102 | // 1x1 (fwd, bwd_w) |
103 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
104 | FMT_DATA_BLOCKED16, 2, 1, 17, 13, 13, 23, 13, 13, 1, 1, 0, 0, 1, |
105 | 1), |
106 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
107 | FMT_DATA_BLOCKED16, 2, 1, 21, 13, 13, 16, 13, 13, 1, 1, 0, 0, 1, |
108 | 1), |
109 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
110 | FMT_DATA_BLOCKED16, 2, 1, 23, 13, 13, 19, 13, 13, 1, 1, 0, 0, 1, |
111 | 1), |
112 | // 1x1 (bwd_d) |
113 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16_IOhw16o16i, FMT_BIAS, |
114 | FMT_DATA_BLOCKED16, 2, 1, 17, 13, 13, 23, 13, 13, 1, 1, 0, 0, 1, |
115 | 1), |
116 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16_IOhw16o16i, FMT_BIAS, |
117 | FMT_DATA_BLOCKED16, 2, 1, 21, 13, 13, 16, 13, 13, 1, 1, 0, 0, 1, |
118 | 1), |
119 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16_IOhw16o16i, FMT_BIAS, |
120 | FMT_DATA_BLOCKED16, 2, 1, 23, 13, 13, 19, 13, 13, 1, 1, 0, 0, 1, |
121 | 1)); |
122 | |
123 | CPU_INST_TEST_CASE(Simple_Blocked8_padded, |
124 | // non-1x1 (all) |
125 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
126 | FMT_DATA_BLOCKED, 2, 1, 17, 13, 13, 23, 12, 12, 3, 3, 0, 0, 1, |
127 | 1), |
128 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
129 | FMT_DATA_BLOCKED, 2, 1, 21, 13, 13, 16, 12, 12, 3, 3, 0, 0, 1, |
130 | 1), |
131 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
132 | FMT_DATA_BLOCKED, 2, 1, 23, 13, 13, 19, 12, 12, 3, 3, 0, 0, 1, |
133 | 1), |
134 | // 1x1 (all) |
135 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
136 | FMT_DATA_BLOCKED, 2, 1, 17, 13, 13, 23, 13, 13, 1, 1, 0, 0, 1, |
137 | 1), |
138 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
139 | FMT_DATA_BLOCKED, 2, 1, 21, 13, 13, 16, 13, 13, 1, 1, 0, 0, 1, |
140 | 1), |
141 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
142 | FMT_DATA_BLOCKED, 2, 1, 23, 13, 13, 19, 13, 13, 1, 1, 0, 0, 1, |
143 | 1)); |
144 | |
145 | CPU_INST_TEST_CASE(Simple_NCHW, |
146 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 4, 4, 6, 4, 4, 3, 3, 1, 1, |
147 | 1, 1), |
148 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 4, 4, 6, 2, 2, 3, 3, 0, 0, |
149 | 1, 1), |
150 | PARAMS(nhwc, oihw, FMT_BIAS, nhwc, 2, 1, 4, 4, 4, 6, 4, 4, 3, 3, 1, 1, |
151 | 1, 1), |
152 | PARAMS(nhwc, oihw, FMT_BIAS, nhwc, 2, 1, 4, 4, 4, 6, 2, 2, 3, 3, 0, 0, |
153 | 1, 1), |
154 | PARAMS(nhwc, hwio, FMT_BIAS, nhwc, 2, 1, 4, 4, 4, 6, 4, 4, 3, 3, 1, 1, |
155 | 1, 1), |
156 | PARAMS(nhwc, hwio, FMT_BIAS, nhwc, 2, 1, 4, 4, 4, 6, 2, 2, 3, 3, 0, 0, |
157 | 1, 1), |
158 | PARAMS(nhwc, hwigo, FMT_BIAS, nhwc, 2, 2, 4, 4, 4, 6, 4, 4, 3, 3, 0, 0, |
159 | 1, 1), |
160 | PARAMS(nhwc, hwigo, FMT_BIAS, nhwc, 2, 2, 4, 4, 4, 6, 4, 4, 3, 3, 1, 1, |
161 | 1, 1)); |
162 | |
163 | CPU_INST_TEST_CASE(Simple_Dilated_NCHW, |
164 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 8, 8, 3, 3, 2, 2, |
165 | 1, 1, 1, 1), |
166 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 6, 6, 3, 3, 1, 1, |
167 | 1, 1, 1, 1), |
168 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 8, 8, 3, 3, 3, 3, |
169 | 1, 1, 2, 2), |
170 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 4, 4, 3, 3, 2, 2, |
171 | 1, 1, 3, 3), |
172 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 10, 10, 6, 5, 5, 3, 3, 3, 3, |
173 | 2, 2, 2, 2), |
174 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 10, 10, 6, 3, 3, 3, 3, 2, 2, |
175 | 2, 2, 3, 3), |
176 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 2, 2, 5, 5, 1, 1, |
177 | 1, 1, 1, 1), |
178 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 2, 2, 5, 5, 3, 3, |
179 | 1, 1, 2, 2), |
180 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 14, 14, 6, 4, 4, 7, 7, 1, 1, |
181 | 1, 1, 1, 1), |
182 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 14, 14, 6, 2, 2, 7, 7, 3, 3, |
183 | 1, 1, 2, 2), |
184 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 8, 8, 3, 3, 2, 1, |
185 | 1, 1, 1, 0), |
186 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 4, 8, 8, 6, 8, 8, 3, 3, 1, 3, |
187 | 1, 1, 0, 2), |
188 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 8, 8, 8, 8, 3, 8, 3, 3, 1, 1, |
189 | 2, 1, 1, 0), |
190 | PARAMS(nchw, oihw, FMT_BIAS, nchw, 2, 1, 8, 8, 8, 8, 8, 2, 3, 3, 1, 1, |
191 | 1, 3, 0, 2)); |
192 | |
193 | CPU_INST_TEST_CASE(Simple_Blocked, |
194 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
195 | FMT_DATA_BLOCKED, 2, 1, 32, 13, 13, 32, 12, 12, 3, 3, 0, 0, 1, |
196 | 1), |
197 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
198 | FMT_DATA_BLOCKED, 2, 1, 32, 3, 3, 32, 4, 4, 3, 3, 1, 1, 1, 1), |
199 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
200 | FMT_DATA_BLOCKED, 2, 1, 32, 4, 4, 32, 4, 4, 3, 3, 0, 0, 1, 1), |
201 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
202 | FMT_DATA_BLOCKED, 2, 1, 32, 3, 3, 32, 2, 2, 3, 3, 0, 0, 1, 1), |
203 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
204 | FMT_DATA_BLOCKED, 2, 1, 32, 2, 2, 32, 2, 2, 3, 3, 1, 1, 1, 1), |
205 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
206 | FMT_DATA_BLOCKED, 2, 1, 32, 13, 13, 48, 13, 13, 3, 3, 1, 1, 1, |
207 | 1), |
208 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
209 | FMT_DATA_BLOCKED, 2, 1, 32, 13, 13, 48, 11, 11, 3, 3, 0, 0, 1, |
210 | 1)); |
211 | |
212 | CPU_INST_TEST_CASE(Simple_Dilated_Blocked, |
213 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
214 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 11, 11, 3, 3, 0, 0, 1, |
215 | 1, 1, 1), |
216 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
217 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 9, 9, 3, 3, 0, 0, 1, 1, |
218 | 2, 2), |
219 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
220 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 7, 7, 3, 3, 0, 0, 1, 1, |
221 | 3, 3), |
222 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
223 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 7, 7, 3, 3, 1, 1, 2, 2, |
224 | 1, 1), |
225 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
226 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 6, 6, 3, 3, 1, 1, 2, 2, |
227 | 2, 2), |
228 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
229 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 5, 5, 3, 3, 1, 1, 2, 2, |
230 | 3, 3), |
231 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
232 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 9, 9, 5, 5, 1, 1, 1, 1, |
233 | 1, 1), |
234 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
235 | FMT_DATA_BLOCKED, 2, 1, 32, 15, 15, 32, 3, 3, 5, 5, 1, 1, 2, 2, |
236 | 2, 2), |
237 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
238 | FMT_DATA_BLOCKED, 2, 1, 32, 22, 22, 32, 12, 12, 7, 7, 1, 1, 1, |
239 | 1, 1, 1), |
240 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
241 | FMT_DATA_BLOCKED, 2, 1, 32, 22, 22, 32, 3, 3, 7, 7, 1, 1, 2, 2, |
242 | 2, 2), |
243 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
244 | FMT_DATA_BLOCKED, 2, 1, 32, 8, 8, 32, 3, 8, 3, 3, 1, 1, 2, 1, 1, |
245 | 0), |
246 | PARAMS(FMT_DATA_BLOCKED, FMT_WEIGHTS_BLOCKED, FMT_BIAS, |
247 | FMT_DATA_BLOCKED, 2, 1, 32, 8, 8, 32, 8, 2, 3, 3, 1, 1, 1, 3, 0, |
248 | 2)); |
249 | |
250 | CPU_INST_TEST_CASE(Simple_Blocked16, |
251 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
252 | FMT_DATA_BLOCKED16, 2, 1, 32, 13, 13, 32, 12, 12, 3, 3, 0, 0, 1, |
253 | 1), |
254 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
255 | FMT_DATA_BLOCKED16, 2, 1, 32, 3, 3, 32, 4, 4, 3, 3, 1, 1, 1, 1), |
256 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
257 | FMT_DATA_BLOCKED16, 2, 1, 32, 4, 4, 32, 4, 4, 3, 3, 0, 0, 1, 1), |
258 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
259 | FMT_DATA_BLOCKED16, 2, 1, 32, 3, 3, 32, 2, 2, 3, 3, 0, 0, 1, 1), |
260 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
261 | FMT_DATA_BLOCKED16, 2, 1, 32, 2, 2, 32, 2, 2, 3, 3, 1, 1, 1, 1), |
262 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
263 | FMT_DATA_BLOCKED16, 2, 1, 32, 13, 13, 48, 13, 13, 3, 3, 1, 1, 1, |
264 | 1), |
265 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
266 | FMT_DATA_BLOCKED16, 2, 1, 32, 13, 13, 48, 11, 11, 3, 3, 0, 0, 1, |
267 | 1), |
268 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
269 | FMT_DATA_BLOCKED16, 2, 1, 32, 8, 8, 48, 5, 5, 4, 4, 0, 0, 1, 1), |
270 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
271 | FMT_DATA_BLOCKED16, 2, 1, 32, 7, 7, 48, 10, 10, 4, 4, 3, 3, 1, |
272 | 1), |
273 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
274 | FMT_DATA_BLOCKED16, 2, 1, 32, 1, 1, 48, 2, 2, 4, 4, 2, 2, 1, 1), |
275 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
276 | FMT_DATA_BLOCKED16, 2, 1, 32, 28, 28, 48, 13, 13, 4, 4, 0, 0, 2, |
277 | 2), |
278 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
279 | FMT_DATA_BLOCKED16, 2, 1, 32, 28, 28, 48, 14, 14, 4, 4, 1, 1, 2, |
280 | 2), |
281 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
282 | FMT_DATA_BLOCKED16, 2, 1, 32, 26, 26, 48, 13, 13, 4, 4, 1, 1, 2, |
283 | 2), |
284 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
285 | FMT_DATA_BLOCKED16, 2, 1, 32, 84, 84, 48, 28, 28, 5, 5, 1, 1, 3, |
286 | 3), |
287 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
288 | FMT_DATA_BLOCKED16, 2, 1, 32, 21, 21, 48, 7, 7, 5, 5, 1, 1, 3, |
289 | 3), |
290 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
291 | FMT_DATA_BLOCKED16, 2, 1, 32, 18, 18, 48, 5, 5, 6, 6, 2, 2, 4, |
292 | 4), |
293 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
294 | FMT_DATA_BLOCKED16, 2, 1, 32, 34, 71, 48, 11, 23, 7, 8, 2, 1, 3, |
295 | 3), |
296 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
297 | FMT_DATA_BLOCKED16, 2, 1, 32, 6, 6, 48, 2, 2, 3, 3, 0, 0, 2, 2), |
298 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
299 | FMT_DATA_BLOCKED16, 2, 1, 32, 9, 9, 48, 2, 2, 5, 5, 0, 0, 3, |
300 | 3)); |
301 | |
302 | CPU_INST_TEST_CASE(Simple_Dilated_Blocked16, |
303 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
304 | FMT_DATA_BLOCKED16, 2, 1, 32, 17, 17, 32, 17, 17, 3, 3, 2, 2, 1, |
305 | 1, 1, 1), |
306 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
307 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 11, 11, 3, 3, 0, 0, 1, |
308 | 1, 1, 1), |
309 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
310 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 9, 9, 3, 3, 0, 0, 1, |
311 | 1, 2, 2), |
312 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
313 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 7, 7, 3, 3, 0, 0, 1, |
314 | 1, 3, 3), |
315 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
316 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 7, 7, 3, 3, 1, 1, 2, |
317 | 2, 1, 1), |
318 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
319 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 6, 6, 3, 3, 1, 1, 2, |
320 | 2, 2, 2), |
321 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
322 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 5, 5, 3, 3, 1, 1, 2, |
323 | 2, 3, 3), |
324 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
325 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 9, 9, 5, 5, 1, 1, 1, |
326 | 1, 1, 1), |
327 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
328 | FMT_DATA_BLOCKED16, 2, 1, 32, 15, 15, 32, 3, 3, 5, 5, 1, 1, 2, |
329 | 2, 2, 2), |
330 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
331 | FMT_DATA_BLOCKED16, 2, 1, 32, 22, 22, 32, 12, 12, 7, 7, 1, 1, 1, |
332 | 1, 1, 1), |
333 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
334 | FMT_DATA_BLOCKED16, 2, 1, 32, 22, 22, 32, 3, 3, 7, 7, 1, 1, 2, |
335 | 2, 2, 2), |
336 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
337 | FMT_DATA_BLOCKED16, 2, 1, 32, 22, 22, 32, 8, 8, 9, 9, 1, 1, 1, |
338 | 1, 1, 1), |
339 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
340 | FMT_DATA_BLOCKED16, 2, 1, 32, 7, 29, 32, 7, 29, 3, 3, 2, 2, 1, |
341 | 1, 1, 1), |
342 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
343 | FMT_DATA_BLOCKED16, 2, 1, 32, 7, 29, 32, 7, 29, 3, 5, 2, 4, 1, |
344 | 1, 1, 1), |
345 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
346 | FMT_DATA_BLOCKED16, 2, 1, 32, 7, 29, 32, 7, 29, 3, 9, 2, 8, 1, |
347 | 1, 1, 1), |
348 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
349 | FMT_DATA_BLOCKED16, 2, 1, 32, 8, 8, 32, 3, 8, 3, 3, 1, 1, 2, 1, |
350 | 1, 0), |
351 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
352 | FMT_DATA_BLOCKED16, 2, 1, 32, 8, 8, 32, 8, 2, 3, 3, 1, 1, 1, 3, |
353 | 0, 2)); |
354 | |
355 | CPU_INST_TEST_CASE(Simple_Regression, |
356 | /* grouped small input-channel avx512 */ |
357 | PARAMS(nchw, gOhwi16o, FMT_BIAS, FMT_DATA_BLOCKED16, 2, 2, 16, 8, 8, 32, |
358 | 8, 8, 3, 3, 1, 1, 1, 1), |
359 | /* grouped small input-channel avx2 */ |
360 | PARAMS(nchw, gOhwi8o, FMT_BIAS, nChw8c, 2, 2, 4, 2, 2, 16, 8, 8, 3, 3, |
361 | 1, 1, 1, 1), |
362 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
363 | FMT_DATA_BLOCKED16, 2, 1, 32, 16, 16, 32, 16, 16, 3, 3, 0, 0, 1, |
364 | 1), |
365 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
366 | FMT_DATA_BLOCKED16, 2, 1, 32, 28, 28, 32, 28, 28, 3, 3, 0, 0, 1, |
367 | 1), |
368 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
369 | FMT_DATA_BLOCKED16, 2, 1, 32, 32, 32, 32, 32, 32, 3, 3, 0, 0, 1, |
370 | 1), |
371 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
372 | FMT_DATA_BLOCKED16, 2, 1, 32, 3, 3, 32, 2, 2, 3, 3, 1, 1, 1, 1), |
373 | PARAMS(FMT_DATA_BLOCKED16, FMT_WEIGHTS_BLOCKED16, FMT_BIAS, |
374 | FMT_DATA_BLOCKED16, 2, 1, 32, 34, 34, 32, 34, 34, 5, 5, 2, 2, 1, |
375 | 1)); |
376 | |
377 | CPU_INST_TEST_CASE(Simple_Depthwise_Blocked, |
378 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 2, 8, 8, |
379 | 16, 16, 8, 16, 16, 3, 3, 0, 0, 1, 1), |
380 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 2, 32, 32, |
381 | 9, 9, 32, 2, 2, 5, 5, 0, 0, 3, 3), |
382 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 2, 64, 64, |
383 | 26, 26, 64, 13, 13, 4, 4, 1, 1, 2, 2), |
384 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 2, 32, 32, |
385 | 111, 111, 32, 112, 112, 1, 1, 0, 0, 1, 1), |
386 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 1, 64, 64, |
387 | 1, 2, 64, 1, 1, 3, 3, 1, 1, 1, 2), |
388 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 1, 16, 16, |
389 | 16, 32, 16, 16, 18, 3, 3, 1, 2, 1, 2), |
390 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 1, 24, 24, |
391 | 32, 16, 24, 16, 14, 3, 3, 1, 0, 2, 1), |
392 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 1, 16, 16, |
393 | 32, 16, 16, 18, 16, 3, 3, 2, 1, 2, 1), |
394 | PARAMS(FMT_DATA_BLOCKED, Goihw8g, FMT_BIAS, FMT_DATA_BLOCKED, 1, 8, 8, |
395 | 500, 500, 8, 698, 698, 3, 3, 100, 100, 1, 1)); |
396 | |
397 | CPU_INST_TEST_CASE(Simple_Depthwise_Blocked16, |
398 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
399 | 16, 16, 16, 16, 16, 16, 16, 3, 3, 0, 0, 1, 1), |
400 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
401 | 32, 32, 9, 9, 32, 2, 2, 5, 5, 0, 0, 3, 3), |
402 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
403 | 64, 64, 26, 26, 64, 13, 13, 4, 4, 1, 1, 2, 2), |
404 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
405 | 32, 32, 111, 111, 32, 112, 112, 1, 1, 0, 0, 1, 1), |
406 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
407 | 64, 64, 1, 2, 64, 1, 1, 3, 3, 1, 1, 1, 2), |
408 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
409 | 32, 32, 16, 32, 32, 14, 16, 3, 3, 0, 1, 1, 2), |
410 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
411 | 16, 16, 16, 32, 16, 16, 18, 3, 3, 1, 2, 1, 2), |
412 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
413 | 32, 32, 32, 16, 32, 16, 14, 3, 3, 1, 0, 2, 1), |
414 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
415 | 16, 16, 32, 16, 16, 18, 16, 3, 3, 2, 1, 2, 1), |
416 | PARAMS(FMT_DATA_BLOCKED16, Goihw16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
417 | 16, 16, 500, 500, 16, 698, 698, 3, 3, 100, 100, 1, 1)); |
418 | |
419 | CPU_INST_TEST_CASE(Simple_Depthwise_BRDGMM_Blocked16, |
420 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
421 | 16, 16, 16, 16, 16, 16, 16, 3, 3, 0, 0, 1, 1), |
422 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
423 | 32, 32, 9, 9, 32, 2, 2, 5, 5, 0, 0, 3, 3), |
424 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
425 | 64, 64, 26, 26, 64, 13, 13, 4, 4, 1, 1, 2, 2), |
426 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
427 | 32, 32, 111, 111, 32, 112, 112, 1, 1, 0, 0, 1, 1), |
428 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, |
429 | 64, 64, 1, 2, 64, 1, 1, 3, 3, 1, 1, 1, 2), |
430 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
431 | 32, 32, 16, 32, 32, 14, 16, 3, 3, 0, 1, 1, 2), |
432 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
433 | 16, 16, 16, 32, 16, 16, 18, 3, 3, 1, 2, 1, 2), |
434 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
435 | 32, 32, 32, 16, 32, 16, 14, 3, 3, 1, 0, 2, 1), |
436 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
437 | 16, 16, 32, 16, 16, 18, 16, 3, 3, 2, 1, 2, 1), |
438 | PARAMS(FMT_DATA_BLOCKED16, hwioG16g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, |
439 | 16, 16, 500, 500, 16, 698, 698, 3, 3, 100, 100, 1, 1)); |
440 | |
441 | CPU_INST_TEST_CASE(Simple_Depthwise_BRDGMM_Blocked8, |
442 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, 16, 16, 16, 16, |
443 | 16, 16, 16, 3, 3, 0, 0, 1, 1), |
444 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, 32, 32, 9, 9, 32, |
445 | 2, 2, 5, 5, 0, 0, 3, 3), |
446 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, 64, 64, 26, 26, |
447 | 64, 13, 13, 4, 4, 1, 1, 2, 2), |
448 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, 32, 32, 111, 111, |
449 | 32, 112, 112, 1, 1, 0, 0, 1, 1), |
450 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 2, 64, 64, 1, 2, 64, |
451 | 1, 1, 3, 3, 1, 1, 1, 2), |
452 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, 32, 32, 16, 32, |
453 | 32, 14, 16, 3, 3, 0, 1, 1, 2), |
454 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, 16, 16, 16, 32, |
455 | 16, 16, 18, 3, 3, 1, 2, 1, 2), |
456 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, 32, 32, 32, 16, |
457 | 32, 16, 14, 3, 3, 1, 0, 2, 1), |
458 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, 16, 16, 32, 16, |
459 | 16, 18, 16, 3, 3, 2, 1, 2, 1), |
460 | PARAMS(nhwc, hwioG8g, FMT_BIAS, FMT_DATA_BLOCKED16, 1, 16, 16, 500, 500, |
461 | 16, 698, 698, 3, 3, 100, 100, 1, 1)); |
462 | |