• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2020 Google LLC
2#
3# This source code is licensed under the BSD-style license found in the
4# LICENSE file in the root directory of this source tree.
5- name: xnn_qs8_gemm_minmax_ukernel_2x8c8__aarch64_neon_mlal_padal
6  k-block: 16
7- name: xnn_qs8_gemm_minmax_ukernel_2x8c8__aarch64_neon_mull_padal
8  k-block: 8
9- name: xnn_qs8_gemm_minmax_ukernel_1x8__neon_mlal_lane
10  k-block: 8
11- name: xnn_qs8_gemm_minmax_ukernel_2x8__neon_mlal_lane
12  k-block: 8
13- name: xnn_qs8_gemm_minmax_ukernel_4x8__neon_mlal_lane
14  k-block: 8
15- name: xnn_qs8_gemm_minmax_ukernel_3x8__neon_mlal_lane
16  k-block: 8
17- name: xnn_qs8_gemm_minmax_ukernel_1x16__neon_mlal_lane
18  k-block: 8
19- name: xnn_qs8_gemm_minmax_ukernel_2x16__neon_mlal_lane
20  k-block: 8
21- name: xnn_qs8_gemm_minmax_ukernel_3x16__neon_mlal_lane
22  k-block: 8
23- name: xnn_qs8_gemm_minmax_ukernel_4x16__neon_mlal_lane
24  k-block: 8
25- name: xnn_qs8_gemm_minmax_ukernel_1x8__neon_mull_addw_dup
26  k-block: 8
27- name: xnn_qs8_gemm_minmax_ukernel_2x8__neon_mull_addw_dup
28  k-block: 8
29- name: xnn_qs8_gemm_minmax_ukernel_3x8__neon_mull_addw_dup
30  k-block: 8
31- name: xnn_qs8_gemm_minmax_ukernel_4x8__neon_mull_addw_dup
32  k-block: 8
33- name: xnn_qs8_gemm_minmax_ukernel_1x16__neon_mull_addw_dup
34  k-block: 8
35- name: xnn_qs8_gemm_minmax_ukernel_2x16__neon_mull_addw_dup
36  k-block: 8
37- name: xnn_qs8_gemm_minmax_ukernel_3x16__neon_mull_addw_dup
38  k-block: 8
39- name: xnn_qs8_gemm_minmax_ukernel_4x16__neon_mull_addw_dup
40  k-block: 8
41- name: xnn_qs8_gemm_minmax_ukernel_1x8c2__neon_mull_padal_dup
42  k-block: 8
43- name: xnn_qs8_gemm_minmax_ukernel_2x8c2__neon_mull_padal_dup
44  k-block: 8
45- name: xnn_qs8_gemm_minmax_ukernel_3x8c2__neon_mull_padal_dup
46  k-block: 8
47- name: xnn_qs8_gemm_minmax_ukernel_4x8c2__neon_mull_padal_dup
48  k-block: 8
49- name: xnn_qs8_gemm_minmax_ukernel_1x16c2__neon_mull_padal_dup
50  k-block: 8
51- name: xnn_qs8_gemm_minmax_ukernel_2x16c2__neon_mull_padal_dup
52  k-block: 8
53- name: xnn_qs8_gemm_minmax_ukernel_3x16c2__neon_mull_padal_dup
54  k-block: 8
55- name: xnn_qs8_gemm_minmax_ukernel_4x16c2__neon_mull_padal_dup
56  k-block: 8
57- name: xnn_qs8_gemm_minmax_ukernel_1x8c2__neon_mlal_padal_dup
58  k-block: 16
59- name: xnn_qs8_gemm_minmax_ukernel_2x8c2__neon_mlal_padal_dup
60  k-block: 16
61- name: xnn_qs8_gemm_minmax_ukernel_3x8c2__neon_mlal_padal_dup
62  k-block: 16
63- name: xnn_qs8_gemm_minmax_ukernel_4x8c2__neon_mlal_padal_dup
64  k-block: 16
65- name: xnn_qs8_gemm_minmax_ukernel_1x16c2__neon_mlal_padal_dup
66  k-block: 16
67- name: xnn_qs8_gemm_minmax_ukernel_2x16c2__neon_mlal_padal_dup
68  k-block: 16
69- name: xnn_qs8_gemm_minmax_ukernel_3x16c2__neon_mlal_padal_dup
70  k-block: 16
71- name: xnn_qs8_gemm_minmax_ukernel_4x16c2__neon_mlal_padal_dup
72  k-block: 16
73- name: xnn_qs8_gemm_minmax_ukernel_1x8c8__neon_mull_padal
74  k-block: 8
75- name: xnn_qs8_gemm_minmax_ukernel_2x8c8__neon_mull_padal
76  k-block: 8
77- name: xnn_qs8_gemm_minmax_ukernel_3x8c8__neon_mull_padal
78  k-block: 8
79- name: xnn_qs8_gemm_minmax_ukernel_4x8c8__neon_mull_padal
80  k-block: 8
81- name: xnn_qs8_gemm_minmax_ukernel_1x16c8__neon_mull_padal
82  k-block: 8
83- name: xnn_qs8_gemm_minmax_ukernel_2x16c8__neon_mull_padal
84  k-block: 8
85- name: xnn_qs8_gemm_minmax_ukernel_3x16c8__neon_mull_padal
86  k-block: 8
87- name: xnn_qs8_gemm_minmax_ukernel_4x16c8__neon_mull_padal
88  k-block: 8
89- name: xnn_qs8_gemm_minmax_ukernel_1x8c8__neon_mlal_padal
90  k-block: 16
91- name: xnn_qs8_gemm_minmax_ukernel_2x8c8__neon_mlal_padal
92  k-block: 16
93- name: xnn_qs8_gemm_minmax_ukernel_3x8c8__neon_mlal_padal
94  k-block: 16
95- name: xnn_qs8_gemm_minmax_ukernel_4x8c8__neon_mlal_padal
96  k-block: 16
97- name: xnn_qs8_gemm_minmax_ukernel_1x16c8__neon_mlal_padal
98  k-block: 16
99- name: xnn_qs8_gemm_minmax_ukernel_2x16c8__neon_mlal_padal
100  k-block: 16
101- name: xnn_qs8_gemm_minmax_ukernel_3x16c8__neon_mlal_padal
102  k-block: 16
103- name: xnn_qs8_gemm_minmax_ukernel_4x16c8__neon_mlal_padal
104  k-block: 16
105- name: xnn_qs8_gemm_minmax_ukernel_1x8c16__neon_mlal_padal
106  k-block: 16
107- name: xnn_qs8_gemm_minmax_ukernel_2x8c16__neon_mlal_padal
108  k-block: 16
109- name: xnn_qs8_gemm_minmax_ukernel_3x8c16__neon_mlal_padal
110  k-block: 16
111- name: xnn_qs8_gemm_minmax_ukernel_4x8c16__neon_mlal_padal
112  k-block: 16
113- name: xnn_qs8_gemm_minmax_ukernel_1x16c16__neon_mlal_padal
114  k-block: 16
115- name: xnn_qs8_gemm_minmax_ukernel_2x16c16__neon_mlal_padal
116  k-block: 16
117- name: xnn_qs8_gemm_minmax_ukernel_3x16c16__neon_mlal_padal
118  k-block: 16
119- name: xnn_qs8_gemm_minmax_ukernel_4x16c16__neon_mlal_padal
120  k-block: 16
121- name: xnn_qs8_gemm_minmax_ukernel_1x8c4__neondot
122  k-block: 8
123- name: xnn_qs8_gemm_minmax_ukernel_4x8c4__neondot
124  k-block: 8
125- name: xnn_qs8_gemm_minmax_ukernel_6x8c4__neondot
126  k-block: 8
127- name: xnn_qs8_gemm_minmax_ukernel_8x8c4__neondot
128  k-block: 8
129- name: xnn_qs8_gemm_minmax_ukernel_1x16c4__neondot
130  k-block: 8
131- name: xnn_qs8_gemm_minmax_ukernel_4x16c4__neondot
132  k-block: 8
133- name: xnn_qs8_gemm_minmax_ukernel_6x16c4__neondot
134  k-block: 8
135- name: xnn_qs8_gemm_minmax_ukernel_8x16c4__neondot
136  k-block: 8
137- name: xnn_qs8_gemm_minmax_ukernel_2x8c16__aarch64_neon_mlal_padal
138  k-block: 16
139- name: xnn_qs8_gemm_minmax_ukernel_1x16c4__aarch64_neondot_ld32
140  k-block: 4
141- name: xnn_qs8_gemm_minmax_ukernel_1x16c4__aarch64_neondot_ld64
142  k-block: 8
143- name: xnn_qs8_gemm_minmax_ukernel_4x16c4__aarch64_neondot_ld32
144  k-block: 4
145- name: xnn_qs8_gemm_minmax_ukernel_4x16c4__aarch64_neondot_ld64
146  k-block: 8
147- name: xnn_qs8_gemm_minmax_ukernel_4x16c4__aarch64_neondot_cortex_a55
148  k-block: 16
149- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__sse2_ld64
150  k-block: 8
151- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__sse2_ld64
152  k-block: 8
153- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__ssse3_ld64
154  k-block: 8
155- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__ssse3_ld64
156  k-block: 8
157- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__sse41_ld64
158  k-block: 8
159- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__sse41_ld64
160  k-block: 8
161- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__xop_ld64
162  k-block: 8
163- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__xop_ld64
164  k-block: 8
165- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__sse2_ld128
166  k-block: 8
167- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__sse2_ld128
168  k-block: 8
169- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__ssse3_ld128
170  k-block: 8
171- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__ssse3_ld128
172  k-block: 8
173- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__sse41_ld128
174  k-block: 8
175- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__sse41_ld128
176  k-block: 8
177- name: xnn_qs8_gemm_minmax_ukernel_1x4c2__xop_ld128
178  k-block: 8
179- name: xnn_qs8_gemm_minmax_ukernel_4x4c2__xop_ld128
180  k-block: 8
181- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c2__sse2
182  k-block: 8
183- name: xnn_qs8_gemm_xw_minmax_ukernel_4x4c2__sse2
184  k-block: 8
185- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c2__ssse3
186  k-block: 8
187- name: xnn_qs8_gemm_xw_minmax_ukernel_4x4c2__ssse3
188  k-block: 8
189- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c2__sse41
190  k-block: 8
191- name: xnn_qs8_gemm_xw_minmax_ukernel_4x4c2__sse41
192  k-block: 8
193- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c2__xop
194  k-block: 8
195- name: xnn_qs8_gemm_xw_minmax_ukernel_4x4c2__xop
196  k-block: 8
197- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__sse2_ld64
198  k-block: 8
199- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__sse2_ld64
200  k-block: 8
201- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__sse2_ld64
202  k-block: 8
203- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__ssse3_ld64
204  k-block: 8
205- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__ssse3_ld64
206  k-block: 8
207- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__ssse3_ld64
208  k-block: 8
209- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__sse41_ld64
210  k-block: 8
211- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__sse41_ld64
212  k-block: 8
213- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__sse41_ld64
214  k-block: 8
215- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__xop_ld64
216  k-block: 8
217- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__xop_ld64
218  k-block: 8
219- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__xop_ld64
220  k-block: 8
221- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__sse2_ld128
222  k-block: 8
223- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__sse2_ld128
224  k-block: 8
225- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__sse2_ld128
226  k-block: 8
227- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__ssse3_ld128
228  k-block: 8
229- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__ssse3_ld128
230  k-block: 8
231- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__ssse3_ld128
232  k-block: 8
233- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__sse41_ld128
234  k-block: 8
235- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__sse41_ld128
236  k-block: 8
237- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__sse41_ld128
238  k-block: 8
239- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__xop_ld128
240  k-block: 8
241- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__xop_ld128
242  k-block: 8
243- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__xop_ld128
244  k-block: 8
245- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c8__sse2
246  k-block: 8
247- name: xnn_qs8_gemm_xw_minmax_ukernel_2x4c8__sse2
248  k-block: 8
249- name: xnn_qs8_gemm_xw_minmax_ukernel_3x4c8__sse2
250  k-block: 8
251- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c8__ssse3
252  k-block: 8
253- name: xnn_qs8_gemm_xw_minmax_ukernel_2x4c8__ssse3
254  k-block: 8
255- name: xnn_qs8_gemm_xw_minmax_ukernel_3x4c8__ssse3
256  k-block: 8
257- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c8__sse41
258  k-block: 8
259- name: xnn_qs8_gemm_xw_minmax_ukernel_2x4c8__sse41
260  k-block: 8
261- name: xnn_qs8_gemm_xw_minmax_ukernel_3x4c8__sse41
262  k-block: 8
263- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c8__xop
264  k-block: 8
265- name: xnn_qs8_gemm_xw_minmax_ukernel_2x4c8__xop
266  k-block: 8
267- name: xnn_qs8_gemm_xw_minmax_ukernel_3x4c8__xop
268  k-block: 8
269- name: xnn_qs8_gemm_minmax_ukernel_1x8c8__avx2
270  k-block: 8
271- name: xnn_qs8_gemm_minmax_ukernel_2x8c8__avx2
272  k-block: 8
273- name: xnn_qs8_gemm_minmax_ukernel_3x8c8__avx2
274  k-block: 8
275- name: xnn_qs8_gemm_xw_minmax_ukernel_1x8c8__avx2
276  k-block: 8
277- name: xnn_qs8_gemm_xw_minmax_ukernel_2x8c8__avx2
278  k-block: 8
279- name: xnn_qs8_gemm_xw_minmax_ukernel_3x8c8__avx2
280  k-block: 8
281- name: xnn_qs8_gemm_minmax_ukernel_1x16c8__avx512skx
282  k-block: 8
283- name: xnn_qs8_gemm_minmax_ukernel_2x16c8__avx512skx
284  k-block: 8
285- name: xnn_qs8_gemm_minmax_ukernel_3x16c8__avx512skx
286  k-block: 8
287- name: xnn_qs8_gemm_minmax_ukernel_4x16c8__avx512skx
288  k-block: 8
289- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__wasmsimd_ld64
290  k-block: 8
291- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__wasmsimd_ld64
292  k-block: 8
293- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__wasmsimd_ld64
294  k-block: 8
295- name: xnn_qs8_gemm_minmax_ukernel_1x4c8__wasmsimd_ld128
296  k-block: 8
297- name: xnn_qs8_gemm_minmax_ukernel_2x4c8__wasmsimd_ld128
298  k-block: 8
299- name: xnn_qs8_gemm_minmax_ukernel_3x4c8__wasmsimd_ld128
300  k-block: 8
301- name: xnn_qs8_gemm_xw_minmax_ukernel_1x4c8__wasmsimd
302  k-block: 8
303- name: xnn_qs8_gemm_xw_minmax_ukernel_2x4c8__wasmsimd
304  k-block: 8
305- name: xnn_qs8_gemm_xw_minmax_ukernel_3x4c8__wasmsimd
306  k-block: 8
307