koboldcpp/common
Gaurav Garg ad27757261
Move to backend sampling for MTP draft path (#23287)
* Move to backend sampling for MTP draft path

Run top_k(10) on the draft backend. D2H transfers happen only for the top 10 logits

Make backend sampling more robust and fallback to CPU on failure cases, such as with "-sm tensor" or when a backend doesn't support TOP_K.

* Allow sampler chains to be partially offloaded to backend

* Add --spec-draft-backend-sampling argument. Enabled by default.
2026-05-20 22:34:45 +05:30
..
jinja common : fix jinja warnings with clang 21 (#22313) 2026-04-24 12:36:02 +02:00
arg.cpp Move to backend sampling for MTP draft path (#23287) 2026-05-20 22:34:45 +05:30
arg.h mtmd, server, common: expose modalities to /v1/models (#22952) 2026-05-12 19:08:07 +02:00
base64.hpp
build-info.cpp.in libs : rename libcommon -> libllama-common (#21936) 2026-04-17 11:11:46 +03:00
build-info.h libs : rename libcommon -> libllama-common (#21936) 2026-04-17 11:11:46 +03:00
chat-auto-parser-generator.cpp common : delegate assistant continuation to underlying template handlers (#23089) 2026-05-17 13:36:05 +02:00
chat-auto-parser-helpers.cpp common : replace wrap_for_generation with a prefix convenience function and fix gpt-oss (#20912) 2026-03-23 22:21:47 -05:00
chat-auto-parser-helpers.h chat : avoid including json in chat.h (#21306) 2026-04-03 09:07:59 +03:00
chat-auto-parser.h common : delegate assistant continuation to underlying template handlers (#23089) 2026-05-17 13:36:05 +02:00
chat-diff-analyzer.cpp common/autoparser: fixes for newline handling / forced tool calls (#22654) 2026-05-04 13:18:11 +02:00
chat-peg-parser.cpp common : delegate assistant continuation to underlying template handlers (#23089) 2026-05-17 13:36:05 +02:00
chat-peg-parser.h common : enable streaming JSON argument values (#23173) 2026-05-17 03:44:34 -05:00
chat.cpp common : delegate assistant continuation to underlying template handlers (#23089) 2026-05-17 13:36:05 +02:00
chat.h common : delegate assistant continuation to underlying template handlers (#23089) 2026-05-17 13:36:05 +02:00
CMakeLists.txt fit-params : refactor + add option to output estimated memory per device (#22171) 2026-04-21 09:54:36 +03:00
common.cpp common: fix --fit verbosity with --verbosity 4 (#23282) 2026-05-19 21:33:23 +02:00
common.h Move to backend sampling for MTP draft path (#23287) 2026-05-20 22:34:45 +05:30
console.cpp cli: fix stripping of \n in multiline input (#21485) 2026-04-06 20:54:06 +02:00
console.h cli : add command and file auto-completion (#19985) 2026-03-05 10:47:28 +01:00
debug.cpp common: fix missing exports in llama-common (#22340) 2026-04-27 08:06:39 +03:00
debug.h common: fix missing exports in llama-common (#22340) 2026-04-27 08:06:39 +03:00
download.cpp llama + spec: MTP Support (#22673) 2026-05-16 20:06:23 +08:00
download.h llama + spec: MTP Support (#22673) 2026-05-16 20:06:23 +08:00
fit.cpp logs : reduce (#23021) 2026-05-14 13:05:52 +03:00
fit.h fit-params : refactor + add option to output estimated memory per device (#22171) 2026-04-21 09:54:36 +03:00
hf-cache.cpp common : remove hf cache migration (#23266) 2026-05-18 17:11:47 +02:00
hf-cache.h common : remove hf cache migration (#23266) 2026-05-18 17:11:47 +02:00
http.h server: Parse port numbers from MCP server URLs in CORS proxy (#20208) 2026-03-09 17:47:54 +01:00
json-partial.cpp common : Generalized XML-style tool-call parsing with streaming support (GLM 4.5/4.6 + MiniMax M2 + SeedOSS + Kimi-K2 + Qwen3-Coder + Apriel-1.5 + Xiaomi-MiMo) (#16932) 2025-11-18 18:54:15 +01:00
json-partial.h cli : fix reasoning responses in CLI (#18961) 2026-01-20 18:23:25 +01:00
json-schema-to-grammar.cpp common/json-schema: fix: handle non-capturing groups (?:...) in JSON schema pattern converter (#21124) 2026-03-28 17:55:38 +01:00
json-schema-to-grammar.h common : add nemotron 3 parsing (#18077) 2025-12-16 04:05:23 -06:00
llguidance.cpp sampling : add support for backend sampling (#17004) 2026-01-04 22:22:16 +02:00
log.cpp logs : reduce (#23021) 2026-05-14 13:05:52 +03:00
log.h logs : reduce (#23021) 2026-05-14 13:05:52 +03:00
ngram-cache.cpp spec : add self‑speculative decoding (no draft model required) + refactor (#18471) 2026-01-28 19:42:42 +02:00
ngram-cache.h spec : add self‑speculative decoding (no draft model required) + refactor (#18471) 2026-01-28 19:42:42 +02:00
ngram-map.cpp llama : MTP clean-up (#23269) 2026-05-19 15:32:58 +03:00
ngram-map.h fix: correct misspellings in code comments (#21217) 2026-03-31 13:50:51 +02:00
ngram-mod.cpp spec : add ngram-mod (#19164) 2026-01-30 18:21:48 +02:00
ngram-mod.h ngram-mod : fix build [no ci] (#19216) 2026-01-30 21:27:27 +02:00
peg-parser.cpp common/gemma4 : handle parsing edge cases (#21760) 2026-04-13 18:18:18 -05:00
peg-parser.h common/gemma4 : handle parsing edge cases (#21760) 2026-04-13 18:18:18 -05:00
preset.cpp mtmd, server, common: expose modalities to /v1/models (#22952) 2026-05-12 19:08:07 +02:00
preset.h mtmd, server, common: expose modalities to /v1/models (#22952) 2026-05-12 19:08:07 +02:00
reasoning-budget.cpp reasoning-budget: clone should do a deep-copy (#23095) 2026-05-15 11:59:07 +02:00
reasoning-budget.h common : do not pass prompt tokens to reasoning budget sampler (#22488) 2026-04-29 14:10:58 -05:00
regex-partial.cpp common : fix iterator::end() dereference (#20445) 2026-03-16 08:50:38 +02:00
regex-partial.h common: add partial regex support (#12808) 2025-05-14 19:50:57 +01:00
sampling.cpp backend sampling: support returning post-sampling probs (#22622) 2026-05-10 19:12:02 +02:00
sampling.h common : do not pass prompt tokens to reasoning budget sampler (#22488) 2026-04-29 14:10:58 -05:00
speculative.cpp Move to backend sampling for MTP draft path (#23287) 2026-05-20 22:34:45 +05:30
speculative.h llama: avoid copying logits during prompt decode in MTP (#23198) 2026-05-17 23:30:25 +08:00
unicode.cpp common/parser: handle reasoning budget (#20297) 2026-03-11 10:26:12 +01:00
unicode.h common/parser: handle reasoning budget (#20297) 2026-03-11 10:26:12 +01:00