github NVIDIA/TensorRT-LLM v1.3.0rc25

pre-release2 hours ago

Highlights

  • Annoucements

    • KV Cache Manager
      • Enabled KV cache manager V2 by default for:
        • DeepSeek V3, DeepSeek R1, and DeepSeek V3 Lite
        • DeepSeek V3.2
        • DeepSeek V4
        • GLM-5
        • GPT-OSS
        • Mistral Large 3
        • Kimi K2, Kimi K2.5, and Kimi K3
        • MiniMax M2 and MiniMax M3
        • Nemotron H and Nemotron H Puzzle
        • Qwen3-Next, Qwen3.5, and Qwen3.8
        • Gemma 3 and Gemma 4
      • KV cache manager V2 is the recommended architecture, with improved scalability and stability. All new models will use V2 by default, existing models will be migrated to V2 gradually, and V1 will be deprecated.
  • Known Issues

    • Disaggregated serving may hang during startup or shutdown and leave workers running; affected workloads include GPT-OSS startup and tensor-parallel Llama cleanup.
    • Disaggregated serving with optional execution modes may fail to start.
    • Generation may hang indefinitely across multiple models, including Gemma 4.
    • Repeated create, generate, and shutdown cycles with overlap scheduling may hang across sampler and block-reuse configurations.
    • KV cache manager V2 scheduler workloads may intermittently crash or run out of memory on B200 GPUs.
    • DeepSeek-V3-Lite disaggregated attention data parallelism with overlap may crash; configurations additionally using MTP, CUDA Graphs, and KV cache manager V2 may hang.
    • DeepSeek-R1 V2 FP4 MTP disaggregated serving may crash during generation, and two-node executor initialization may hang indefinitely.
    • GPT-OSS EAGLE serving may deadlock during distributed startup or suffer a worker crash that causes subsequent requests to fail.
    • RocketKV generation may hang with either the TensorRT-LLM or vanilla model path.
    • Disaggregated KV cache transfers may hang after a sender aborts; LoRA generation with chunked prefill may livelock.
    • Qwen3 FP8 LoRA generation may hang.
    • Distributed workload data-parallel inference may crash or hang during shutdown after successful generation.
    • Multi-GPU fused-MoE startup may lose a rank and then hang.
    • Reusing LLM workers for MegaMoE workloads such as DeepSeek V4 Pro may exhaust GPU memory.
    • GPT-OSS dummy-load and W4 configurations may run out of memory while creating the KV cache.
    • DeepSeek-V3.2 FP8 executor creation may run out of memory on H200 GPUs.
    • BF16 LTX-2 and multi-GPU Wan 2.2 visual-generation workloads may produce degraded output quality.
    • Wan text-image-to-video generation with fused normalization may lose conditioning behavior when timestep shapes change.
    • DeepSeek-V3-Lite Helix context-parallel disaggregated serving may produce accuracy loss.
    • Nano V3 Omni FP8 encoder execution with CUDA Graphs may produce accuracy loss.
    • GLM 4.5 NVFP4 disaggregated NIXL serving with KV cache manager V1 may complete with zero accuracy.
    • Qwen2 and Exaone MoE GQA/SWA inference may intermittently produce NaNs and accuracy loss.
    • Qwen3 skip-softmax configurations may produce NaNs and crash with a CUDA device assertion during sampling.
    • Speculative decoding with chunked prefill may exhibit incorrect cache behavior and reduced token acceptance.
    • Stock EXAONE 4.5 and VILA checkpoints may fail to load because their configurations are not registered.
    • Nemotron-Hybrid checkpoints whose hybrid pattern contains a hyphen may fail during configuration loading.
    • DeepSeek-R1 long-context requests with V2 draft KV caching are unsupported when the required sequence length exceeds the initial cache size.
    • Mistral Large 3 FP8 DeepGEMM and NVFP4 EAGLE MoE workloads may crash during startup or generation.
    • LTX-2 NVFP4 generation may fail during startup.
    • Wan pipeline-parallel or Ulysses execution may fail during startup on B200 GPUs.
    • MiniMax-M3 MXFP8 model construction is unsupported.
    • Kimi K3 generation-only workloads with 96-head MLA configurations are unsupported.
    • AutoDeploy standalone generated installations may fail to run when dependency resolution selects incompatible versions.
  • Model Support

    • Add Cosmos3-Edge support for text-to-image, text-to-video, and image-to-video generation #16773.
    • Add HunyuanVideo 1.5 text-to-video support #15562.
    • Add GLM-Image text-to-image support #16018.
    • Add Cosmos3 Transfer control-video conditioning #16394.
    • Add multimodal Kimi K3 support #17050.
    • Enable mixed-modality support for Nemotron Nano Omni V3 #16764.
    • Expand Kimi K3 with SiTU MegaMoE and NVFP4 support #17624, #17865, and #17940.
    • Expand Kimi K3 with selectable MLA decode backends, KDA tensor parallelism, MLA decode context parallelism, and SA speculative decoding in disaggregated serving #17800, #17796, and #17939.
    • Expand Qwen3.5 and Qwen3.8 with MoE, attention data parallelism, GDN replay, and improved weight loading #17700.
    • Enable DeepSeek-V4 and DSA models, including DeepSeek-V3.2 and GLM, on SM120 through FlashInfer sparse MLA #16224.
    • Qualify dense Qwen2 models for ModelExpress #16974.
    • Add configuration-driven sqrt-softplus router scoring for Laguna models #17918.
  • API

    • Load public TensorRT-LLM exports lazily while preserving top-level names #17281.
    • Deprecate the legacy _autodeploy backend #15642.
    • Remove model_path from TriAttentionKvCacheCompressionConfig and derive the model configuration from the executor #17501.
    • Complete TorchSampler beam-search support and add occurrence penalties #16620 and #17189.
    • Retire two-model speculative-decoding execution in favor of one-model fallback #17366 and #17562.
    • Add prefill CUDA Graph backend and capture-bucket APIs, including experimental breakable CUDA Graphs, while deprecating corresponding TorchCompileConfig fields #16609.
    • Honor SamplingParams.seed and occurrence penalties during one-model speculative decoding #17599 and #17701.
    • Remove conversation IDs from disaggregated request parameters #17618.
    • Add race-free dynamic port allocation through --port 0 and address reporting through --report_addr #17460.
    • Add the /v1/images/edits endpoint for visual-generation models #16987.
    • Expose model-startup and weight-loading metrics through the LLM API and serving stack #15993.
    • Add RuntimeLoRAConfig and startup-time LoRA fusion for VisualGen #17435.
    • Add KV cache manager V2 cold-page codecs while changing pool_ratio ordering and cold-tier statistics #17512.
    • Remove all WIDEEP files #17797.
    • Remove Star Attention and its configuration surface #18025.
    • Revise the VisualGen serving API with path responses, new job states, and /v1/videos/sync #17490.
    • Honor named functions in tool_choice for non-Harmony models #14290.
  • Feature

    • Enable KV cache manager V2 by default for GPT-OSS, Gemma 3, and Gemma 4 #16942 and #17396.
    • Extend KV cache manager V2 with DSA support, zero-copy token passing, distributed pool rebalancing, and Helix decode context parallelism #16060, #17308, #17391, and #17866.
    • Add prefix-attention and request-level metrics to KV cache manager V2 #17448 and #17815.
    • Expand disaggregated serving with Python V2 transceivers, Ray-based NIXL transfers, masked DSA cache transfers, decode context-parallel transfers, and enhanced Mamba page tables #16787, #17295, #17283, #17794, and #17691.
    • Add end-to-end dense FP8 LoRA, Blackwell FP8 support, base-model computation overlap, and specialized CUDA Graphs #16810, #17521, #16951, and #17412.
    • Batch TorchSampler beam-search finish-reason reduction #17494.
    • Eliminate redundant one-model sampling-parameter refills #17544.
    • Extend and accelerate DFlash and DSpark with RoPE, sliding-window attention, TensorRT-LLM Gen attention, fused attention/RMSNorm/RoPE, and optimized draft forwarding #16914, #17307, and #17935.
    • Support structured output with DSpark speculative drafting #16965.
    • Support loading MTP weights from standalone checkpoints #17378.
    • Hard-kill all ranks when any executor loop crashes #16592.
    • Enforce multimodal encoder runtime budgets with budgeted output storage #16051.
    • Support isolated out-of-tree builds and incremental artifact copy-back #17524, #17525, and #17538.
    • Optimize Kimi K3 by fusing KDA projections and routing quantization, preallocating residual snapshots, removing MLA padding, and eliminating recurrent-state copies #17311, #17053, #17059, #17684, and #17887.
    • Accelerate VisualGen with fused Wan upsampling, optimized parallel-VAE halo exchange, fused MLP and AdaLN operations, and native Wan VAE reuse for Cosmos3 #17003, #17001, #17693, #17695, and #17555.
    • Enable FlashAttention 4 and parallel VAE in LTX-2 examples #17610.
    • Accelerate DeepSeek sparse attention with a fused MLA prologue and overlapped DSA heuristic write-back #17273 and #16666.
    • Optimize MiniMax-M3 sparse attention with paged KV access, fewer transfers and synchronizations, FP8 indexer QK, improved block selection, decode kernels, and reduced idle time #16857, #17840, #17841, #17236, #17318, #17986, and #17842.
    • Enable INT8 weight-only MoE for non-gated activations #15550.
    • Optimize MoE execution with fused SM90 FP8 block-scale quantization and split routing kernels #16849 and #17893.
    • Add a CFT counted-write path for MoE all-to-all communication #17647.
    • Add tiered and self-sampling CuTe DSL GVR top-K decode kernels #16877 and #17821.
    • Move AllReduce autotuner dispatch into C++ #16902.
    • Eliminate quadratic copying during KV cache block reuse #17848.
    • Add low-M BF16 GEMM dispatch for SM10x decoding #17889.
    • Improve small-BF16-context performance with targeted fallback selection #18196.
    • Reduce runtime overhead from request-context construction, response timing, hang detection, and profiling bookkeeping #17582, #18053, and #17531.
    • Cache Whisper suppress-token indices on the GPU #17583.
  • Fix

    • Enforce Responses conversation-history capacity limits #15043.
    • Resolve reasoning mode from rendered prompts #17305.
    • Preserve streaming SSE event boundaries #18090.
    • Align log probabilities with token IDs after stop-word trimming #18190.
    • Correct DeepSeek streaming tool parsers to emit withheld text, preserve pre-tool-call text, and complete zero-argument calls #17573, #17903, and #17575.
    • Harden Kimi K3 tool-call parsing #17980.
    • Surface malformed Harmony tool-call messages instead of silently discarding them #17464.
    • Delegate guided decoding through multimodal model wrappers #18162.
    • Skip Hugging Face tokenizer loading when no tokenizer directory is configured #17568.
    • Serialize Hugging Face remote-code loading while constructing input processors #17708.
    • Stabilize tokenizer representations by removing object-address-dependent output #16839.
    • Correct Kimi K3 MLA output propagation and KDA bias initialization #17445 and #17793.
    • Stabilize Kimi K3 CUDA Graph buffers and fused-verification constants #17421.
    • Make Kimi K3 FP8 checkpoint reads opt-in #17446.
    • Correct Kimi K3 KV cache manager V2 convolution-state layout and SSM statistics #17447.
    • Release Kimi K3 checkpoint mappings after loading and bound MegaMoE expert-weight memory at EP8 #17999 and #18059.
    • Select the compatible Marlin backend for Qwen3.5 MoE on Hopper #17293.
    • Correct Qwen3.5 FP8 row-wise checkpoint mapping #17433.
    • Normalize Qwen3.8 27B FP8 VLM quantization configuration #17786.
    • Select FlashInfer FA2 for Gemma4 on SM120 and SM121 #17557.
    • Stabilize Gemma4 FA2 CUDA Graph decoding on Hopper #18002.
    • Restore Gemma4 shared-KV draft loading and FlashInfer shared-KV speculative decoding #17837 and #17264.
    • Restore DSpark disaggregated decoding accuracy #17619.
    • Correct DeepSeek-V4 one-model MTP draft KV cache handling #16887.
    • Correct MiniMax-M3 routing inputs and end-to-end execution #17565.
    • Fix SageAttention for KV sequences not divisible by 128 #17648.
    • Stabilize CUDA Graph pool and handle lifetimes across captures #16952 and #17313.
    • Release eager outputs before CUDA Graph capture #17824.
    • Correct attention runtime-workspace and unfused-context workspace sizing #16432 and #17026.
    • Size decode buffers and KV cache admission by beam width #17014 and #16802.
    • Prevent arithmetic overflow in the FMHAv2 launcher #11263.
    • Densify sparse-FMHA warmup coverage to prevent missing kernel configurations #17961.
    • Skip no-op MXFP4 weight padding #17259.
    • Prevent LoRA host/device cache dtype reconfiguration races #17678.
    • Fence MoE shared writes before asynchronous bulk copies #17621.
    • Correct MoE and MTP execution for large hybrid-attention FP8 serving #17635.
    • Pad TensorRT-LLM Gen MoE route maps to cover kernel over-reads #17951.
    • Align Blackwell TMA-OOB MoE workspace buffers to 128 KiB #18133.
    • Constrain SM120 FP8 block-scale MoE autotuning correctly #18140.
    • Gate TritonFusedMoE by the SwiGLU activation family #18256.
    • Repair non-converged GVR top-K threshold searches in CUDA and CuTe DSL implementations #17550 and #18094.
    • Correct CuTe DSL MLA decode AutoTuner fallback buckets #17792.
    • Restore convolution-state ordering barriers in Triton convolution kernels #17539.
    • Reduce DeepSeek-V4 EPLB loading memory #18185.
    • Fit token budgets safely at request-preparation boundaries #15187.
    • Pad empty attention data-parallel batches so all ranks continue making progress #17379.
    • Generalize attention data-parallel padding-dummy lifecycle management #16921.
    • Keep attention data-parallel ranks in collective lockstep on request failures #16687.
    • Isolate single-rank disaggregated failures and peer-layout mismatches to affected requests #16834 and #17482.
    • Prevent gen-only asynchronous KV-transfer hangs #17107.
    • Reap idle disaggregated context transfers without invalid progress guards #17564, #17324, and #18263.
    • Recover disaggregated worker heartbeat registration #17461.
    • Preserve KV ownership during disaggregated transfer prechecks #17223.
    • Reject unsupported transceiver routes for Kimi K3 disaggregated serving #17480.
    • Detect worker death during initialization and abort wedged worker worlds #17578 and #17817.
    • Isolate FlashInfer JIT workspaces across MPI workers #17233.
    • Compensate Helix position IDs under overlap scheduling #17811.
    • Restore the Helix KV cache CpType import #18143.
    • Clamp conversation-affinity routing to each attention data-parallel rank's slot #17534.
    • Suspend CUDA Graph padding dummies during KV-pool rebalance #16157.
    • Skip draft-KV mirroring when KV cache manager V2 index mapping is saturated #17347.
    • Synchronize KV cache manager V2 host-tier quotas and fallback decisions across ranks #17717 and #18092.
    • Prevent KV-cache estimation probes from pinning the complete host tier #17850.
    • Restore KV cache manager V2 recompute handling for paused requests #15252.
    • Reattach radix-tree blocks detached under live requests #18095.
    • Correct C++ Mamba hybrid-cache management and propagate maximum-token limits #17492 and #18116.
    • Synchronize one-model MTP scheduler draft tokens #17836.
    • Preserve advanced and single-step-greedy sampling state through graph capture #17671 and #17828.
    • Refresh group-greedy speculative state on every iteration #17710.
    • Preserve dynamic-tree speculative-decoding state across forwards #16733.
    • Reject sampling parameters unsupported by one-model speculative decoding #17955.
    • Avoid MoE multi-GPU rendezvous port races #17831.
    • Swap NVFP4 batched-GEMV grid axes to support large output dimensions #17660.
    • Correct CuTe DSL packed-QKV copy lowering in VisualGen #17425.
    • Stabilize VisualGen multi-node Ulysses synchronization and remove conflicting NCCL flags #16486 and #16751.
    • Prevent Cosmos3 CUDA-event crashes when guardrails reject prompts #17510.
    • Reword Cosmos3 negative prompts that incorrectly trigger guardrails #17523.
    • Correct Cache-DiT statistics logging and Wan per-patch timestep handling #17697 and #17696.
    • Warn when VisualGen attention backends fall back silently #17698.
    • Reject static VisualGen quantization recipes for unquantized checkpoints #17699.
    • Preserve multimodal graph state while toggling torch.compile #17949.
    • Distinguish NVLink encryption from confidential-computing mode #16850.
    • Prevent streaming executor shutdown deadlocks #17426.
    • Clean up leftover disaggregated servers, reject dead prefetched MPI pools, and reap wedged session workers #17632, #17642, and #17644.
    • Prevent out-of-tree wheel copy-back from skipping freshly written files #17919.
  • Documentation

    • Add the Qwen3.8 deployment guide and configurations #17594.
    • Publish guidance for evaluating agentic serving with trace replay and job-level metrics #16230.
    • Update disaggregated-serving guides for transceiver V2 #18248.
    • Clarify Kimi K3 container runtime dependencies and UCX configuration #17456 and #17479.
    • Document Helix source-test prerequisites #17628.
    • Correct LMCache example output guidance #17629.
    • Correct the attention data-parallel Balance per-GPU throughput figure #17905.
  • Test & Infra

    • Migrate CI container images to Artifactory and harden Docker-in-Docker networking, wheel context, and image retagging #16970, #17829, and #18208.
    • Move AutoDeploy and other CPU-only tests plus documentation builds onto CPU stages and reduce their resource requirements #17314, #17339, #17639, and #18125.
    • Run mypy directly in the build stage #17560.
    • Improve test diagnostics with native pytest S3 capture, periodic result uploads, rank-zero log draining, hang tracebacks, and inner-test attribution #16739, #14138, #18240, #16374, and #16358.
    • Introduce coverage-based test selection and refine its VisualGen rules, pilot allowlist, compact coverage data, architecture aggregation, and skip-rate reporting #16776, #17251, #17253, #17996, #17803, #18058, and #16467.
    • Harden CI failure handling by deferring infrastructure-scoped K8s and Slurm aborts, avoiding retries for deterministic failures, and logging retry-classification declines #17615, #17938, #17645, and #17432.
    • Strengthen test-list parameter validation, collection parity, live-stage mapping, sysinfo detection, and empty-render checks #17975, #17651, #18004, and #17993.
    • Automate stale pull-request cleanup and scan all result pages #17383 and #17602.
    • Add a simplified infrastructure dry-run pipeline #17813.
    • Integrate PLC source scanning and improve PLC and nSpect reporting, authentication, and entitlement handling #15552, #17419, #17679, #18119, and #18217.
    • Harden Slurm test execution with a relocated finalizer, reliable artifact installation, cleanup and submission error classification, and multi-rank launch fencing #17263, #17634, #17704, #17709, and #17372.
    • Add execution, test-runner, modeling-bringup, and performance-optimization tooling for repository agents #17404, #16543, and #18069.
    • Add the LLVM BOLT profile-generation engine and enable its scheduled producer and promotion pipeline #16204 and #18212.
    • Expand KV cache manager V2 coverage for C++ pool rebalancing, multi-rank host-tier synchronization, and scheduler stability #17387, #17790, and #17823.
    • Expand Kimi K3 validation with KDA transfer, MoE, multi-node disaggregated, DFlash, DSpark, and FP8 prefill coverage #17484, #17711, #17802, #17846, and #17483.
    • Add the ModelExpress donor-receiver qualification harness and validation cleanup #17222 and #17834.
    • Add speculative-decoding acceptance-length regression baselines #17474.
    • Consolidate disaggregated and SSM end-to-end tests, enable Hopper IB transport, and replace disaggregated DWDP accuracy checks with aggregated coverage #16614, #17680, #17300, and #17546.
    • Restore pipeline-parallel regression coverage and add LoRA-manager H100 tests #17117 and #18114.
    • Add VisualGen Cosmos3 LPIPS baselines plus Nemotron-3.5-Lightning and Qwen3.8 accuracy guards #17780, #18180, and #18071.
    • Reduce GVR top-K decode unit-test compilation time through compile-signature-aware parametrization #17878.
    • Prune retired Bielik, DeepSeek-R1-Distill, LLaVA-Next, VILA, Nemotron-H, StarCoder2, Phi, Mistral, Step-3.7-Flash, and Qwen test suites #17345, #17351, #17595, #17675, #17601, #17674, #17600, #17598, #18013, and #17827.
    • Remove stale VBench test infrastructure #17516.
    • Expand MoE benchmark coverage with group-aware routing and Qwen3.8/Kimi K3 presets #17791 and #17959.
    • Expand performance coverage with corrected Qwen3.5 sequence lengths, benchmark-refresh mappings, and Nemotron-Ultra-V3 GB300 cases #17422, #17317, and #17609.
    • Improve benchmark configuration by inferring fixed-dataset sequence lengths and supporting MLA model dimensions #17825 and #16707.
    • Expand layer-wise benchmarking for DeepSeek-V4 and Kimi K3 and derive module performance cases from traces #17801 and #17804.
    • Harden performance testing with bounded and configurable server waits, correct pipeline-branch selection, accurate per-iteration device timing, and restored MLA decode gates #17881, #17202, #18127, #18011, #18054, and #17596.

What's Changed

New Contributors

Full Changelog: v1.3.0rc24...v1.3.0rc25

Don't miss a new TensorRT-LLM release

NewReleases is sending notifications on new releases.