Remove unnecessary mask manipulations

This commit is contained in:
Kawrakow
2026-07-18 13:35:28 +00:00
parent 7c3fc27c79
commit a3cbb9b147
+7
View File
@@ -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<int64_t>(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) {