• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2019 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
6# ARM NEON
7- name: xnn_f32_spmm_minmax_ukernel_4x1__neon
8  init: xnn_init_f32_minmax_scalar_params
9  k-block: 1
10- name: xnn_f32_spmm_minmax_ukernel_4x1__neon_pipelined
11  init: xnn_init_f32_minmax_scalar_params
12  k-block: 1
13- name: xnn_f32_spmm_minmax_ukernel_4x1__neon_x2
14  init: xnn_init_f32_minmax_scalar_params
15  k-block: 2
16- name: xnn_f32_spmm_minmax_ukernel_4x1__neonfma
17  init: xnn_init_f32_minmax_scalar_params
18  k-block: 1
19- name: xnn_f32_spmm_minmax_ukernel_4x1__neonfma_pipelined
20  init: xnn_init_f32_minmax_scalar_params
21  k-block: 1
22- name: xnn_f32_spmm_minmax_ukernel_4x1__neonfma_x2
23  init: xnn_init_f32_minmax_scalar_params
24  k-block: 2
25- name: xnn_f32_spmm_minmax_ukernel_4x2__neonfma
26  init: xnn_init_f32_minmax_scalar_params
27  k-block: 1
28  arch:
29  - aarch64
30- name: xnn_f32_spmm_minmax_ukernel_4x4__neonfma
31  init: xnn_init_f32_minmax_scalar_params
32  k-block: 1
33  arch:
34  - aarch64
35- name: xnn_f32_spmm_minmax_ukernel_8x1__neon
36  init: xnn_init_f32_minmax_scalar_params
37  k-block: 1
38- name: xnn_f32_spmm_minmax_ukernel_8x1__neon_pipelined
39  init: xnn_init_f32_minmax_scalar_params
40  k-block: 1
41- name: xnn_f32_spmm_minmax_ukernel_8x1__neon_x2
42  init: xnn_init_f32_minmax_scalar_params
43  k-block: 2
44- name: xnn_f32_spmm_minmax_ukernel_8x1__neonfma
45  init: xnn_init_f32_minmax_scalar_params
46  k-block: 1
47- name: xnn_f32_spmm_minmax_ukernel_8x1__neonfma_pipelined
48  init: xnn_init_f32_minmax_scalar_params
49  k-block: 1
50- name: xnn_f32_spmm_minmax_ukernel_8x1__neonfma_x2
51  init: xnn_init_f32_minmax_scalar_params
52  k-block: 2
53- name: xnn_f32_spmm_minmax_ukernel_8x2__neonfma
54  init: xnn_init_f32_minmax_scalar_params
55  k-block: 1
56  arch:
57  - aarch64
58- name: xnn_f32_spmm_minmax_ukernel_8x4__neonfma
59  init: xnn_init_f32_minmax_scalar_params
60  k-block: 1
61  arch:
62  - aarch64
63- name: xnn_f32_spmm_minmax_ukernel_12x1__neon
64  init: xnn_init_f32_minmax_scalar_params
65  k-block: 1
66- name: xnn_f32_spmm_minmax_ukernel_12x1__neonfma
67  init: xnn_init_f32_minmax_scalar_params
68  k-block: 1
69- name: xnn_f32_spmm_minmax_ukernel_12x2__neonfma
70  init: xnn_init_f32_minmax_scalar_params
71  k-block: 1
72  arch:
73  - aarch64
74- name: xnn_f32_spmm_minmax_ukernel_12x4__neonfma
75  init: xnn_init_f32_minmax_scalar_params
76  k-block: 1
77  arch:
78  - aarch64
79- name: xnn_f32_spmm_minmax_ukernel_16x1__neon
80  init: xnn_init_f32_minmax_scalar_params
81  k-block: 1
82- name: xnn_f32_spmm_minmax_ukernel_16x1__neon_pipelined
83  init: xnn_init_f32_minmax_scalar_params
84  k-block: 1
85- name: xnn_f32_spmm_minmax_ukernel_16x1__neon_x2
86  init: xnn_init_f32_minmax_scalar_params
87  k-block: 2
88- name: xnn_f32_spmm_minmax_ukernel_16x1__neonfma
89  init: xnn_init_f32_minmax_scalar_params
90  k-block: 1
91- name: xnn_f32_spmm_minmax_ukernel_16x1__neonfma_pipelined
92  init: xnn_init_f32_minmax_scalar_params
93  k-block: 1
94- name: xnn_f32_spmm_minmax_ukernel_16x1__neonfma_x2
95  init: xnn_init_f32_minmax_scalar_params
96  k-block: 2
97- name: xnn_f32_spmm_minmax_ukernel_16x2__neonfma
98  init: xnn_init_f32_minmax_scalar_params
99  k-block: 1
100  arch:
101  - aarch64
102- name: xnn_f32_spmm_minmax_ukernel_16x4__neonfma
103  init: xnn_init_f32_minmax_scalar_params
104  k-block: 1
105  arch:
106  - aarch64
107- name: xnn_f32_spmm_minmax_ukernel_32x1__neon
108  init: xnn_init_f32_minmax_scalar_params
109  k-block: 1
110- name: xnn_f32_spmm_minmax_ukernel_32x1__neon_pipelined
111  init: xnn_init_f32_minmax_scalar_params
112  k-block: 1
113- name: xnn_f32_spmm_minmax_ukernel_32x1__neon_x2
114  init: xnn_init_f32_minmax_scalar_params
115  k-block: 2
116- name: xnn_f32_spmm_minmax_ukernel_32x1__neonfma
117  init: xnn_init_f32_minmax_scalar_params
118  k-block: 1
119- name: xnn_f32_spmm_minmax_ukernel_32x1__neonfma_pipelined
120  init: xnn_init_f32_minmax_scalar_params
121  k-block: 1
122- name: xnn_f32_spmm_minmax_ukernel_32x1__neonfma_x2
123  init: xnn_init_f32_minmax_scalar_params
124  k-block: 2
125- name: xnn_f32_spmm_minmax_ukernel_32x2__neonfma
126  init: xnn_init_f32_minmax_scalar_params
127  k-block: 1
128  arch:
129  - aarch64
130- name: xnn_f32_spmm_minmax_ukernel_32x4__neonfma
131  init: xnn_init_f32_minmax_scalar_params
132  k-block: 1
133  arch:
134  - aarch64
135# x86 SSE
136- name: xnn_f32_spmm_minmax_ukernel_4x1__sse
137  init: xnn_init_f32_minmax_sse_params
138  k-block: 1
139- name: xnn_f32_spmm_minmax_ukernel_8x1__sse
140  init: xnn_init_f32_minmax_sse_params
141  k-block: 1
142- name: xnn_f32_spmm_minmax_ukernel_16x1__sse
143  init: xnn_init_f32_minmax_sse_params
144  k-block: 1
145- name: xnn_f32_spmm_minmax_ukernel_32x1__sse
146  init: xnn_init_f32_minmax_sse_params
147  k-block: 1
148# WAsm SIMD
149- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_arm
150  init: xnn_init_f32_minmax_wasmsimd_params
151  k-block: 1
152- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_arm_pipelined
153  init: xnn_init_f32_minmax_wasmsimd_params
154  k-block: 1
155- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_arm_pipelined_x2
156  init: xnn_init_f32_minmax_wasmsimd_params
157  k-block: 2
158- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_arm_x2
159  init: xnn_init_f32_minmax_wasmsimd_params
160  k-block: 2
161- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_arm_x4
162  init: xnn_init_f32_minmax_wasmsimd_params
163  k-block: 4
164- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_x86
165  init: xnn_init_f32_minmax_wasmsimd_params
166  k-block: 1
167- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_x86_pipelined
168  init: xnn_init_f32_minmax_wasmsimd_params
169  k-block: 1
170- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_x86_pipelined_x2
171  init: xnn_init_f32_minmax_wasmsimd_params
172  k-block: 2
173- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_x86_x2
174  init: xnn_init_f32_minmax_wasmsimd_params
175  k-block: 2
176- name: xnn_f32_spmm_minmax_ukernel_4x1__wasmsimd_x86_x4
177  init: xnn_init_f32_minmax_wasmsimd_params
178  k-block: 4
179- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_arm
180  init: xnn_init_f32_minmax_wasmsimd_params
181  k-block: 1
182- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_arm_pipelined
183  init: xnn_init_f32_minmax_wasmsimd_params
184  k-block: 1
185- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_arm_pipelined_x2
186  init: xnn_init_f32_minmax_wasmsimd_params
187  k-block: 2
188- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_arm_x2
189  init: xnn_init_f32_minmax_wasmsimd_params
190  k-block: 2
191- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_arm_x4
192  init: xnn_init_f32_minmax_wasmsimd_params
193  k-block: 4
194- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_x86
195  init: xnn_init_f32_minmax_wasmsimd_params
196  k-block: 1
197- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_x86_pipelined
198  init: xnn_init_f32_minmax_wasmsimd_params
199  k-block: 1
200- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_x86_pipelined_x2
201  init: xnn_init_f32_minmax_wasmsimd_params
202  k-block: 2
203- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_x86_x2
204  init: xnn_init_f32_minmax_wasmsimd_params
205  k-block: 2
206- name: xnn_f32_spmm_minmax_ukernel_8x1__wasmsimd_x86_x4
207  init: xnn_init_f32_minmax_wasmsimd_params
208  k-block: 4
209- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_arm
210  init: xnn_init_f32_minmax_wasmsimd_params
211  k-block: 1
212- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_arm_pipelined
213  init: xnn_init_f32_minmax_wasmsimd_params
214  k-block: 1
215- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_arm_pipelined_x2
216  init: xnn_init_f32_minmax_wasmsimd_params
217  k-block: 2
218- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_arm_x2
219  init: xnn_init_f32_minmax_wasmsimd_params
220  k-block: 2
221- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_arm_x4
222  init: xnn_init_f32_minmax_wasmsimd_params
223  k-block: 4
224- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_x86
225  init: xnn_init_f32_minmax_wasmsimd_params
226  k-block: 1
227- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_x86_pipelined
228  init: xnn_init_f32_minmax_wasmsimd_params
229  k-block: 1
230- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_x86_pipelined_x2
231  init: xnn_init_f32_minmax_wasmsimd_params
232  k-block: 2
233- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_x86_x2
234  init: xnn_init_f32_minmax_wasmsimd_params
235  k-block: 2
236- name: xnn_f32_spmm_minmax_ukernel_16x1__wasmsimd_x86_x4
237  init: xnn_init_f32_minmax_wasmsimd_params
238  k-block: 4
239- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_arm
240  init: xnn_init_f32_minmax_wasmsimd_params
241  k-block: 1
242- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_arm_pipelined
243  init: xnn_init_f32_minmax_wasmsimd_params
244  k-block: 1
245- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_arm_pipelined_x2
246  init: xnn_init_f32_minmax_wasmsimd_params
247  k-block: 2
248- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_arm_x2
249  init: xnn_init_f32_minmax_wasmsimd_params
250  k-block: 2
251- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_arm_x4
252  init: xnn_init_f32_minmax_wasmsimd_params
253  k-block: 4
254- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_x86
255  init: xnn_init_f32_minmax_wasmsimd_params
256  k-block: 1
257- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_x86_pipelined
258  init: xnn_init_f32_minmax_wasmsimd_params
259  k-block: 1
260- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_x86_pipelined_x2
261  init: xnn_init_f32_minmax_wasmsimd_params
262  k-block: 2
263- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_x86_x2
264  init: xnn_init_f32_minmax_wasmsimd_params
265  k-block: 2
266- name: xnn_f32_spmm_minmax_ukernel_32x1__wasmsimd_x86_x4
267  init: xnn_init_f32_minmax_wasmsimd_params
268  k-block: 4
269# Scalar
270- name: xnn_f32_spmm_minmax_ukernel_1x1__scalar
271  init: xnn_init_f32_minmax_scalar_params
272  k-block: 1
273- name: xnn_f32_spmm_minmax_ukernel_1x1__scalar_pipelined
274  init: xnn_init_f32_minmax_scalar_params
275  k-block: 1
276- name: xnn_f32_spmm_minmax_ukernel_2x1__scalar
277  init: xnn_init_f32_minmax_scalar_params
278  k-block: 1
279- name: xnn_f32_spmm_minmax_ukernel_2x1__scalar_pipelined
280  init: xnn_init_f32_minmax_scalar_params
281  k-block: 1
282- name: xnn_f32_spmm_minmax_ukernel_4x1__scalar
283  init: xnn_init_f32_minmax_scalar_params
284  k-block: 1
285- name: xnn_f32_spmm_minmax_ukernel_4x1__scalar_pipelined
286  init: xnn_init_f32_minmax_scalar_params
287  k-block: 1
288- name: xnn_f32_spmm_minmax_ukernel_8x1__scalar
289  init: xnn_init_f32_minmax_scalar_params
290  k-block: 1
291- name: xnn_f32_spmm_minmax_ukernel_8x1__scalar_pipelined
292  init: xnn_init_f32_minmax_scalar_params
293  k-block: 1
294- name: xnn_f32_spmm_minmax_ukernel_8x2__scalar
295  init: xnn_init_f32_minmax_scalar_params
296  k-block: 1
297- name: xnn_f32_spmm_minmax_ukernel_8x4__scalar
298  init: xnn_init_f32_minmax_scalar_params
299  k-block: 1
300