From 1aa376c2c739cd43347dad4af0e023db34901f34 Mon Sep 17 00:00:00 2001 From: kstjohn1 <40505153+kstjohn1@users.noreply.github.com> Date: Wed, 13 May 2026 08:02:00 -0700 Subject: [PATCH] Change k_cache and k_raw to use ggml_view_3d When using np > 1 the app crashes on launch: /Users/admin/Downloads/llama.cpp-deepseek-v4-flash/ggml/src/ggml.c:3643: GGML_ASSERT(ggml_nelements(a) == ne0*ne1*ne2) failed WARNING: Using native backtrace. Set GGML_BACKTRACE_LLDB for more info. See: https://github.com/ggml-org/llama.cpp/pull/17869 0 libggml-base.0.10.0.dylib 0x000000010509d3d0 ggml_print_backtrace + 276 1 libggml-base.0.10.0.dylib 0x00000001051080bc ggml_abort + 156 2 libggml-base.0.10.0.dylib 0x0000000105108b50 ggml_reshape_4d.cold.1 + 0 3 libggml-base.0.10.0.dylib 0x00000001050a45c4 ggml_reshape_3d + 312 4 libllama.0.0.8927.dylib 0x000000010581d440 _ZN19llm_build_deepseek4C2ERK11llama_modelRK16llm_graph_params + 1748 5 libllama.0.0.8927.dylib 0x00000001057c82d0 _ZNSt3__111make_uniqueB9nqe210106I19llm_build_deepseek4JRK11llama_modelRK16llm_graph_paramsELi0EEENS_10unique_ptrIT_NS_14default_deleteIS9_EEEEDpOT0_ + 52 6 libllama.0.0.8927.dylib 0x00000001057c69ac _ZNK11llama_model11build_graphERK16llm_graph_params + 1816 7 libllama.0.0.8927.dylib 0x000000010570448c _ZN13llama_context13graph_reserveEjjjPK22llama_memory_context_ibPmi + 776 8 libllama.0.0.8927.dylib 0x0000000105702dd4 _ZN13llama_context13sched_reserveEv + 616 9 libllama.0.0.8927.dylib 0x0000000105701ccc _ZN13llama_contextC2ERK11llama_model20llama_context_params + 4196 10 libllama.0.0.8927.dylib 0x000000010570ba48 llama_init_from_model + 600 11 libllama-common.0.0.8927.dylib 0x0000000105320548 _ZL29common_get_device_memory_dataPKcPK18llama_model_paramsPK20llama_context_paramsRNSt3__16vectorIP19ggml_backend_deviceNS7_9allocatorISA_EEEERjSF_SF_14ggml_log_level + 232 12 libllama-common.0.0.8927.dylib 0x000000010531ad88 _ZL22common_params_fit_implPKcP18llama_model_paramsP20llama_context_paramsPfP32llama_model_tensor_buft_overridePmj14ggml_log_level + 180 18 dyld 0x000000018dcc7da4 start + 6992 Abort trap: 6 This change updates deepseek4.cpp to use ggml_view_3d rather than ggml_reshape_3d in 2 places. --- src/models/deepseek4.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/models/deepseek4.cpp b/src/models/deepseek4.cpp index 56af9707e..bf2cf4ca4 100644 --- a/src/models/deepseek4.cpp +++ b/src/models/deepseek4.cpp @@ -1009,7 +1009,7 @@ llm_build_deepseek4::llm_build_deepseek4(const llama_model & model, const llm_gr if (compress_ratio == 0) { ggml_tensor * k_cache = mctx_swa->get_k(ctx0, il); - k_cache = ggml_reshape_3d(ctx0, k_cache, n_embd_head_k, 1, k_cache->ne[2]); + k_cache = ggml_view_3d(ctx0, k_cache, n_embd_head_k, 1, k_cache->ne[2], k_cache->nb[1], k_cache->nb[2], 0); cur = build_attn_mha(q, k_cache, k_cache, nullptr, inp_attn->get_kq_mask_swa(), layer.attn_sinks, nullptr, kq_scale, il); cb(cur, "kqv_out", il); @@ -1192,7 +1192,7 @@ llm_build_deepseek4::llm_build_deepseek4(const llama_model & model, const llm_gr } ggml_tensor * k_raw = mctx_swa->get_k(ctx0, il); - k_raw = ggml_reshape_3d(ctx0, k_raw, n_embd_head_k, 1, k_raw->ne[2]); + k_raw = ggml_view_3d(ctx0, k_raw, n_embd_head_k, 1, k_raw->ne[2], k_raw->nb[1], k_raw->nb[2], 0); k_all = k_raw; v_all = k_raw; attn_mask = inp_attn->self_kq_mask_swa;