From 2da668617612d2df773f966e3b0ee22dc2beef7b Mon Sep 17 00:00:00 2001 From: Al G Date: Sun, 5 Jul 2026 19:39:36 +0100 Subject: [PATCH] Fix stale tensor-split params for draft models (#24814) * meta: fix tensor split metadata for GQA attention * Tidied the code a bit to match existing style * Revert "Tidied the code a bit to match existing style" This reverts commit b90c6c6300091fe09e2350a3d4edcfcf15db8d2e. * Reverted the ggml-backend-meta asset hack. --- src/llama-model.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/llama-model.cpp b/src/llama-model.cpp index e07f6e9863..8d68cff45b 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1012,9 +1012,17 @@ struct llama_model::impl { std::vector dev_layer; bool has_tensor_overrides; + + std::vector tensor_split_owned; }; llama_model::llama_model(const llama_model_params & params) : params(params), pimpl(std::make_unique()) { + if (params.tensor_split != nullptr) { + // llama_model_params stores tensor_split as a borrowed pointer, but the model + // may need it later for tensor-parallel KV-cache split metadata. + pimpl->tensor_split_owned.assign(params.tensor_split, params.tensor_split + llama_max_devices()); + this->params.tensor_split = pimpl->tensor_split_owned.data(); + } pimpl->has_tensor_overrides = params.tensor_buft_overrides && params.tensor_buft_overrides[0].pattern; }