Repository navigation
Conversation
#1072's vision block-loop buckets up to 32768 patches, four AuT capture batch sizes and the 512 MB default FlashInfer workspace per encoder slot leave Qwen3-Omni unable to start on an 80 GB GPU. Declare 64 MB workspaces for both encoder attentions, capture the AuT encoder at batch 8 only (smaller batches pad), and stop the vision buckets at 8192. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FA2 splits KV in every captured plan, at the bucket's segment ceiling; the AuT bs=8 buckets need ~230 MB and the 8192-patch vision bucket ~95 MB, so 64 MB would fail capture sizing off Hopper. Also update the bucket note in docs/models.rst. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dghosef
marked this pull request as ready for review
November 2, 2026 00:14
dghosef
marked this pull request as draft
November 2, 2026 00:18
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # docs/models.rst # mstar/engine/resources/attn/ragged/config.py
dghosef
marked this pull request as ready for review
November 3, 2026 16:26
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since #1072, Qwen3-Omni doesn't start on an 80 GB GPU (H100, A100-80GB) with either
qwen3omni_2gpu.yamlorqwen3omni_colocated.yaml. Capture sizing for the 32768-patch vision bucket runs out of memory with ~2.5 GB free. With that one bucket removed, it starts but captures 0 of the Thinker's 68 graphs, and A2T drops from ~21x real time to 1.8x.A torch memory snapshot taken before and after sizing shows what the encoder captures hold on the Thinker GPU: 2,048 MiB of FlashInfer float workspace (the 512 MB default × 2 slots × audio and vision), 883 MiB of 8 MiB int workspaces (one per captured wrapper, 110 of them), and 538 MiB of output buffers. This PR:
AudioEncoderSubmodule, so Qwen3-ASR keeps[1, 2, 4, 8].thinker_kvinqwen3omni_colocated.yamlfrom 256 to 176 pages. Without it, colocated clears its startup floor by only 46 MiB and captures almost nothing.Testing
All on H200, torch 2.11.0+cu130. "80 GB" means the GPU is capped to emulate an H100. Pre-#1072 main (c713c20) reproduces the #858 numbers measured on H100 (4.9 GB free colocated, 64/68 Thinker graphs on 2gpu), so the emulation matches. A2T is input-audio seconds / wall seconds at c=1 over 20 LibriSpeech clips (94 s of audio); higher is faster.
Uncapped H200 (141 GB), main vs this PR's encoder changes: every graph is captured on both, A2T is unchanged (21.3 vs 21.4x colocated, 22.3 vs 22.3x 2gpu), and the PR leaves ~3.3 GB more free. Dropping the 16384/32768 vision buckets costs ≤3% at 2560x1440 and 2–7% at 3840x2160 (~20–50 ms on a 0.8 s request).
Correctness:
test/modularfiles covering Omni, AuT, Qwen3-ASR, ragged attention and capture give 1,040 passed, 18 skipped on both this PR and main. The real-weight Omni prompt parity and Qwen3-ASR 0.6B/1.7B tests pass on both.The real-H100 rows ran on torch 2.12.1+cu132 with torchaudio 2.11.0+cpu, PR head
de5272dagainst main7cc4b04.Known, not changed here:
uv pip install -e .[all]resolves torch 2.12.1 with torchaudio 2.11.1, which fails to load. Every Omni request then returns 500. All runs above pin torch 2.11.0 / torchaudio 2.11.0.🤖 Generated with Claude Code