@@ -27,6 +27,18 @@ typedef struct ggml_metal_pipeline * ggml_metal_pipeline_t;
2727ggml_metal_pipeline_t ggml_metal_pipeline_init (void );
2828void ggml_metal_pipeline_free (ggml_metal_pipeline_t pipeline );
2929
30+ void ggml_metal_pipeline_set_nsg (ggml_metal_pipeline_t pipeline , int nsg );
31+ int ggml_metal_pipeline_get_nsg (ggml_metal_pipeline_t pipeline );
32+
33+ void ggml_metal_pipeline_set_nr0 (ggml_metal_pipeline_t pipeline , int nr0 );
34+ int ggml_metal_pipeline_get_nr0 (ggml_metal_pipeline_t pipeline );
35+
36+ void ggml_metal_pipeline_set_nr1 (ggml_metal_pipeline_t pipeline , int nr1 );
37+ int ggml_metal_pipeline_get_nr1 (ggml_metal_pipeline_t pipeline );
38+
39+ void ggml_metal_pipeline_set_smem (ggml_metal_pipeline_t pipeline , size_t smem );
40+ size_t ggml_metal_pipeline_get_smem (ggml_metal_pipeline_t pipeline );
41+
3042int ggml_metal_pipeline_max_theads_per_threadgroup (ggml_metal_pipeline_t pipeline );
3143
3244// TODO: tmp
@@ -113,6 +125,8 @@ typedef struct ggml_metal_graph_encoder * ggml_metal_graph_encoder_t;
113125struct ggml_metal_graph_encoder {
114126 ggml_metal_t ctx ;
115127
128+ const struct ggml_metal_device_props * props_dev ;
129+
116130 ggml_metal_encoder_t encoder ;
117131
118132 ggml_mem_ranges_t mem_ranges ;
@@ -131,310 +145,6 @@ bool ggml_metal_graph_encoder_concurrency_reset(ggml_metal_graph_encoder_t ctx);
131145bool ggml_metal_graph_encoder_concurrency_check (ggml_metal_graph_encoder_t ctx , const struct ggml_tensor * node );
132146bool ggml_metal_graph_encoder_concurrency_add (ggml_metal_graph_encoder_t ctx , const struct ggml_tensor * node );
133147
134- // TODO: tmp
135- enum ggml_metal_pipeline_type {
136- GGML_METAL_PIPELINE_TYPE_ADD_ID ,
137- GGML_METAL_PIPELINE_TYPE_REPEAT_F32 ,
138- GGML_METAL_PIPELINE_TYPE_REPEAT_F16 ,
139- GGML_METAL_PIPELINE_TYPE_REPEAT_I32 ,
140- GGML_METAL_PIPELINE_TYPE_REPEAT_I16 ,
141- GGML_METAL_PIPELINE_TYPE_SCALE ,
142- GGML_METAL_PIPELINE_TYPE_SCALE_4 ,
143- GGML_METAL_PIPELINE_TYPE_CLAMP ,
144- GGML_METAL_PIPELINE_TYPE_TANH ,
145- GGML_METAL_PIPELINE_TYPE_RELU ,
146- GGML_METAL_PIPELINE_TYPE_SIGMOID ,
147- GGML_METAL_PIPELINE_TYPE_GELU ,
148- GGML_METAL_PIPELINE_TYPE_GELU_4 ,
149- GGML_METAL_PIPELINE_TYPE_GELU_ERF ,
150- GGML_METAL_PIPELINE_TYPE_GELU_ERF_4 ,
151- GGML_METAL_PIPELINE_TYPE_GELU_QUICK ,
152- GGML_METAL_PIPELINE_TYPE_GELU_QUICK_4 ,
153- GGML_METAL_PIPELINE_TYPE_SILU ,
154- GGML_METAL_PIPELINE_TYPE_SILU_4 ,
155- GGML_METAL_PIPELINE_TYPE_ELU ,
156- GGML_METAL_PIPELINE_TYPE_ABS ,
157- GGML_METAL_PIPELINE_TYPE_SGN ,
158- GGML_METAL_PIPELINE_TYPE_STEP ,
159- GGML_METAL_PIPELINE_TYPE_HARDSWISH ,
160- GGML_METAL_PIPELINE_TYPE_HARDSIGMOID ,
161- GGML_METAL_PIPELINE_TYPE_EXP ,
162- GGML_METAL_PIPELINE_TYPE_SOFT_MAX_F16 ,
163- GGML_METAL_PIPELINE_TYPE_SOFT_MAX_F16_4 ,
164- GGML_METAL_PIPELINE_TYPE_SOFT_MAX_F32 ,
165- GGML_METAL_PIPELINE_TYPE_SOFT_MAX_F32_4 ,
166- GGML_METAL_PIPELINE_TYPE_DIAG_MASK_INF ,
167- GGML_METAL_PIPELINE_TYPE_DIAG_MASK_INF_8 ,
168- GGML_METAL_PIPELINE_TYPE_GET_ROWS_F32 ,
169- GGML_METAL_PIPELINE_TYPE_GET_ROWS_F16 ,
170- GGML_METAL_PIPELINE_TYPE_GET_ROWS_BF16 ,
171- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q4_0 ,
172- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q4_1 ,
173- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q5_0 ,
174- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q5_1 ,
175- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q8_0 ,
176- GGML_METAL_PIPELINE_TYPE_GET_ROWS_MXFP4 ,
177- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q2_K ,
178- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q3_K ,
179- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q4_K ,
180- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q5_K ,
181- GGML_METAL_PIPELINE_TYPE_GET_ROWS_Q6_K ,
182- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ2_XXS ,
183- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ2_XS ,
184- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ3_XXS ,
185- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ3_S ,
186- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ2_S ,
187- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ1_S ,
188- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ1_M ,
189- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ4_NL ,
190- GGML_METAL_PIPELINE_TYPE_GET_ROWS_IQ4_XS ,
191- GGML_METAL_PIPELINE_TYPE_GET_ROWS_I32 ,
192- GGML_METAL_PIPELINE_TYPE_SET_ROWS_F32 ,
193- GGML_METAL_PIPELINE_TYPE_SET_ROWS_F16 ,
194- GGML_METAL_PIPELINE_TYPE_SET_ROWS_BF16 ,
195- GGML_METAL_PIPELINE_TYPE_SET_ROWS_Q8_0 ,
196- GGML_METAL_PIPELINE_TYPE_SET_ROWS_Q4_0 ,
197- GGML_METAL_PIPELINE_TYPE_SET_ROWS_Q4_1 ,
198- GGML_METAL_PIPELINE_TYPE_SET_ROWS_Q5_0 ,
199- GGML_METAL_PIPELINE_TYPE_SET_ROWS_Q5_1 ,
200- GGML_METAL_PIPELINE_TYPE_SET_ROWS_IQ4_NL ,
201- GGML_METAL_PIPELINE_TYPE_L2_NORM ,
202- GGML_METAL_PIPELINE_TYPE_GROUP_NORM ,
203- GGML_METAL_PIPELINE_TYPE_NORM ,
204- GGML_METAL_PIPELINE_TYPE_SSM_CONV_F32 ,
205- GGML_METAL_PIPELINE_TYPE_SSM_SCAN_F32 ,
206- GGML_METAL_PIPELINE_TYPE_SSM_SCAN_F32_GROUP ,
207- GGML_METAL_PIPELINE_TYPE_RWKV_WKV6_F32 ,
208- GGML_METAL_PIPELINE_TYPE_RWKV_WKV7_F32 ,
209- GGML_METAL_PIPELINE_TYPE_MUL_MV_F32_F32 ,
210- GGML_METAL_PIPELINE_TYPE_MUL_MV_F32_F32_C4 ,
211- GGML_METAL_PIPELINE_TYPE_MUL_MV_F16_F32 ,
212- GGML_METAL_PIPELINE_TYPE_MUL_MV_F16_F32_C4 ,
213- GGML_METAL_PIPELINE_TYPE_MUL_MV_F16_F32_1ROW ,
214- GGML_METAL_PIPELINE_TYPE_MUL_MV_F16_F32_L4 ,
215- GGML_METAL_PIPELINE_TYPE_MUL_MV_F16_F16 ,
216- GGML_METAL_PIPELINE_TYPE_MUL_MV_BF16_F32 ,
217- GGML_METAL_PIPELINE_TYPE_MUL_MV_BF16_F32_C4 ,
218- GGML_METAL_PIPELINE_TYPE_MUL_MV_BF16_F32_1ROW ,
219- GGML_METAL_PIPELINE_TYPE_MUL_MV_BF16_F32_L4 ,
220- GGML_METAL_PIPELINE_TYPE_MUL_MV_BF16_BF16 ,
221- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q4_0_F32 ,
222- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q4_1_F32 ,
223- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q5_0_F32 ,
224- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q5_1_F32 ,
225- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q8_0_F32 ,
226- GGML_METAL_PIPELINE_TYPE_MUL_MV_MXFP4_F32 ,
227- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F32_F32_R1_2 ,
228- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F32_F32_R1_3 ,
229- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F32_F32_R1_4 ,
230- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F32_F32_R1_5 ,
231- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F16_F32_R1_2 ,
232- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F16_F32_R1_3 ,
233- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F16_F32_R1_4 ,
234- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_F16_F32_R1_5 ,
235- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_0_F32_R1_2 ,
236- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_0_F32_R1_3 ,
237- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_0_F32_R1_4 ,
238- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_0_F32_R1_5 ,
239- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_1_F32_R1_2 ,
240- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_1_F32_R1_3 ,
241- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_1_F32_R1_4 ,
242- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_1_F32_R1_5 ,
243- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_0_F32_R1_2 ,
244- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_0_F32_R1_3 ,
245- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_0_F32_R1_4 ,
246- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_0_F32_R1_5 ,
247- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_1_F32_R1_2 ,
248- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_1_F32_R1_3 ,
249- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_1_F32_R1_4 ,
250- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_1_F32_R1_5 ,
251- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q8_0_F32_R1_2 ,
252- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q8_0_F32_R1_3 ,
253- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q8_0_F32_R1_4 ,
254- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q8_0_F32_R1_5 ,
255- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_MXFP4_F32_R1_2 ,
256- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_MXFP4_F32_R1_3 ,
257- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_MXFP4_F32_R1_4 ,
258- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_MXFP4_F32_R1_5 ,
259- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_K_F32_R1_2 ,
260- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_K_F32_R1_3 ,
261- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_K_F32_R1_4 ,
262- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q4_K_F32_R1_5 ,
263- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_K_F32_R1_2 ,
264- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_K_F32_R1_3 ,
265- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_K_F32_R1_4 ,
266- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q5_K_F32_R1_5 ,
267- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q6_K_F32_R1_2 ,
268- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q6_K_F32_R1_3 ,
269- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q6_K_F32_R1_4 ,
270- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_Q6_K_F32_R1_5 ,
271- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_2 ,
272- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_3 ,
273- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_4 ,
274- GGML_METAL_PIPELINE_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_5 ,
275- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q2_K_F32 ,
276- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q3_K_F32 ,
277- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q4_K_F32 ,
278- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q5_K_F32 ,
279- GGML_METAL_PIPELINE_TYPE_MUL_MV_Q6_K_F32 ,
280- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ2_XXS_F32 ,
281- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ2_XS_F32 ,
282- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ3_XXS_F32 ,
283- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ3_S_F32 ,
284- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ2_S_F32 ,
285- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ1_S_F32 ,
286- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ1_M_F32 ,
287- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ4_NL_F32 ,
288- GGML_METAL_PIPELINE_TYPE_MUL_MV_IQ4_XS_F32 ,
289- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_F32_F32 ,
290- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_F16_F32 ,
291- //GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_F16_F32_1ROW,
292- //GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_F16_F32_L4,
293- //GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_F16_F16,
294- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_BF16_F32 ,
295- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q4_0_F32 ,
296- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q4_1_F32 ,
297- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q5_0_F32 ,
298- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q5_1_F32 ,
299- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q8_0_F32 ,
300- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_MXFP4_F32 ,
301- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q2_K_F32 ,
302- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q3_K_F32 ,
303- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q4_K_F32 ,
304- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q5_K_F32 ,
305- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_Q6_K_F32 ,
306- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ2_XXS_F32 ,
307- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ2_XS_F32 ,
308- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ3_XXS_F32 ,
309- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ3_S_F32 ,
310- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ2_S_F32 ,
311- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ1_S_F32 ,
312- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ1_M_F32 ,
313- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ4_NL_F32 ,
314- GGML_METAL_PIPELINE_TYPE_MUL_MV_ID_IQ4_XS_F32 ,
315- GGML_METAL_PIPELINE_TYPE_MUL_MM_F32_F32 ,
316- GGML_METAL_PIPELINE_TYPE_MUL_MM_F16_F32 ,
317- GGML_METAL_PIPELINE_TYPE_MUL_MM_BF16_F32 ,
318- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q4_0_F32 ,
319- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q4_1_F32 ,
320- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q5_0_F32 ,
321- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q5_1_F32 ,
322- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q8_0_F32 ,
323- GGML_METAL_PIPELINE_TYPE_MUL_MM_MXFP4_F32 ,
324- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q2_K_F32 ,
325- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q3_K_F32 ,
326- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q4_K_F32 ,
327- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q5_K_F32 ,
328- GGML_METAL_PIPELINE_TYPE_MUL_MM_Q6_K_F32 ,
329- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ2_XXS_F32 ,
330- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ2_XS_F32 ,
331- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ3_XXS_F32 ,
332- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ3_S_F32 ,
333- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ2_S_F32 ,
334- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ1_S_F32 ,
335- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ1_M_F32 ,
336- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ4_NL_F32 ,
337- GGML_METAL_PIPELINE_TYPE_MUL_MM_IQ4_XS_F32 ,
338- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MAP0_F16_NE20_1 ,
339- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MAP0_F16_NE20_2 ,
340- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MAP0_F16_NE20_4 ,
341- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MAP0_F16_NE20_6 ,
342- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MAP0_F16_NE20_8 ,
343- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MAP0_F16_NE20_10 ,
344- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MAP0_F16_NE20_16 ,
345- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_F32_F16 ,
346- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_F16_F16 ,
347- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_BF16_F16 ,
348- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q4_0_F16 ,
349- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q4_1_F16 ,
350- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q5_0_F16 ,
351- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q5_1_F16 ,
352- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q8_0_F16 ,
353- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_MXFP4_F16 ,
354- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q2_K_F16 ,
355- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q3_K_F16 ,
356- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q4_K_F16 ,
357- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q5_K_F16 ,
358- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_Q6_K_F16 ,
359- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ2_XXS_F16 ,
360- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ2_XS_F16 ,
361- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ3_XXS_F16 ,
362- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ3_S_F16 ,
363- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ2_S_F16 ,
364- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ1_S_F16 ,
365- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ1_M_F16 ,
366- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ4_NL_F16 ,
367- GGML_METAL_PIPELINE_TYPE_MUL_MM_ID_IQ4_XS_F16 ,
368- GGML_METAL_PIPELINE_TYPE_ROPE_NORM_F32 ,
369- GGML_METAL_PIPELINE_TYPE_ROPE_NORM_F16 ,
370- GGML_METAL_PIPELINE_TYPE_ROPE_MULTI_F32 ,
371- GGML_METAL_PIPELINE_TYPE_ROPE_MULTI_F16 ,
372- GGML_METAL_PIPELINE_TYPE_ROPE_VISION_F32 ,
373- GGML_METAL_PIPELINE_TYPE_ROPE_VISION_F16 ,
374- GGML_METAL_PIPELINE_TYPE_ROPE_NEOX_F32 ,
375- GGML_METAL_PIPELINE_TYPE_ROPE_NEOX_F16 ,
376- GGML_METAL_PIPELINE_TYPE_IM2COL_F16 ,
377- GGML_METAL_PIPELINE_TYPE_IM2COL_F32 ,
378- GGML_METAL_PIPELINE_TYPE_IM2COL_EXT_F16 ,
379- GGML_METAL_PIPELINE_TYPE_IM2COL_EXT_F32 ,
380- GGML_METAL_PIPELINE_TYPE_CONV_TRANSPOSE_1D_F32_F32 ,
381- GGML_METAL_PIPELINE_TYPE_CONV_TRANSPOSE_1D_F16_F32 ,
382- GGML_METAL_PIPELINE_TYPE_UPSCALE_F32 ,
383- GGML_METAL_PIPELINE_TYPE_PAD_F32 ,
384- GGML_METAL_PIPELINE_TYPE_PAD_REFLECT_1D_F32 ,
385- GGML_METAL_PIPELINE_TYPE_ARANGE_F32 ,
386- GGML_METAL_PIPELINE_TYPE_TIMESTEP_EMBEDDING_F32 ,
387- GGML_METAL_PIPELINE_TYPE_ARGSORT_F32_I32_ASC ,
388- GGML_METAL_PIPELINE_TYPE_ARGSORT_F32_I32_DESC ,
389- GGML_METAL_PIPELINE_TYPE_LEAKY_RELU_F32 ,
390- GGML_METAL_PIPELINE_TYPE_CPY_F32_F32 ,
391- GGML_METAL_PIPELINE_TYPE_CPY_F32_F16 ,
392- GGML_METAL_PIPELINE_TYPE_CPY_F32_BF16 ,
393- GGML_METAL_PIPELINE_TYPE_CPY_F16_F16 ,
394- GGML_METAL_PIPELINE_TYPE_CPY_F16_F32 ,
395- GGML_METAL_PIPELINE_TYPE_CPY_BF16_F32 ,
396- GGML_METAL_PIPELINE_TYPE_CPY_BF16_BF16 ,
397- GGML_METAL_PIPELINE_TYPE_CPY_F32_I32 ,
398- GGML_METAL_PIPELINE_TYPE_CPY_I32_F32 ,
399- GGML_METAL_PIPELINE_TYPE_CPY_F32_Q8_0 ,
400- GGML_METAL_PIPELINE_TYPE_CPY_F32_Q4_0 ,
401- GGML_METAL_PIPELINE_TYPE_CPY_F32_Q4_1 ,
402- GGML_METAL_PIPELINE_TYPE_CPY_F32_Q5_0 ,
403- GGML_METAL_PIPELINE_TYPE_CPY_F32_Q5_1 ,
404- GGML_METAL_PIPELINE_TYPE_CPY_F32_IQ4_NL ,
405- GGML_METAL_PIPELINE_TYPE_CPY_Q4_0_F32 ,
406- GGML_METAL_PIPELINE_TYPE_CPY_Q4_0_F16 ,
407- GGML_METAL_PIPELINE_TYPE_CPY_Q4_1_F32 ,
408- GGML_METAL_PIPELINE_TYPE_CPY_Q4_1_F16 ,
409- GGML_METAL_PIPELINE_TYPE_CPY_Q5_0_F32 ,
410- GGML_METAL_PIPELINE_TYPE_CPY_Q5_0_F16 ,
411- GGML_METAL_PIPELINE_TYPE_CPY_Q5_1_F32 ,
412- GGML_METAL_PIPELINE_TYPE_CPY_Q5_1_F16 ,
413- GGML_METAL_PIPELINE_TYPE_CPY_Q8_0_F32 ,
414- GGML_METAL_PIPELINE_TYPE_CPY_Q8_0_F16 ,
415- GGML_METAL_PIPELINE_TYPE_CONCAT ,
416- GGML_METAL_PIPELINE_TYPE_SQR ,
417- GGML_METAL_PIPELINE_TYPE_SQRT ,
418- GGML_METAL_PIPELINE_TYPE_SIN ,
419- GGML_METAL_PIPELINE_TYPE_COS ,
420- GGML_METAL_PIPELINE_TYPE_NEG ,
421- GGML_METAL_PIPELINE_TYPE_REGLU ,
422- GGML_METAL_PIPELINE_TYPE_GEGLU ,
423- GGML_METAL_PIPELINE_TYPE_SWIGLU ,
424- GGML_METAL_PIPELINE_TYPE_SWIGLU_OAI ,
425- GGML_METAL_PIPELINE_TYPE_GEGLU_ERF ,
426- GGML_METAL_PIPELINE_TYPE_GEGLU_QUICK ,
427- GGML_METAL_PIPELINE_TYPE_SUM_ROWS ,
428- GGML_METAL_PIPELINE_TYPE_MEAN ,
429- GGML_METAL_PIPELINE_TYPE_POOL_2D_AVG_F32 ,
430- GGML_METAL_PIPELINE_TYPE_POOL_2D_MAX_F32 ,
431- GGML_METAL_PIPELINE_TYPE_ARGMAX ,
432-
433- GGML_METAL_PIPELINE_TYPE_COUNT
434- };
435-
436- ggml_metal_pipeline_t ggml_metal_get_pipeline_by_type (ggml_metal_t ctx , enum ggml_metal_pipeline_type type );
437-
438148#ifdef __cplusplus
439149}
440150#endif
0 commit comments