From: Jeff Bolz Date: Mon, 1 Sep 2025 19:01:10 +0000 (-0500) Subject: vulkan: add missing clamps in new mul_mat_id paths (llama/15702) X-Git-Tag: v0.9.1~109 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=2d57866e8786583cc6e1162fc4486ee4c63bd856;p=pkg%2Fggml%2Fsources%2Fggml vulkan: add missing clamps in new mul_mat_id paths (llama/15702) This is a missing interaction between #15546 and #15652 --- diff --git a/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp b/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp index 654105a4..69ac38fd 100644 --- a/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp +++ b/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp @@ -494,6 +494,9 @@ void main() { sum = coopMatMulAdd(mat_a, mat_b, sum); } } +#if defined(ACC_TYPE_MAX) + [[unroll]] for (uint i = 0; i < sum.length(); ++i) { sum[i] = clamp(sum[i], -ACC_TYPE_MAX, ACC_TYPE_MAX); } +#endif // Convert from ACC_TYPE to D_TYPE coopmat mat_d; @@ -535,6 +538,9 @@ void main() { sum = coopMatMulAdd(mat_a, mat_b, sum); } } +#if defined(ACC_TYPE_MAX) + [[unroll]] for (uint i = 0; i < sum.length(); ++i) { sum[i] = clamp(sum[i], -ACC_TYPE_MAX, ACC_TYPE_MAX); } +#endif // Convert from ACC_TYPE to D_TYPE coopmat mat_d;