SGLang Diffusion Benchmark and Profile
Use this skill when measuring denoise performance, finding the slow op, checking whether an existing fast path can solve it, or verifying that a hotspot is real before any kernel work in sglang.multimodal_gen.
This skill is diagnosis-first. It owns:
- checked-in denoise benchmark presets
- perf dump collection and before/after comparison
torch.profilertrace capture and quick hotspot ranking- mapping hot kernels back to known fast paths and fusion families
- handing confirmed kernel work to a specialized optimization skill such as ../sglang-diffusion-ako4all-kernel/SKILL.md
This skill does not own low-level kernel authoring or standalone Nsight workflows.
Preflight
Before running any benchmark, profiler, or kernel-validation command:
- use
scripts/diffusion_skill_env.pyto derive the repo root fromsglang.__file__ - verify the repo is writable
- export
HF_TOKENbefore using gated Hugging Face models such asblack-forest-labs/FLUX.* - export
FLASHINFER_DISABLE_VERSION_CHECK=1 - choose idle GPU(s) before starting perf work
Main Reference
- benchmark-and-profile.md — canonical denoise benchmark, perf dump, and
torch.profilerworkflow; uses the checked-in nightly-aligned presets, includingLTX-2two-stage - existing-fast-paths.md — map bottlenecks to existing fused kernels, packed QKV paths, fused
QK norm + RoPE, and distributed overlap patterns before proposing new code - scripts/diffusion_skill_env.py — preflight helper: repo root discovery via
sglang.__file__, write-access probe, benchmark/profile output directories, idle GPU selection - scripts/bench_diffusion_denoise.py — end-to-end denoise benchmark preset runner via
sglang generate; use--list-modelsto inspect preset order, then save perf dumps by label and compare them withcompare_perf.py
Opportunity Discovery Rule
Before calling a diffusion hotspot "new", first classify it with existing-fast-paths.md.
Always rule out these existing families first:
- merged Z-Image residual-form modulation
- fused diffusion
QK norm + RoPE - NVFP4 / Nunchaku packed QKV
- Nunchaku fused GELU MLP
- Ulysses / USP attention overlap
- turbo-layer async all-to-all overlap
torch.compilecompute / communication reorder- dual-stream diffusion execution