]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
ggml-cpu: use runtime SVE width in FWHT (#24059)
authorCharles Xu <redacted>
Wed, 3 Jun 2026 10:45:10 +0000 (12:45 +0200)
committerGitHub <redacted>
Wed, 3 Jun 2026 10:45:10 +0000 (13:45 +0300)
ggml/src/ggml-cpu/ops.cpp

index dc73696ad9fef155509ec217ad1cd6c9c787e1d1..3a1912ae91b809ceeeb3f59f520b3fcfb3db244a 100644 (file)
@@ -8955,7 +8955,12 @@ static void ggml_compute_forward_flash_attn_ext_f16(
                                 k->type == v->type &&
                                 neq1 >= Q_TILE_SZ);
 #ifdef GGML_SIMD
-        use_tiled &= (DV % GGML_F32_EPR == 0);
+#if defined(__ARM_FEATURE_SVE)
+        const int64_t f32_epr = svcntw();
+#else
+        const int64_t f32_epr = GGML_F32_EPR;
+#endif
+        use_tiled &= (DV % f32_epr == 0);
 #endif
         int current_chunk = ith;
 
@@ -11358,7 +11363,11 @@ static void ggml_compute_forward_fwht_f32(const ggml_compute_params * params, gg
 
         // Scalar passes
 #if defined(GGML_SIMD)
+#if defined(__ARM_FEATURE_SVE)
+        const int step = svcntw();
+#else
         const int step = GGML_F32_EPR;
+#endif
 #else
         const int step = n;
 #endif