perf: avoid redundant MOSS QKV and value layout copies (#2209)

Co-authored-by: leejet <leejet714@gmail.com>
This commit is contained in:
Mirekandleejet authored and GitHub committed 2026-10-25 16:54:51 +08:00
1 parent 2a5f81095d
commit e6370bf093
2 files changed
+10 -7

No files matched your search

+2 -1
View File
@@ -124,7 +124,8 @@ namespace MOSSImage {
y = ggml_add(c, ggml_add(c, y, ggml_mul(c, y, part(1))), part(0));
auto qkv = linear("proj.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]);
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));