From a3cbb9b14715deafffed8cfd2b8b3e4150550ca7 Mon Sep 17 00:00:00 2001 From: Kawrakow Date: Sat, 18 Jul 2026 13:35:28 +0000 Subject: [PATCH] Remove unnecessary mask manipulations --- src/graphs/build_deepseek4.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/graphs/build_deepseek4.cpp b/src/graphs/build_deepseek4.cpp index 54139b343..0e7861071 100644 --- a/src/graphs/build_deepseek4.cpp +++ b/src/graphs/build_deepseek4.cpp @@ -137,6 +137,9 @@ static ggml_tensor * dsv4_build_raw_mask_view( const int64_t n_rows_stream = GGML_PAD(n_kv, 256); if (raw_k_read_idxs == nullptr) { + //auto base = mask->ne[0] == n_kv && mask->ne[1] == n_tokens ? mask + // : ggml_cont(ctx, ggml_view_2d(ctx, mask, n_kv, n_tokens, mask->nb[1], 0)); + //return n_stream == 1 ? base : dsv4_build_mask_stream_view(ctx, base, n_stream, n_tokens); ggml_tensor * base = ggml_cont(ctx, ggml_view_2d(ctx, mask, n_kv, n_tokens, mask->nb[1], 0)); return dsv4_build_mask_stream_view(ctx, base, n_stream, n_tokens); } @@ -146,6 +149,10 @@ static ggml_tensor * dsv4_build_raw_mask_view( return dsv4_build_mask_stream_view(ctx, base, std::max(1, n_stream), n_tokens); } + if (n_stream == 1 && mask->ne[0] == raw_k_read_idxs->ne[0]) { + return mask; + } + ggml_tensor * mask_t = ggml_cont(ctx, ggml_transpose(ctx, mask)); ggml_tensor * result = nullptr; for (int64_t s = 0; s < n_stream; ++s) {