benchmark: add Qwen3-VL vision-encoder (ViT) SDPA config + GB300 results - #598
Conversation
New sdpa_benchmark_training config for the Qwen3-VL vision tower's
self-attention as exercised by image/video inference: 16 MHA heads,
head_dim 72 zero-padded to 80 (fp8 16B-alignment contract), bidirectional
(no_mask), forward-only, batch 1.
The six sequence lengths are real per-image patch-grid token counts from
a production inference trace (94^2 .. 250^2), spanning that trace's
per-forward FLOPs distribution from the 10th to the 99th percentile;
single-image forwards dominate the workload.
GB300 results (cuDNN backend 9.25, FE 1.27): bf16 ~1250 TFLOPS and fp8
~1700 TFLOPS across the full range. flash_attention_4 rows are recorded
as failed: the released fa4 4.0.0b3 wheel's SM100 path asserts on this
part ("Only SM 10.x and 11.x are supported").
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughAdded a Qwen3-VL vision-encoder SDPA benchmark configuration with production-derived settings, supported execution backends and data types, and README usage documentation. ChangesQwen3-VL ViT benchmark
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change adds a localized benchmark configuration and GB300 results without evidence of a merge-blocking correctness, runtime, deployment, or availability risk; it is merge-ready after normal checks and review. Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
…300 results - backends += cudnn_oss (merged in NVIDIA#597), matching the other configs. - FA4 now runs on GB300 via the pre-release flash-attn-4[cu13] wheel (the fa4 4.0.0b3 wheel asserted sm103 unsupported); bf16 lands 1423-1504 TFLOPS, ~18% ahead of the cudnn bf16 rows. - cudnn_oss rows are recorded unsupported: no FROST OSS engine serves a bare-dense fwd graph whose S_kv is not a multiple of 128 (unmasked-tail rule), and ViT patch-grid lengths never are. Engine-side dense tail handling is the follow-up that would light these rows up. - Results regenerated in one session with FE built from develop tip (python tree and pybind module must match: VariantPackNative skew). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Refreshed after #597 merged (thanks @brandon): backends now
|
What
Adds a
sdpa_benchmark_trainingconfig for the Qwen3-VL vision encoder (ViT) self-attention as exercised by image/video inference, plus GB300 results (CSV + chart).no_mask), forward-only, batch 1 — ViT inference.Results (GB300, cuDNN backend 9.25.0, FE 1.27.0)
fp8 is a consistent ~1.35x over bf16 across the whole range.
flash_attention_4rows are recorded as failed in the CSV: the releasedfa44.0.0b3 wheel's SM100 forward assertsOnly SM 10.x and 11.x are supportedon this part (sm103 missing from its arch table). Can be revisited when a newer fa4 wheel lands.Testing
runner --config qwen3vl_vit --dry-runexpands to the expected 18 cases.qwen3vl_vit_no_mask.pnggenerated by the suite's chart path.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation