[TRTLLM-14810][chore] Catch-up merge: main into feat/kimi_k3 - #17143
[TRTLLM-14810][chore] Catch-up merge: main into feat/kimi_k3#17143brnguyen2 wants to merge 372 commits into
Conversation
Signed-off-by: Xin He (SW-GPU) <200704525+xinhe-nv@users.noreply.github.com>
Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>
…A#16675) Signed-off-by: trtllm-agent <296075020+trtllm-agent@users.noreply.github.com>
…VIDIA#14875) Signed-off-by: Brenden Elgarten <belgarten@nvidia.com>
…ies (NVIDIA#16551) Signed-off-by: Derek Pitman <dpitman@nvidia.com>
…A#16682) Signed-off-by: trtllm-agent <296075020+trtllm-agent@users.noreply.github.com>
Signed-off-by: TensorRT LLM <90828364+tensorrt-cicd@users.noreply.github.com>
…IA#16700) Signed-off-by: trtllm-agent <296075020+trtllm-agent@users.noreply.github.com>
…rRT SDK into images (NVIDIA#16608) Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
…A#16698) Signed-off-by: trtllm-agent <296075020+trtllm-agent@users.noreply.github.com> Co-authored-by: Mingyang Hao <mingyangh@nvidia.com>
…nput (NVIDIA#16569) Signed-off-by: Yukun He <23156053+hyukn@users.noreply.github.com>
Signed-off-by: TensorRT LLM <90828364+tensorrt-cicd@users.noreply.github.com>
…rt odd top_k (NVIDIA#16546) Signed-off-by: tianruih <tianruih@nvidia.com>
…ests for gpt-oss-120b (NVIDIA#16564) Signed-off-by: Chenfei Zhang <chenfeiz@nvidia.com>
…ic IPC executor path (NVIDIA#16523) Signed-off-by: Lance Liao <108499334+lancelly@users.noreply.github.com>
…A#16545) Signed-off-by: Jiagan Cheng <jiaganc@nvidia.com>
…NVIDIA#16106) Signed-off-by: Eric Tsai <ertsai@nvidia.com>
Signed-off-by: qgai <qgai@nvidia.com>
…session shutdown test (NVIDIA#16630) Signed-off-by: JunyiXu-nv <219237550+JunyiXu-nv@users.noreply.github.com>
…undant-warp sync reduction (NVIDIA#16424) Signed-off-by: siyidNV <297196620+siyidNV@users.noreply.github.com> Co-authored-by: siyidNV <297196620+siyidNV@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
…VIDIA#16709) Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
…me to satisfy flashinfer's contract… (NVIDIA#16069) Signed-off-by: trtllm-agent <296075020+trtllm-agent@users.noreply.github.com>
…nd CI plumbing (NVIDIA#16610) Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
…ised] (NVIDIA#16291) Signed-off-by: Balaram Buddharaju <169953907+brb-nv@users.noreply.github.com>
…nal metric scrapers (NVIDIA#12596) Signed-off-by: BenjaminBraunDev <benjaminbraun@google.com>
…VIDIA#16468) Signed-off-by: peihengh <259410613+peihu-nv@users.noreply.github.com>
…VIDIA#16184) Signed-off-by: ZhaoyangWang <zhaoyangw@nvidia.com>
…d to _forward_impl (NVIDIA#16724) Signed-off-by: qgai <qgai@nvidia.com>
…IDIA#16696) Signed-off-by: Pietro Cicotti <5833013+pcicotti@users.noreply.github.com>
…ifier (NVIDIA#16557) Signed-off-by: Derek Pitman <dpitman@nvidia.com>
…R100 dispatch wiring) Signed-off-by: Tao Li <tali@nvidia.com> Signed-off-by: Michal Guzek <mguzek@nvidia.com>
…ed-epilogue batch gate, hardening Signed-off-by: Michal Guzek <mguzek@nvidia.com>
… checkpoint (NVIDIA#16690) Signed-off-by: Igor Shovkun <ishovkun@nvidia.com>
Signed-off-by: Michal Guzek <mguzek@nvidia.com>
…uff E402 Signed-off-by: Michal Guzek <mguzek@nvidia.com>
Signed-off-by: Balaram Buddharaju <169953907+brb-nv@users.noreply.github.com>
Signed-off-by: krishung5 <krish@nvidia.com>
Signed-off-by: William Zhang <133824995+2ez4bz@users.noreply.github.com>
Catch-up merge (TRTLLM-14810): main @ e34d3d4 into feat/kimi_k3 @ 7003910 (= ff8360e + PR NVIDIA#17088 cherry-picks). 13 textual conflicts resolved per the TRTLLM-14810 resolution plan; K3 stays on the V1 compatibility cache managers (V2 port tracked as TRTLLM-14769). Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
…to-kimi-k3 Signed-off-by: Brian Nguyen <brnguyen@nvidia.com> # Conflicts: # tensorrt_llm/_torch/modules/fused_moe/fused_moe_trtllm_gen.py # tensorrt_llm/_torch/modules/fused_moe/moe_scheduler.py
…-scale params Main migrated mnnvlAllreduceKernels.h from nvinfer1::DataType to tensorrt_llm::DataType (tllmDataType.h); the expert-scale-factor additions merged from NVIDIA#17088 still referenced nvinfer1. Rename the scaleDType member and kernel-dispatch comparisons to the new enum (identical enumerator names/values). Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
|
/bot run |
|
PR_Github #63130 [ run ] triggered by Bot. Commit: |
… trtllm-gen backend flashinfer 0.6.15 raises ValueError when multi_ctas_kv_counter_buffer is supplied with any runner other than trtllm-gen; the Kimi K3 cute-dsl MLA decode path must pass None. Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
|
/bot run |
|
PR_Github #63138 [ run ] triggered by Bot. Commit: |
|
PR_Github/17143-78ae85b #63130 was force-killed by a newer pipeline run. |
|
PR_Github #63138 [ run ] completed with state
|
|
/bot run |
|
PR_Github #63192 [ run ] triggered by Bot. Commit: |
…erval, spec-decoding KV-estimation workaround Follow-ups from qualifying the catch-up merge: - Run pre-commit formatters over files touched by the merge whose internal formatting diverged from the repo hooks, and fix the docstring style (D205/D209) violations they flagged. - eval_extra_llm_options_reuse.yaml: the merge renamed mamba_state_cache_interval (default 256) to mamba_state_config.periodic_snapshot_interval (default 0 = disabled); set it explicitly so the reuse eval keeps taking periodic snapshots. - perf_sweep.sbatch: export PYTHONPATH in the server block (the client block already did), so the served code always resolves to the checkout under test. - Workaround for TRTLLM-14903: with speculative decoding enabled and a self-spawned MPI session, the KV cache size estimation executor's warmup hangs indefinitely while exercising the q>1 generation-path attention kernels that only its spec-mode dummy requests reach (the pre-merge branch tip ec52c64 passes the identical run). When speculative_config is set, skip the estimation phase and size the cache analytically via configure_kv_cache_capacity() (the KVCacheManagerV2-validated path); non-speculative runs keep the normal estimation behavior and the TRTLLM_SKIP_KV_CACHE_ESTIMATION gate. With the workaround, an SA-vs-baseline logits-parity integration run passes with statistics identical to the pre-merge tip (52 prompts, 11 non-tie divergences, zero drift). Remove once TRTLLM-14903 is fixed. - examples/kimi_k3/README: document the TRTLLM-14903 workaround and a known performance regression at DEP16 saturation (TRTLLM-14904; 8K/1K serving sweep: reproducibly ~15% lower output throughput at concurrency 1024 and 4-5% at 128-256 vs the pre-merge tip; concurrency <= 64 and the TEP16/TEP8 latency recipes are at parity). Developers can A/B against ec52c64, the last commit before this merge. Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
78e0c47 to
fc38923
Compare
Validation summaryAccuracy — GSM8K with the three serving recipes (baseline decode, KV-block-reuse, suffix-automaton speculative decoding): 96.74 / 96.89 / 96.66 vs a 97.01 pre-merge reference (all within run-to-run noise). The reuse recipe requires the Speculative-decoding parity — SA-vs-baseline logits-parity integration run on a truncated model: post-merge statistics are identical to the pre-merge branch tip (52/52 prompts diverge only at benign near-ties, 11 non-tie divergences, zero drift; same numbers on both trees). Serving performance — 17-point 8K/1K benchmark sweep across three recipes, merge vs pre-merge branch tip, single run per point plus repeat runs on outliers:
Disaggregated smoke — context/generation split with MTP on the V2 transceiver path: server healthy, benchmark completes. Known issue (introduced upstream, not K3-specific code) — speculative decoding with a self-spawned MPI session and fraction-based KV-cache sizing hangs during the KV-cache-size-estimation phase (the estimation executor's warmup never completes; the pre-merge tip passes the identical run). This branch carries a temporary workaround that skips the estimation phase whenever a speculative config is set (cache sized analytically instead; non-speculative runs keep normal estimation) — to be removed when the underlying hang is fixed. Production launch paths ( |
|
Closing this PR without merging via the web UI: the repository is configured for squash merges, and squashing a true merge commit would linearize main's history into Rollback reference: the |
|
PR_Github #63192 [ run ] completed with state
|
@coderabbitai summary
Description
Catch-up merge of
mainintofeat/kimi_k3(TRTLLM-14810): mergesmain@ e34d3d4 (362 commits since the last sync point b602fa6) into the feature branch.Draft status / how to use this branch: conflict resolution is complete and reviewed; build + unit-test validation has passed (details below), and the wider integration/accuracy qualification is still in progress. Teams blocked on the merge can base work on this branch now, accepting that qualification may still produce small fixups on it.
Note: this branch includes the commits of #17088 (TRTLLM-14703), which was open at merge time. #17088 should merge before or together with this PR.
Conflict resolution summary
13 files had textual conflicts. The notable resolutions:
pyexecutor/mamba_cache_manager.py,pyexecutor/_util.py,pyexecutor/config_utils.py: Kimi K3 stays on the V1 compatibility cache managers (CppMambaHybridCacheManager/MixedMambaHybridCacheManager). Explicitly requestinguse_kv_cache_manager_v2=Truefor K3 now raises with a pointer to TRTLLM-14769 (the V2 port, tracked separately);"auto"resolves to the V1 managers. The K3 branch of_create_kv_cache_managerwas adapted to main's reworkedMambaKVCacheParams/_get_mamba_cache_layer_masksAPI.speculative/sa_worker.pyresolved to main's version (main's [None][fix] SA spec dec: promote accepted hybrid recurrent states in-worker #16759 upstreamed the same change; only theforward→_forward_implinterface rename remained, from [https://nvbugs/6442074][fix] Make one-model spec-dec attn-metadata save/restore exception-safe #16382).evaluate/lm_eval.py+ its test resolved to main's version (main's [None][feat] Log running metric estimates during long lm-eval runs #16752 is the reviewed successor of the branch-side commit). Acceptance-rate (AR) logging is deferred as documented in that PR; AL logging is unchanged.fused_moe/fused_moe_trtllm_gen.py,create_moe.py,moe_scheduler.py: re-applied the branch's K3 additions on top of main's legacy-MoE-path removal ([TRTLLM-14609][chore] Remove legacy MoE path in TRTLLMGenFusedMoE #16862) andENABLE_CONFIGURABLE_MOEescape-hatch removal ([TRTLLM-14609][chore] Remove ENABLE_CONFIGURABLE_MOE escape hatch and remaining MoE legacy relics #17009). The branch-side legacyforward_implcopy (dead code after [TRTLLM-14609][chore] Remove legacy MoE path in TRTLLMGenFusedMoE #16862) is dropped.attention_backend/fmha/flashinfer_trtllm_gen.py: kept the branch's cute-dsl MLA decode path; adopted main's flashinfer 0.6.15 multi-CTAS KV-counter-buffer mechanism on the trtllm-gen path.models/modeling_speculative.py: trivial (both sides landed the same optional hidden_size/vocab_size change, [None][fix] SpecDecOneEngineForCausalLM: accept optional hidden_size/vocab_size for composite configs #16762). The branch's DFlash extensions coexist with main's newmodeling_dspark.py; deduplication is deferred to the spec-dec upstreaming PR.All ~39 auto-merged files touched by both sides were hand-reviewed: branch-side deltas survived intact;
requirements.txtandsa_worker.pyintentionally resolve to main.Test Coverage
nvinfer1::DataType→tensorrt_llm::DataTypemigration — is fixed in a dedicated commit on this branch.tests/unittest/_torch/modeling/test_kda_mtp_decode_cute_parity.py,test_kimi_kda_fused_verify_parity.py,test_kimi_kda_verify_parity.py,test_kimi_kda_fp8_packed_prefill.py,tests/unittest/_torch/modules/kimi_kda/,tests/unittest/_torch/modules/moe/test_kimi_k3_situ_moe.py,tests/torch/speculative/test_suffix_automaton.py).PR Checklist