Commit Graph
15010 Commits
Author SHA1 Message Date
Tyler Michael SmithandClaude Opus 4.6 ba42d161f3 [Kernel] Add NaN/Inf checks to NVFP4 linear pipeline
Add three check_tensor checkpoints to the NVFP4 GEMM path:
- fp4_input: activations before FP4 quantization
- fp4_act_scales: activation block scales after quantization
- fp4_gemm_output: GEMM output before bias/reshape

Registered per-layer in ModelOptNvFp4LinearMethod.process_weights_after_loading
so each linear layer gets its own named checkpoints (e.g.,
"model.layers.1.self_attn.o_proj.fp4_gemm_output").

Also removes the post-crash KV cache full scan (was already
removed in nan_detector.py, this syncs the state).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 19:37:10 -04:00
Tyler Michael SmithandClaude Opus 4.6 99e90c2a8d [Kernel] Simplify NaN detector: remove post-crash KV scan
Remove _check_all_kv_cache() — scanning the KV cache after the
forward is circular (the forward just wrote NaN into it). Keep
the on-assignment check (check_kv_blocks) which catches stale NaN
in recycled blocks before they're used.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 19:28:50 -04:00
Tyler Michael SmithandClaude Opus 4.6 171eb482e8 [Kernel] Add pluggable NaN/Inf tensor checks to NaN detector
Add check_tensor() to NaNDetector for checking arbitrary tensors at
any point in the forward pass. Uses torch.isfinite() — all ops stay
on GPU, CUDA-graph compatible, writes to the same per-token flag
array as the RMSNorm kernel checks.

Any module can register checkpoints via register() and call
check_tensor(tensor, idx) in its forward. update_layer_names()
picks up _nan_detect_indices dicts for readable names.

Wire into DeepseekV2Attention to check attn_output before o_proj,
distinguishing "attention produced NaN" from "o_proj produced NaN".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 18:58:43 -04:00
Tyler Michael SmithandClaude Opus 4.6 98502f1d64 [Kernel] Scan all KV cache blocks before crash on NaN detection
When NaN/Inf is detected in real tokens, scan all KV cache blocks
and log which ones contain NaN before raising RuntimeError. This
helps distinguish "stale NaN in recycled cache block" from "compute
produced NaN" without needing to reproduce the issue.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 18:47:29 -04:00
Tyler Michael SmithandClaude Opus 4.6 af85c7e969 [Kernel] Crash on NaN/Inf detection in RMSNorm
Raise RuntimeError when NaN/Inf is detected in real tokens during
the forward pass. KV cache block checks remain log-only since stale
NaN in recycled blocks is diagnostic, not fatal.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 18:45:11 -04:00
Tyler Michael SmithandClaude Opus 4.6 6d89d5a84d [Kernel] Add KV cache block NaN checking to NaN detector
When VLLM_NAN_DETECT=1, check recycled KV cache blocks for stale
NaN/Inf before they are assigned to a new request. This catches the
"poisoned pool" scenario where one bad request leaves NaN in KV cache
blocks that then corrupt subsequent requests via attention.

Note: block zeroing (_zero_block_ids) only runs for Mamba/SSM models.
Standard attention models reuse blocks without zeroing, so stale NaN
from a previous request persists until overwritten by new KV writes.

Changes:
- Scheduler: also drain new_block_ids when VLLM_NAN_DETECT=1
- NaNDetector: add check_kv_blocks() for recycled block checking,
  accept kv_caches in finalize(), handle uint8->fp8 viewing
- Model runner: call check_kv_blocks before zeroing, pass kv_caches
  to finalize, add comment documenting the no-zero behavior
- Padding NaN logging: downgraded to debug level

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 18:43:19 -04:00
Tyler Michael SmithandClaude Sonnet 4.5 a26a5cf881 [Bugfix] Remove logger.warning_once() from RMSNorm hot path for torch.compile compatibility
torch.compile doesn't support logging methods in traced code. The
logger.warning_once() call in RMSNorm.forward_cuda() was causing
compilation failures when NaN detection is enabled.

This log message was informational only (warning about bypassing
Oink/batch-invariant paths), so removing it doesn't affect functionality.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-28 15:44:15 -04:00
d2afd40d6f Fix NaN from stale FP4 scale padding: torch.empty → torch.zeros
Padding rows in the swizzled scale tensor were uninitialized (torch.empty),
containing stale NaN from prior GPU allocations. The TRT-LLM mm_fp4 kernel
with use_8x4_sf_layout=True reads padding scales and applies them to real
rows, contaminating output with NaN.

Zero-filling ensures padding scales contribute 0 * data = 0.

Fixes: https://github.com/flashinfer-ai/flashinfer/issues/2861

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Signed-off-by: Elvir Crncevic <elvircrn@gmail.com>
2026-03-28 13:21:00 -04:00
eadf848ea0 [Bugfix] Revert "Zero-init MLA attention output buffers to prevent NaN from CUDA graph padding (#37442)"
This reverts commit ef2c4f778d.

The zero-init workaround is unnecessary — the NaN was caused by a
different issue (int64 expert IDs in the routing simulator). Reverting
to restore the original torch.empty allocation which avoids the
overhead of pre-allocated zero-init buffers.

Signed-off-by: Elvir Crncevic <elvircrn@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 13:20:57 -04:00
Tyler Michael SmithandClaude Opus 4.6 a827e39037 [Test] Trim test_fused_quant_layernorm parametrization
Reduce the test matrix by trimming:
- NUM_TOKENS_HIDDEN_SIZES: 19 → 4 combos (keep small, misaligned,
  medium-aligned, large-misaligned)
- GROUP_SIZES: drop [1, 64] (redundant with [1, 128])
- Inline group_size/tma_alignment combos to 3 meaningful cases
  instead of full Cartesian product (7)

Covers the same code paths (per-token, per-block, TMA alignment)
with fewer redundant combinations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 13:12:28 -04:00
Tyler Michael SmithandClaude Opus 4.6 f8499127aa [Test] Trim test_layernorm parametrization for faster CI
Reduce the test matrix from 864 to 216 cases (~4x speedup) by trimming
redundant hidden sizes (keep 8, 769, 8192 — covers small, misaligned,
large) and token counts (keep 7, 4096 — small, large), and quant scales
(keep 0.01, 10.0 — extreme ends).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 13:12:28 -04:00
Tyler Michael SmithandClaude Opus 4.6 0d98729a49 [Kernel] Add zero-cost NaN/Inf detection to RMSNorm kernels
Add per-token NaN/Inf detection to all RMSNorm CUDA kernels by
piggybacking on the existing variance reduction. NaN/Inf propagates
through sum-of-squares naturally, so a single isnan(variance) ||
isinf(variance) check on thread 0 after the CUB reduction detects
it -- zero additional kernel launches, memory reads, or register
pressure. Each block writes to its own int8 flag slot (no atomics).

Controlled by VLLM_NAN_DETECT=1. When enabled:
- Bypasses Oink/batch-invariant paths (with warning)
- Reports per-token, per-layer NaN/Inf with layer names
- Distinguishes real-token errors from padding-token warnings
- CUDA-graph compatible (fixed flag buffer address)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 13:12:28 -04:00
Tyler Michael SmithandClaude Opus 4.6 7779fccdfd Add NaN/Inf detection for NIXL KV cache transfers
Gate behind VLLM_NIXL_NAN_DETECT=1 env var. Checks KV cache blocks
for NaN on the decoder side after recv completes and on the prefiller
side after send is confirmed. Handles uint8-stored fp8 KV caches
(MLA cross-layer) by viewing as float8_e4m3fn before isnan check.

Uses a fast two-pass approach: single torch.isnan().any() across all
layers first, only doing per-layer breakdown if NaN is found.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler Michael Smith <tlrmchlsmth@gmail.com>
2026-03-28 13:12:23 -04:00
ef2c4f778d [Bugfix] Zero-init MLA attention output buffers to prevent NaN from CUDA graph padding (#37442)
Signed-off-by: Elvir Crncevic <elvircrn@gmail.com>
Signed-off-by: Matthew Bonanni <mbonanni@redhat.com>
Co-authored-by: Matthew Bonanni <mbonanni@redhat.com>
2026-03-19 00:28:37 +00:00
sihao_liandGitHub 9dade5da3a [XPU]Unify xpu test dependencies in dockerfile.xpu (#36477)
Signed-off-by: sihao.li <sihao.li@intel.com>
2026-03-19 08:12:07 +08:00
Thillai ChithambaramandGitHub 828f862acb [Bugfix] Expand quantization method support in perf metrics (#37231)
Signed-off-by: Thillai Chithambaram <thillaichithambaram.a@gmail.com>
2026-03-18 23:54:19 +00:00
Andy LoandGitHub 577df69b26 [Bugfix] Fix KV scales inconsistency in fp8 MLA & FlashInfer kv_cache_dtype "auto" leading to gibberish (#37054)
Signed-off-by: Andy Lo <andy@mistral.ai>
2026-03-18 23:07:29 +00:00
Giancarlo DelfinandGitHub 04244fd0e1 [Model Runner V2] Spec decode rejection sampler greedy support (#37238)
Signed-off-by: Giancarlo Delfin <gdelfin@inferact.ai>
2026-03-18 15:59:03 -07:00
Michael GoinandGitHub 9482b0b085 [Bugfix] Remove assertion for NVFP4 scale dynamic range (#37465)
Signed-off-by: Michael Goin <mgoin64@gmail.com>
2026-03-18 15:37:49 -07:00
Woosuk KwonandGitHub 5bc1da147f [LoRA][BugFix] Fix skipped LoRA adapters for Mistral3 (#36928)
Signed-off-by: Woosuk Kwon <woosuk@inferact.ai>
2026-03-18 22:34:19 +00:00
Philip OttesenandGitHub 0091017188 fix(worker): optimize swap_states to copy only active token prefixes (#34733)
Signed-off-by: Philip Ottesen <phiott256@gmail.com>
2026-03-18 14:59:27 -07:00
Wentao YeandGitHub 0d81a1fe61 [V0 Deprecation] Deprecate virtual engine (#37195)
Signed-off-by: yewentao256 <zhyanwentao@126.com>
2026-03-18 14:30:14 -07:00
Netanel HaberandGitHub 6ae4c8d6fc chunk parakeet into 30s clips to prevent OOMs on long audios (#36671)
Signed-off-by: Netanel Haber <58652339+netanel-haber@users.noreply.github.com>
2026-03-18 14:22:24 -07:00
JartXandGitHub a913b612d8 [Bugfix] Fix ROCm crash in qwen3_next multi-stream events (#36795) (#37427)
Signed-off-by: JartX <sagformas@epdcenter.es>
2026-03-18 16:06:31 -04:00
Harry MellorandGitHub 5ce2d10e4a Fix models which use layer_type_validation for Transformers v5 (#37398)
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
2026-03-18 18:41:51 +00:00
Chengyu FangandGitHub 738d0a281f [Bugfix] Fix incorrect use of merge_size in Qwen3-VL video timestamp calculation (#37439)
Signed-off-by: chengyufang <cnyvfang@outlook.com>
2026-03-18 11:36:34 -07:00
youkaichaoandGitHub 70b81c4f3d [bugfix][async scheduling] fix extra cuda context in device 0 with EP/DP (#37449)
Signed-off-by: youkaichao <youkaichao@gmail.com>
2026-03-18 18:32:30 +00:00
Cyrus LeungandGitHub 7476d148db [Model] Remove unnecessary processor definition for Nemotron Parse (#37456)
Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
2026-03-18 18:25:13 +00:00
Cyrus LeungandGitHub f3732bd931 [Misc] Clean up model registry (#37457)
Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
2026-03-18 18:24:44 +00:00
Wentao YeandGitHub 0ef7f79054 [Perf] Add tuned triton moe config for Qwen3.5 H200, 9.9% E2E throughput improvement (#37340)
Signed-off-by: yewentao256 <zhyanwentao@126.com>
2026-03-18 14:18:34 -04:00
Or OzeriandGitHub 5dd8df0701 [kv_offload+HMA][2/N]: Support multiple KV groups in GPULoadStoreSpec (#36642)
Signed-off-by: Or Ozeri <oro@il.ibm.com>
2026-03-18 19:26:40 +02:00
Harry MellorandGitHub 39bfb57b7c Add API docs link if the CLI arg is a config class (#37432)
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
2026-03-18 17:19:35 +00:00
RonaldBXuandGitHub c9d838fc33 Adding deterministic lora benchmarking to vLLM Bench (#36057)
Signed-off-by: Ubuntu <ubuntu@ip-172-31-43-201.ap-northeast-1.compute.internal>
Signed-off-by: Ronald Xu <ronaldxu@amazon.com>
2026-03-18 16:02:03 +00:00
Xin YangandGitHub b1169d7be8 [Kernel] Add gpt-oss Router GEMM kernel (#37205)
Signed-off-by: Xin Yang <xyangx@amazon.com>
2026-03-18 08:15:56 -07:00
17808394bc standardize load_weights using AutoWeightsLoader for kimi_linear and minimax_text_01 (#37371)
Signed-off-by: XuLiu <xuliu40@gmail.com>
Co-authored-by: XuLiu <xuliu40@gmail.com>
2026-03-18 15:05:37 +00:00
elvischenvandGitHub 296839a1b0 [Perf] Eliminate padding and slicing op for GPT-OSS with Flashinfer MXFP4 MXFP8 MoE (#30647)
Signed-off-by: elvischenv <219235043+elvischenv@users.noreply.github.com>
2026-03-18 15:01:26 +00:00
Wentao YeandGitHub c373b5c00d [Log] Reduce duplicate log (#37313)
Signed-off-by: yewentao256 <zhyanwentao@126.com>
2026-03-18 10:57:44 -04:00
Itay AlroyandGitHub de1a86b7de elastic_ep: Fix stateless group port races (#36330)
Signed-off-by: Itay Alroy <ialroy@nvidia.com>
2026-03-18 14:36:18 +00:00
Cyrus LeungandGitHub 99267c23ca [2/3] Refactor InternVL-based processors (#37324)
Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
2026-03-18 22:22:19 +08:00
Or OzeriandGitHub 525f2eeb0b [kv_offload+HMA][6/N]: Split offloading_connector.py (#37405)
Signed-off-by: Or Ozeri <oro@il.ibm.com>
2026-03-18 14:42:46 +01:00
918b7890a1 [Bugfix] Fix base64 JPEG video frames returning empty metadata (#37301)
Signed-off-by: Yufeng He <40085740+universeplayer@users.noreply.github.com>
Signed-off-by: Yufeng He <40085740+he-yufeng@users.noreply.github.com>
Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
Co-authored-by: Yufeng He <40085740+universeplayer@users.noreply.github.com>
Co-authored-by: Isotr0py <mozf@mail2.sysu.edu.cn>
2026-03-18 13:40:03 +00:00
Andy LoandGitHub 98b09ddc27 [NIXL][Bugfix] metrics & testing minor bug (#36051)
Signed-off-by: Andy Lo <andy@mistral.ai>
2026-03-18 14:39:14 +01:00
Shwetha PoojaryandGitHub cef1f302d2 [Model] Enable LoRA support for tower and connector in H2OVL (#31696)
Signed-off-by: shwetha-s-poojary <shwetha.s-poojary@ibm.com>
2026-03-18 13:26:47 +00:00
17c47fb869 [Bugfix] Fix EP weight filter breaking EPLB and NVFP4 accuracy (#37322)
Signed-off-by: Elvir Crncevic <elvircrn@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Kevin H. Luu <khluu000@gmail.com>
2026-03-18 18:30:29 +08:00
ChaunceyandGitHub b322b197f1 [Build] Bump python openai version (#32316)
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
2026-03-18 18:20:10 +08:00
Andreas KaratzasandGitHub eaf7c9b976 [CI] Fix PaddleOCR-VL HF test failure due to create_causal_mask API rename (#37328)
Signed-off-by: Andreas Karatzas <akaratza@amd.com>
2026-03-18 09:44:12 +00:00
47a1f11bff [docs] Add docs for new RL flows (#36188)
Signed-off-by: ahao-anyscale <ahao@anyscale.com>
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Co-authored-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
2026-03-18 09:04:26 +00:00
fad09e8a1f fix(glm47): improve tool call parsing and content normalization (#37386)
Signed-off-by: karanb192 <karan@example.com>
Co-authored-by: karanb192 <karan@example.com>
2026-03-18 08:12:21 +00:00
Jee Jee LiandGitHub 8c31f47c63 [LoRA] Make LoRA respect language_model_only (#37375)
Signed-off-by: Jee Jee Li <pandaleefree@gmail.com>
2026-03-18 07:53:34 +00:00
Li, JiangandGitHub 261801242f [Bugfix] Avoid OpenMP thread reallocation in CPU torch compile (#37391)
Signed-off-by: jiang1.li <jiang1.li@intel.com>
2026-03-18 07:51:39 +00:00