metal : cap threadgroups size of set_rows (#17146)

This commit is contained in:
Georgi Gerganov
2025-11-10 21:33:35 +02:00
committed by GitHub
parent 967eb4b2bf
commit 13730c183b

View File

@@ -1036,6 +1036,11 @@ int ggml_metal_op_set_rows(ggml_metal_op_t ctx, int idx) {
nth = std::min(nth, nk0); nth = std::min(nth, nk0);
if (nth*nrptg > ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) {
nth = ggml_metal_pipeline_max_theads_per_threadgroup(pipeline);
nrptg = 1;
}
ggml_metal_kargs_set_rows args = { ggml_metal_kargs_set_rows args = {
/*.nk0 =*/ nk0, /*.nk0 =*/ nk0,
/*.ne01 =*/ ne01, /*.ne01 =*/ ne01,