Skip to content

fix: unpack FA4 auxiliary outputs - #37

Merged
TomerBN-Nvidia merged 1 commit into
super_vl_rl_v0.25.1from
tbn/fix-fa4-output-unpack-v0251
Aug 6, 2026
Merged

TomerBN-Nvidia merged 1 commit into
super_vl_rl_v0.25.1from
tbn/fix-fa4-output-unpack-v0251

Conversation

@TomerBN-Nvidia

@TomerBN-Nvidia TomerBN-Nvidia commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

Failure

HSG job 5915987 loaded all 63 checkpoint shards, then failed during RADIO vision-encoder warmup:

File "vllm/vllm_flash_attn/flash_attn_interface.py", line 391
  out, softmax_lse = _flash_attn_fwd(...)
ValueError: too many values to unpack (expected 2)

The SQSH's packaged CuTe implementation returns (out, lse, p, row_max) on this path. The failure occurs entirely in vLLM FA4 before entering FlashInfer.

Duplicate check

No open PR matching this fix was found in this fork or upstream. Upstream already carries the fix as part of merged PR vllm-project#47442; this PR is the minimal backport to the custom release branch super_vl_rl_v0.25.1.

Tests

  • .venv/bin/python -m compileall -q vllm/vllm_flash_attn/flash_attn_interface.py
  • git diff --check
  • uv run --no-sync pre-commit run --files vllm/vllm_flash_attn/flash_attn_interface.py — all applicable hooks passed
  • HSG diagnostic job 5916309: one 4xGB200 node, TP4+EP, same model and r7 SQSH with only --mm-encoder-attn-backend TORCH_SDPA; server started and 3/3 image requests returned HTTP 200. This confirms the failure is isolated to the FA4 multimodal-encoder path.
  • HSG runtime-patch job 5916677: mounted this PR's flash_attn_interface.py into the r7 SQSH, used the default FLASH_ATTN VIT backend on one 4xGB200 node with TP4+EP, and received HTTP 200 for 3/3 image requests. Final status: PASS.

A rebuilt SQSH should be validated on one GB200 node with TP4+EP and an image request using the default FLASH_ATTN multimodal encoder backend.

AI assistance

OpenAI Codex assisted with root-cause analysis and preparing this one-line backport. A human reviewer should review and understand the changed line before merge.

Backport the FA4 return-contract update from upstream commit 7cd1d57 so the v0.25.1 wrapper accepts the four values returned by the packaged CuTe implementation.

Co-authored-by: OpenAI Codex <codex@openai.com>
Signed-off-by: tbarnatan <tbarnatan@nvidia.com>
@TomerBN-Nvidia
TomerBN-Nvidia marked this pull request as ready for review August 6, 2026 09:07
@TomerBN-Nvidia
TomerBN-Nvidia merged commit 431f686 into super_vl_rl_v0.25.1 Aug 6, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant