From: Georgi Gerganov Date: Mon, 13 May 2024 08:01:07 +0000 (+0300) Subject: metal : tune soft_max number of threads (#0) X-Git-Tag: upstream/1.7.4~770 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=e6acaf9d91734aa9803a6eae3a992e6ce914d4e0;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp metal : tune soft_max number of threads (#0) --- diff --git a/ggml-metal.m b/ggml-metal.m index 28dec762..bfa352c3 100644 --- a/ggml-metal.m +++ b/ggml-metal.m @@ -1378,7 +1378,7 @@ static enum ggml_status ggml_metal_graph_compute( const bool use_f16 = (src1 && src1->type == GGML_TYPE_F16); if (ne00%4 == 0) { - while (nth < ne00/4 && nth < 256) { + while (nth < ne00/4 && nth*ne01*ne02*ne03 < 256) { nth *= 2; } if (use_f16) { @@ -1387,7 +1387,7 @@ static enum ggml_status ggml_metal_graph_compute( pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SOFT_MAX_F32_4].pipeline; } } else { - while (nth < ne00 && nth < 1024) { + while (nth < ne00 && nth*ne01*ne02*ne03 < 256) { nth *= 2; } if (use_f16) {