LLM Pipeline Profiler Analysis
BBuf/AI-Infra-Auto-Driven-SKILLS
Breaks LLM torch profiler traces down by forward pass, layer and kernel, with timing tables and Perfetto time ranges for the layers you want to inspect.
Diagnose and optimize vLLM Omni diffusion workloads, especially Wan/Qwen/Flux-style image and video generation.
$ npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vllm-project/vllm-omni diffusion-perf-opt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vllm-project/vllm-omni.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/diffusion-perf-opt .claude/skills/diffusion-perf-opt && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "diffusion-perf-opt" agent skill from https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/diffusion-perf-opt into .claude/skills/diffusion-perf-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diffusion-perf-opt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/diffusion-perf-optType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vllm-project/vllm-omni diffusion-perf-opt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vllm-project/vllm-omni.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/diffusion-perf-opt .agents/skills/diffusion-perf-opt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "diffusion-perf-opt" agent skill from https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/diffusion-perf-opt into .agents/skills/diffusion-perf-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diffusion-perf-opt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vllm-project/vllm-omni diffusion-perf-opt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vllm-project/vllm-omni.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/diffusion-perf-opt .cursor/skills/diffusion-perf-opt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "diffusion-perf-opt" agent skill from https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/diffusion-perf-opt into .cursor/skills/diffusion-perf-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diffusion-perf-opt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vllm-project/vllm-omni.git --path .claude/skills/diffusion-perf-opt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vllm-project/vllm-omni diffusion-perf-opt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vllm-project/vllm-omni.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/diffusion-perf-opt .gemini/skills/diffusion-perf-opt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "diffusion-perf-opt" agent skill from https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/diffusion-perf-opt into .gemini/skills/diffusion-perf-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diffusion-perf-opt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vllm-project/vllm-omni diffusion-perf-optInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vllm-project/vllm-omni.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/diffusion-perf-opt .github/skills/diffusion-perf-opt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "diffusion-perf-opt" agent skill from https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/diffusion-perf-opt into .github/skills/diffusion-perf-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diffusion-perf-opt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vllm-project/vllm-omni diffusion-perf-opt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vllm-project/vllm-omni.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/diffusion-perf-opt .opencode/skills/diffusion-perf-opt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "diffusion-perf-opt" agent skill from https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/diffusion-perf-opt into .opencode/skills/diffusion-perf-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diffusion-perf-opt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
diffusion-perf-optDiagnose and optimize vLLM Omni diffusion workloads, especially Wan/Qwen/Flux-style image and video generation.
Diffusion Perf Opt is an agent skill from vllm-project/vllm-omni. Diagnose and optimize vLLM Omni diffusion workloads, especially Wan/Qwen/Flux-style image and video generation. Use when Codex is asked to analyze profiling traces, choose parallel strategies, inspect torch profiler trace.json or trace.json.gz timelines, estimate optimization ROI, investigate GPU idle/free bubbles, compare USP/CFG/HSDP/VAE parallelism, or design operator/host/quantization optimizations for vLLM Omni.
Its SKILL.md is about 7.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/optimization-playbook.md` and `scripts/trace_analyzer.py`).
It sits in AI & LLM Engineering, covering LLM inference and serving, Performance optimization and AI video generation. It works with vLLM and Qwen. The repository describes itself as: A framework for efficient model inference with omni-modality models. The licence is Apache-2.0.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c548a11. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Diffusion Perf Opt loads about 7.5k tokens when it runs, and up to ~8.4k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 3,628 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from vllm-project/vllm-omni at commit c548a11, republished under its Apache-2.0 licence (© vllm-project). 3,628 words, ~7,504 tokens.
.claude/skills/diffusion-perf-opt/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Use this skill to run a disciplined optimization loop for vLLM Omni diffusion workloads. Keep two ideas separate: real performance baselines are collected with low overhead, while torch profiler traces are diagnostic artifacts and may distort latency.
Before proposing changes, ask for the optimization scene if it is not already known:
vllm serve command, environment variables, model path, port, parallelism flags, profiler flags, and precision/compile settings.Freeze the measurement protocol and commands.
Collect a real baseline.
--enforce-eager for production-speed baselines unless eager is the target.--log-stats and --enable-diffusion-pipeline-profiler for low-overhead stage timing. PR 3069 has the relevant metrics/log-stats changes; if local code does not include them, fetch or cherry-pick the minimal metrics changes rather than merging unrelated PR drift.Model the parallel strategy before testing.
USP=2, CFG=2, USP=1/HSDP on-off, VAE parallel on-off if memory allows.USP=4, CFG=2 x USP=2, USP=2 x HSDP, VAE parallel on-off.CFG=2 x USP=4 with VAE patch parallel across all 8 ranks.CFG=1 x USP=8 to test whether larger sequence parallel groups beat CFG branch parallelism.diffuse remains dominant and Ulysses all-to-all is suspected, test a hybrid sequence strategy such as CFG=2 x USP=2 x Ring=2.Search for the best parallel configuration.
CFG parallel vs larger USP: compare CFG=2 x USP=world/2 against CFG=1 x USP=world for CFG-enabled workloads.VAE patch parallel value: compare the best DiT strategy with VAE patch parallel enabled and disabled.HSDP cost: compare HSDP on/off only when both configurations fit memory.Ulysses vs Ring: test a Ring/Ulysses hybrid only after long-sequence diffuse is confirmed dominant.A_cfg2_usp4_vaepp8_hsdp_tiling.diffuse while hurting vae.decode; record both effects.Run targeted A/B tests.
inference_time, server stage generation time if available, vae.encode, diffuse, vae.decode, and peak memory.Enforce the quality and precision gate for every optimization.
Collect diagnostic trace only after narrowing hypotheses.
torch_profiler_record_shapes=True and keep stack collection disabled. Use this to rank CUDA kernels, NCCL collectives, attention/MLP/norm/RoPE work, and shape-specific hot operators.torch_profiler_with_stack=True and normally keep shape collection disabled. Use this to map CPU/Python host gaps, synchronization points, scheduler paths, and request handling overhead.diffuse dominates./start_profile, run one profiled request, and call /stop_profile. This keeps model initialization and warmup out of the diagnostic trace.Analyze host, communication, and operators.
Command Buffer Full.Produce an optimization plan.
empty_cache, scheduler coefficient caching.Every implemented optimization needs A/B validation and a passing quality/precision gate, including math-preserving changes such as padding trim, layout cleanup, cache reuse, or host/runtime cleanup. Use objective metrics when available, keep reviewable artifacts, and compare against baseline self-run variance for precision, quantization, approximate kernels, or backend changes. If quality validation fails or is inconclusive, do not present the optimization as ready to merge.
After baseline, parallel-search, and diagnostic traces, summarize optimization opportunities by layer. This is the core of the performance analysis: the goal is to connect evidence to a scoped implementation and a validation plan.
Purpose: remove CPU/Python stalls, synchronization points, allocator overhead, and request-path overhead that leave GPU lanes empty.
Evidence to look for:
idle_pct or large GAP blocks in trace_analyzer.py.torch.cuda.empty_cache,
cudaStreamSynchronize, cudaDeviceSynchronize, Python locks, scheduler
waits, image/video preprocessing, or repeated small allocation paths.inference_time_s.Typical candidates:
torch.cuda.empty_cache() optional or guard it by memory
headroom.Priority guidance:
Validation:
Purpose: choose the right decomposition for CFG branches, sequence tokens, model weights, VAE tiles, and rank topology.
Evidence to look for:
CFG, USP/SP, Ring, HSDP/FSDP, and VAE patch
parallelism.diffuse, vae.encode, vae.decode, and server
end-to-end.user_annotation time.Typical candidates:
CFG=2 x USP=world/2 versus CFG=1 x USP=world for CFG-enabled models.diffuse is confirmed
dominant and all-to-all is suspected.Priority guidance:
Validation:
CFG=2 x USP=4.Purpose: reduce encode/decode, tiling, split/gather, and media conversion time.
Evidence to look for:
vae.encode or vae.decode in low-overhead stage timings.Typical candidates:
Priority guidance:
diffuse dominates and VAE is already patch-parallelized.Validation:
vae.encode, vae.decode, server end-to-end, and peak memory.Purpose: reduce high-frequency small kernels, memory bandwidth pressure, layout conversions, and launch overhead in transformer and VAE blocks.
Evidence to look for:
aten::copy_, aten::cat,
split_with_sizes_copy, aten::add, aten::mul, aten::div, norm,
activation, RoPE, or reshape/layout kernels.ops_rankN.xlsx by_shape sheet showing repeated small shapes inside the
same block path.Typical fusion targets:
Priority guidance:
Validation:
torch.compile.Purpose: address the dominant self-attention cost when FlashAttention or other attention kernels dominate CUDA time.
Evidence to look for:
ops_rankN.xlsx by_shape, model code, or trace
metadata.Typical candidates:
Priority guidance:
Validation:
diffuse, server end-to-end, peak memory, and attention kernel time
in diagnostic traces if needed.Purpose: reduce mathematical work or precision cost beyond local code cleanup.
Evidence to look for:
Typical candidates:
Priority guidance:
Validation:
Purpose: optimize the whole user-visible video product, not only the base diffusion invocation. Some deployments trade base-model latency against post-processing, interpolation, or super-resolution stages.
Evidence to look for:
Typical candidates:
Priority guidance:
Validation:
Use this table as a compact menu, not as automatic recommendations. Pick items only when baseline metrics, trace evidence, source inspection, or quality tolerance supports them.
| Layer | Candidate | Evidence | Priority | Validation focus |
|---|---|---|---|---|
| Measurement | Freeze server/request/benchmark commands | Missing or drifting commands | P0 | Repeatable non-profiler A/B |
| Measurement | Separate baseline and diagnostic profiler runs | Profiler used for latency claims | P0 | Low-overhead stage timings |
| Host/runtime | Guard or remove avoidable empty_cache | Host-stack gaps or sync stalls | P0/P1 | Latency, peak memory, OOM safety |
| Host/runtime | Cache scheduler coefficients/timesteps | Repeated tiny CPU/GPU work | P0/P1 | Same seed/output, stage timing |
| Host/runtime | Reduce framework scheduling overhead | Client time exceeds server time | P1 | E2E latency, throughput |
| Parallel | CFG=2 x USP=world/2 vs USP=world | CFG doubles forward work | P0/P1 | diffuse, NCCL, memory |
| Parallel | Tune VAE patch parallelism | VAE encode/decode is material | P0/P1 | VAE time, output correctness |
| Parallel | HSDP on/off or buffer reuse | HSDP affects memory/all-gather | P1 | Memory, latency, OOM risk |
| Parallel | Ulysses vs Ulysses+Ring | Long sequence all-to-all suspected | P1/P2 | Rank balance, NCCL kernels |
| Cross-attn | Disable SP for short condition tokens | Cross-attn comm exceeds compute | P1 | diffuse, correctness |
| VAE/media | Reduce VAE gather/broadcast | Rank traces show VAE wait | P1 | Rank balance, output file |
| VAE/media | Reuse tile metadata/buffers | Tile split/merge host gaps | P1 | vae.encode/decode, memory |
| VAE/media | VAE bf16/autocast | VAE float kernels are slow | P1/P2 | Artifacts, flicker, seed stability |
| Operator fusion | AdaLayerNorm/LayerNorm fusion | Norm plus scale/shift kernels | P1 | Numeric tolerance, latency |
| Operator fusion | RMSNorm fusion | Many small RMSNorm kernels | P1 | Numeric tolerance, latency |
| Operator fusion | RoPE cache/fuse/layout cleanup | RoPE copy/reshape kernels | P1/P2 | Kernel count, correctness |
| Operator layout | QKV or attention layout cleanup | Copy/cat/split around attention | P1 | Copy kernels, compile behavior |
| Attention | Verify backend fast path | FA/SDPA dominates trace | P1 | diffuse, attention kernels |
| Attention | FA to LA or selected-head LA | Attention remains dominant | P2 | Quality, temporal stability |
| Precision | Transformer FP8/quantization | Compute/bandwidth bound and allowed | P2 | Quality, speed, stability |
| Sparsity | Rainfusion-style acceleration | DiT compute remains dominant | P2 | Prompt diversity, quality |
| Pipeline | Frame interpolation | Fewer base frames can meet FPS | P1/P2 | E2E latency, motion artifacts |
| Pipeline | Super-resolution | Lower base res plus SR may win | P1/P2 | Detail quality, artifacts |
| E2E | Fast/slow-card analysis | Multi-card stragglers | P0/P1 | Per-rank/stage wall-clock |
Use this table shape when reporting the next work items:
| Priority | Layer | Candidate | Evidence | Expected benefit | Implementation path | Validation | Quality risk |
|---|---|---|---|---|---|---|---|
| P0 | Host/runtime | Guard empty_cache | Host-stack gap points to torch.cuda.empty_cache | Small latency reduction, less idle | Add config/env guard | Non-profiler A/B, memory check | Low |
| P1 | Operator fusion | RMSNorm/AdaLayerNorm fusion | High-frequency norm/elementwise kernels | Lower launch/bandwidth overhead | Use existing fusion helper or targeted Triton | A/B + output check | Medium |
| P1/P2 | Attention | Attention layout/backend investigation | FA kernel dominates CUDA time | Potentially large | Inspect shapes/backend and remove layout copies | A/B + trace + quality | Medium/high |
Then present a short selection prompt using the same rows:
Which candidate should we implement next?
1. P0 Host/runtime: guard empty_cache
- Expected benefit: small but low-risk latency reduction.
- Risk: possible memory increase/OOM if memory headroom is insufficient.
2. P1 Operator fusion: inspect by_shape and implement first norm/RoPE/layout fusion
- Expected benefit: medium if high-frequency small kernels are confirmed.
- Risk: numerical/compile/quality validation needed.
3. P1/P2 Attention: FA/LA/backend/layout investigation
- Expected benefit: potentially large.
- Risk: high quality and implementation risk.If the user has not chosen an item, default to explaining tradeoffs and asking which candidate to execute. Only proceed autonomously on low-risk P0 measurement or instrumentation fixes.
PyTorch profiler traces are Chrome/Perfetto-compatible JSON files, usually
trace_rankN.json or trace_rankN.json.gz. They normally contain a top-level
traceEvents list, though some exporters emit the raw event list directly.
Use the checked-in analyzer from the repository root:
python3 .claude/skills/diffusion-perf-opt/scripts/trace_analyzer.py \
vllm_profile/.../trace_rank0.json.gz \
--min-gap-ms 5 \
--topn 20For rank imbalance or communication questions, pass all relevant rank traces in
one command. For host gaps, lower --min-gap-ms to 1 and use a host-stack
trace. Read gpu_span_s, busy_union_s, idle_union_s, idle_pct, GAP
blocks, Top GPU/operator events by total duration, and Top NCCL-like events by category. Treat cat=user_annotation NCCL ranges as enclosing annotations;
prefer cat=kernel or cat=gpu_user_annotation for real device work.
The analyzer summarizes timing only. It does not parse tensor shapes, attribute
overlap to individual streams, prove quality, or provide final latency claims.
Use ops_rankN.xlsx or PyTorch key averages for shape analysis, and re-test any
optimization with non-profiler baseline commands.
Read references/optimization-playbook.md when drafting the optimization table or comparing candidate techniques.
torch.cuda.empty_cache() can prevent OOM but creates synchronization/idle. Make it optional if memory headroom is sufficient.Command Buffer Full in profiler output is profiler overhead, not a model optimization target.© vllm-project, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in .claude/skills/diffusion-perf-opt of vllm-project/vllm-omni.
Open the folder on GitHubat commit c548a11
Diffusion Perf Opt next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Diffusion Perf Opt this skillvllm-project/vllm-omni | 7.1k | — | ~7.5k | Automated safety check: Pass | Apache-2.0 | |
| LLM Pipeline Profiler AnalysisBBuf/AI-Infra-Auto-Driven-SKILLS | 911 | — | ~3.9k | Automated safety check: Pass | None | |
| Graphsignalgraphsignal/graphsignal | 257 | — | ~6.2k | Automated safety check: Pass | Apache-2.0 | |
| LLM Torch Profiler Trace AnalysisBBuf/AI-Infra-Auto-Driven-SKILLS | 911 | — | ~2.8k | Automated safety check: Pass | None | |
| Add Modelguoqingbao/xinfer | 333 | — | ~4.2k | Automated safety check: Notes | MIT | |
| Resolvealexziskind1/model-shelf | 130 | — | ~792 | Automated safety check: Pass | MIT |
BBuf/AI-Infra-Auto-Driven-SKILLS
Breaks LLM torch profiler traces down by forward pass, layer and kernel, with timing tables and Perfetto time ranges for the layers you want to inspect.
graphsignal/graphsignal
Profile AI inference workloads (vLLM, SGLang, TensorRT-LLM, PyTorch, any GPU application) with the Graphsignal profiler and read the results from its local /signals JSON endpoint.
BBuf/AI-Infra-Auto-Driven-SKILLS
Analyzes Torch Profiler traces from SGLang, vLLM and TensorRT-LLM servers into kernel attribution, overlap and fusion tables.
guoqingbao/xinfer
Adapt and port new LLM model architectures to this xinfer project.
alexziskind1/model-shelf
Always resolve Hugging Face models via model-shelf before any download.
guoqingbao/xinfer
Check model compatibility with xinfer before loading. An agent skill from guoqingbao/xinfer.
vllm-project/vllm-omni
Self-check your branch before creating a PR — catch dead code, prevent new model-specific Python examples, verify accuracy/perf claims, validate PR title format, and confirm merge readiness.
vllm-project/vllm-omni
Work on vLLM-Omni quantization for diffusion, autoregressive, omni, or multi-stage models.
vllm-project/vllm-omni
Review pull requests and local branches for vllm-project/vllm-omni with a frozen snapshot, module-design ownership, feature-design overlays, targeted validation, and concise evidence-backed findings.
vllm-project/vllm-omni
Write MiniMax H3 video generation prompts for T2VA, I2VA, FL2VA, L2VA, and Ref2VA.
vllm-project/vllm-omni
Add a new diffusion model (text-to-image, text-to-video, image-to-video, text-to-audio, image editing) to vLLM-Omni, including native non-Diffusers ports, reference-parity validation, Cache-DiT…
vllm-project/vllm-omni
Add or update an in-repository vLLM-Omni model recipe with verified task, input, output, hardware, command, feature, and validation contracts.
Categories
Diagnose and optimize vLLM Omni diffusion workloads, especially Wan/Qwen/Flux-style image and video generation. Diffusion Perf Opt is an agent skill from vllm-project/vllm-omni. Diagnose and optimize vLLM Omni diffusion workloads, especially Wan/Qwen/Flux-style image and video generation.
Diffusion Perf Opt fits situations like: Codex is asked to analyze profiling traces; choose parallel strategies; inspect torch profiler trace.json; trace.json.gz timelines.
Run `npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a claude-code`. Or copy the skill folder (.claude/skills/diffusion-perf-opt in vllm-project/vllm-omni) into .claude/skills/diffusion-perf-opt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a codex`. Or copy the skill folder (.claude/skills/diffusion-perf-opt in vllm-project/vllm-omni) into .agents/skills/diffusion-perf-opt in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vllm-project/vllm-omni --skill diffusion-perf-opt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diffusion-perf-opt, .gemini/skills/diffusion-perf-opt, .github/skills/diffusion-perf-opt and .opencode/skills/diffusion-perf-opt in your project.
Going by SKILL.md and its folder, Diffusion Perf Opt needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Diffusion Perf Opt is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.5k tokens (SKILL.md is roughly 30k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 930 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Diffusion Perf Opt: LLM Pipeline Profiler Analysis (BBuf/AI-Infra-Auto-Driven-SKILLS, 911 stars), Graphsignal (graphsignal/graphsignal, 257 stars), LLM Torch Profiler Trace Analysis (BBuf/AI-Infra-Auto-Driven-SKILLS, 911 stars) and Add Model (guoqingbao/xinfer, 333 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vllm-project (a GitHub organization) maintains it in vllm-project/vllm-omni, which has 7,072 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 8, 2026.
Source: vllm-project/vllm-omni on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.