From adefdb4b987c8ae6c480103ee54165361d0fc3dc Mon Sep 17 00:00:00 2001 From: Kawrakow Date: Mon, 29 Jun 2026 15:09:40 +0200 Subject: [PATCH] Adjust split context for layer (#2054) --- src/llama-load-tensors.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/llama-load-tensors.cpp b/src/llama-load-tensors.cpp index 3c045d71..6b85bdd1 100644 --- a/src/llama-load-tensors.cpp +++ b/src/llama-load-tensors.cpp @@ -179,13 +179,11 @@ struct create_tensors_helper : public create_tensors_helper_interface { inline ggml_context * ctx_for_layer(int i) const { return ctx_map.at(model.buft_layer[i].buft); } - inline ggml_context * ctx_for_layer_split(int i, bool force_split = false) const { + inline ggml_context * ctx_for_layer_split(int i) const { const bool is_mtp_layer = model.hparams.nextn_predict_layers > 0 && static_cast(i) >= model.hparams.n_layer - model.hparams.nextn_predict_layers; - if (is_mtp_layer && !force_split && model.arch != LLM_ARCH_GLM4_MOE) { - return ctx_map.at(model.buft_layer[i].buft); - } - return ctx_map.at(model.buft_layer[i].buft_matrix); + const bool mtp_can_use_graph_split = model.arch == LLM_ARCH_GLM4_MOE || model.arch == LLM_ARCH_QWEN35; + return is_mtp_layer && !mtp_can_use_graph_split ? ctx_map.at(model.buft_layer[i].buft) : ctx_map.at(model.buft_layer[i].buft_matrix); } std::map buft_layer_count; @@ -1736,7 +1734,7 @@ bool create_tensors_helper::create_qwen35_tensors(const LLM_TN & tn) { const bool is_mtp_layer = hparams.nextn_predict_layers > 0 && static_cast(i) >= n_layer - hparams.nextn_predict_layers; - ggml_context * ctx_split = ctx_for_layer_split(i, true); + ggml_context * ctx_split = ctx_for_layer_split(i); int flags = 0; // Skip loading MTP layers if the feature is disabled