Skip to content

Commit 35a42ed

Browse files
authored
vulkan: add missing clamps in new mul_mat_id paths (ggml-org#15702)
This is a missing interaction between ggml-org#15546 and ggml-org#15652
1 parent fec7911 commit 35a42ed

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,9 @@ void main() {
494494
sum = coopMatMulAdd(mat_a, mat_b, sum);
495495
}
496496
}
497+
#if defined(ACC_TYPE_MAX)
498+
[[unroll]] for (uint i = 0; i < sum.length(); ++i) { sum[i] = clamp(sum[i], -ACC_TYPE_MAX, ACC_TYPE_MAX); }
499+
#endif
497500

498501
// Convert from ACC_TYPE to D_TYPE
499502
coopmat<D_TYPE, gl_ScopeWorkgroup, BM, BNover4, gl_MatrixUseAccumulator> mat_d;
@@ -535,6 +538,9 @@ void main() {
535538
sum = coopMatMulAdd(mat_a, mat_b, sum);
536539
}
537540
}
541+
#if defined(ACC_TYPE_MAX)
542+
[[unroll]] for (uint i = 0; i < sum.length(); ++i) { sum[i] = clamp(sum[i], -ACC_TYPE_MAX, ACC_TYPE_MAX); }
543+
#endif
538544

539545
// Convert from ACC_TYPE to D_TYPE
540546
coopmat<D_TYPE, gl_ScopeWorkgroup, BM, BNover2, gl_MatrixUseAccumulator> mat_d;

0 commit comments

Comments
 (0)