Repository navigation
ggml: allow backend inputs to not create another split - #28387
Merged
Merged
Conversation
Member
|
For my understanding, how does enabling spec-dec contribute to the increased number of inputs? |
Contributor
Author
|
It adds the "roll-back" inputs Lines 600 to 605 in 7d04ce4 |
Merged
ggerganov
approved these changes
Sep 4, 2026
Patt92
pushed a commit
to Patt92/llama.cpp
that referenced
this pull request
Sep 7, 2026
Drops the bounded multi-backend scheduler split from the feature list: upstream 992cb50 (ggml-org#28387) deleted the input-count check outright, so split boundaries can no longer drift with the growing inputs_capacity and the local change has nothing left to do. Records that upstream independently built and then reverted routed-MoE MMQ tile sizing (ggml-org#24546, reverted by ggml-org#28551). The revert was about where the logic lives, not whether it works -- the objection was that it changed kernel configurations instead of deciding on the host -- and that PR excluded gfx1151 outright, so its own gfx1151 operator measurements remain the best evidence for the idea here.
SteelPh0enix
pushed a commit
to SteelPh0enix/llama.cpp-qwen4exp
that referenced
this pull request
Sep 8, 2026
(cherry picked from commit 992cb50)
adromir
pushed a commit
to adromir/llama-cpp-turboquant
that referenced
this pull request
Sep 9, 2026
x1250
pushed a commit
to x1250/llama.cpp
that referenced
this pull request
Sep 9, 2026
zbrad
pushed a commit
to zbrad/llama.cpp
that referenced
this pull request
Sep 10, 2026
1 task done
roverdrubber
added a commit
to roverdrubber/llama.cpp
that referenced
this pull request
Oct 15, 2026
The branch is far behind upstream master and the parts that a card other than this one needs had drifted. This ports the non-backend half of that sync, content-matched against upstream rather than replayed by hash: the parser and JSON schema chain (ggml-org#27764, ggml-org#28736, ggml-org#28742, which adds common/parsers/, common/json-schema.* and tests/test-json-schema.cpp and retires the three example scripts it replaces), the chat, grammar, jinja and server fixes (ggml-org#28302, ggml-org#28469, ggml-org#26885, ggml-org#28279, ggml-org#28511, ggml-org#28620, ggml-org#28817, ggml-org#28749), the qwen4exp RMSNorm and multiply fusion (ggml-org#28896, hand-ported because the norm tensors here load with a different shape), the GDN q/k l2 norm as flash-linear-attention defines it (ggml-org#28068), the ggml_prec_set_acc API that replaces ggml_mul_mat_set_prec and ggml_flash_attn_ext_set_prec at every call site, and the scheduler fixes for zero-sized expert ids (ggml-org#28739) and split inputs (ggml-org#28387). The GPU backend half of the same sync lands in the following two commits; this one alone does not build the CUDA or HIP backend, because their call sites move to the new precision API there. test-chat, test-json-schema, test-json-schema-to-grammar, test-grammar-integration and test-grammar-parser pass. Assisted-by: Claude Opus 5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
After #22789, it is not necessary that inputs to a split be bounded by a number as it can grow dynamically. This helps in graphs which require a lot of inputs + spec-dec (e.g. DSV4-Flash with recurrent rollback). Using this and #26610, using DSV4 + Dspark I'm able to maintain a single split across the Meta backend (which does not cache uid except the last one) enabling ~30-35 toks/s of sustained throughput.
Additional information
Requirements