Commit 6225bf8 for stable-diffusion.cpp

commit 6225bf8c88a76e4baf3b7be86c0e6933414f26eb
Author: Piotr Wilkin (ilintar) <ilintar@gmail.com>
Date:   Tue Nov 3 16:46:35 2026 +0100

    perf: view qkv slices for moss instead of slice+reshape (#2232)

diff --git a/src/model/diffusion/moss_image.hpp b/src/model/diffusion/moss_image.hpp
index 36d8d83..1f5dc16 100644
--- a/src/model/diffusion/moss_image.hpp
+++ b/src/model/diffusion/moss_image.hpp
@@ -79,7 +79,8 @@ namespace MOSSImage {
             auto y      = norm("norm1", x);
             auto qkv    = linear("qkv", y);
             auto split  = [&](int i) {
-                return ggml_reshape_4d(c, ggml_ext_slice(c, qkv, 0, i * config.dim, (i + 1) * config.dim), config.head_dim, config.dim / config.head_dim, x->ne[1], x->ne[2]);
+                // q/k feed rms_norm and v a permuted copy, which read these strided views in place.
+                return ggml_view_4d(c, qkv, config.head_dim, config.dim / config.head_dim, x->ne[1], x->ne[2], config.head_dim * qkv->nb[0], qkv->nb[1], qkv->nb[2], i * config.dim * qkv->nb[0]);
             };
             auto q = norm("q_norm", split(0));
             auto k = norm("k_norm", split(1));