From: Georgi Gerganov Date: Fri, 14 Nov 2025 12:03:45 +0000 (+0200) Subject: server : fix "can batch with" bug (#17263) X-Git-Tag: upstream/0.0.7446~387 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=d396b4374804bcb91cf969141ed75282245a12bc;p=pkg%2Fggml%2Fsources%2Fllama.cpp server : fix "can batch with" bug (#17263) --- diff --git a/tools/server/server.cpp b/tools/server/server.cpp index 7dbd8b6a..535d2c45 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -3591,13 +3591,13 @@ struct server_context { // next, batch any pending prompts without exceeding n_batch if (params_base.cont_batching || batch.n_tokens == 0) { for (auto & slot : slots) { + if (!slot.is_processing()) { + continue; + } + // check if we can batch this slot with the previous one - if (slot.is_processing()) { - if (!slot_batched) { - slot_batched = &slot; - } else if (!slot_batched->can_batch_with(slot)) { - continue; - } + if (slot_batched && !slot_batched->can_batch_with(slot)) { + continue; } // this slot still has a prompt to be processed @@ -4028,6 +4028,10 @@ struct server_context { } } + if (!slot_batched) { + slot_batched = &slot; + } + if (batch.n_tokens >= n_batch) { break; }