]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
ggml : add asserts (llama/14720)
authorGeorgi Gerganov <redacted>
Wed, 16 Jul 2025 11:43:32 +0000 (14:43 +0300)
committerGeorgi Gerganov <redacted>
Sat, 19 Jul 2025 14:47:23 +0000 (17:47 +0300)
* ggml : add asserts

ggml-ci

* cont : fix constant type

Co-authored-by: Diego Devesa <redacted>
---------

Co-authored-by: Diego Devesa <redacted>
src/ggml-cpu/ops.cpp
src/ggml-cpu/vec.cpp

index fd77e9a6abad570077e0a608964acb8c7cb9c4e6..6581d27adde2e077376956ad604ab5723ea18b30 100644 (file)
@@ -4015,6 +4015,9 @@ static void ggml_compute_forward_rms_norm_f32(
 
                 const float scale = 1.0f/sqrtf(mean + eps);
 
+                // if you hit this, likely you got an inf somewhere earlier
+                assert(scale > 0.0f);
+
                 ggml_vec_scale_f32(ne00, y, scale);
             }
         }
index a8156011eba2dcddd12e42120b1b4e1788c52a8c..07b377bdd82a727a1f7c710a3ed4cb55b4c9181c 100644 (file)
@@ -221,6 +221,9 @@ void ggml_vec_dot_f16(int n, float * GGML_RESTRICT s, size_t bs, ggml_fp16_t * G
     for (int i = np; i < n; ++i) {
         sumf += (ggml_float)(GGML_CPU_FP16_TO_FP32(x[i])*GGML_CPU_FP16_TO_FP32(y[i]));
     }
+
+    // if you hit this, you are likely running outside the FP range
+    assert(!isnan(sumf) && !isinf(sumf));
 #else
     for (int i = 0; i < n; ++i) {
         sumf += (ggml_float)(GGML_CPU_FP16_TO_FP32(x[i])*GGML_CPU_FP16_TO_FP32(y[i]));