|
87 | 87 | GGML_METAL_DECL_KERNEL(get_rows_q4_K);
|
88 | 88 | GGML_METAL_DECL_KERNEL(get_rows_q5_K);
|
89 | 89 | GGML_METAL_DECL_KERNEL(get_rows_q6_K);
|
| 90 | + GGML_METAL_DECL_KERNEL(get_rows_i32); |
90 | 91 | GGML_METAL_DECL_KERNEL(rms_norm);
|
91 | 92 | GGML_METAL_DECL_KERNEL(group_norm);
|
92 | 93 | GGML_METAL_DECL_KERNEL(norm);
|
@@ -377,6 +378,7 @@ static void ggml_metal_log(enum ggml_log_level level, const char * format, ...){
|
377 | 378 | GGML_METAL_ADD_KERNEL(get_rows_q4_K);
|
378 | 379 | GGML_METAL_ADD_KERNEL(get_rows_q5_K);
|
379 | 380 | GGML_METAL_ADD_KERNEL(get_rows_q6_K);
|
| 381 | + GGML_METAL_ADD_KERNEL(get_rows_i32); |
380 | 382 | GGML_METAL_ADD_KERNEL(rms_norm);
|
381 | 383 | GGML_METAL_ADD_KERNEL(group_norm);
|
382 | 384 | GGML_METAL_ADD_KERNEL(norm);
|
@@ -499,6 +501,7 @@ void ggml_metal_free(struct ggml_metal_context * ctx) {
|
499 | 501 | GGML_METAL_DEL_KERNEL(get_rows_q4_K);
|
500 | 502 | GGML_METAL_DEL_KERNEL(get_rows_q5_K);
|
501 | 503 | GGML_METAL_DEL_KERNEL(get_rows_q6_K);
|
| 504 | + GGML_METAL_DEL_KERNEL(get_rows_i32); |
502 | 505 | GGML_METAL_DEL_KERNEL(rms_norm);
|
503 | 506 | GGML_METAL_DEL_KERNEL(group_norm);
|
504 | 507 | GGML_METAL_DEL_KERNEL(norm);
|
@@ -1978,6 +1981,7 @@ void ggml_metal_graph_compute(
|
1978 | 1981 | case GGML_TYPE_Q4_K: [encoder setComputePipelineState:ctx->pipeline_get_rows_q4_K]; break;
|
1979 | 1982 | case GGML_TYPE_Q5_K: [encoder setComputePipelineState:ctx->pipeline_get_rows_q5_K]; break;
|
1980 | 1983 | case GGML_TYPE_Q6_K: [encoder setComputePipelineState:ctx->pipeline_get_rows_q6_K]; break;
|
| 1984 | + case GGML_TYPE_I32: [encoder setComputePipelineState:ctx->pipeline_get_rows_i32]; break; |
1981 | 1985 | default: GGML_ASSERT(false && "not implemented");
|
1982 | 1986 | }
|
1983 | 1987 |
|
|
0 commit comments