From 6e66a1a4a41315d636ff8e284ad1a88df230bb0d Mon Sep 17 00:00:00 2001 From: leejet Date: Mon, 15 Jun 2026 23:18:52 +0800 Subject: [PATCH] fix: allow oversized Vulkan parameter tensors (#1662) --- src/model_manager.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/model_manager.cpp b/src/model_manager.cpp index d32f0365..5287e106 100644 --- a/src/model_manager.cpp +++ b/src/model_manager.cpp @@ -577,13 +577,8 @@ bool ModelManager::alloc_params_buffers(const std::vector& states, for (TensorState* state : states) { ggml_tensor* tensor = state->tensor; size_t tensor_size = GGML_PAD(ggml_backend_buft_get_alloc_size(params_buft, tensor), alignment); - if (max_size > 0 && tensor_size > max_size) { - LOG_ERROR("model manager tensor '%s' is too large for params buffer: %zu > %zu", - ggml_get_name(tensor), - tensor_size, - max_size); - return false; - } + // Some backends, e.g. Vulkan, report a preferred chunk size here rather than a + // hard per-tensor allocation limit. Oversized tensors are allocated alone. if (!chunk.empty() && max_size > 0 && chunk_size + tensor_size > max_size) { if (!alloc_chunk(chunk, chunk_size)) { return false;