Step-by-step tutorial for adding a new lightweight JIT CUDA kernel to sglang.kernels JIT infrastructure and public operator groups
日本語の概要は準備中です。原文の説明を表示しています。
Use when benchmarking denoise latency or profiling a diffusion bottleneck in SGLang.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
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:
torch.profiler trace capture and quick hotspot rankingThis skill does not own low-level kernel authoring or standalone Nsight workflows.
Before running any benchmark, profiler, or kernel-validation command:
scripts/diffusion_skill_env.py to derive the repo root from sglang.__file__HF_TOKEN before using gated Hugging Face models such as black-forest-labs/FLUX.*FLASHINFER_DISABLE_VERSION_CHECK=1SGLANG_DIFFUSION_SYNC_STAGE_PROFILING=1 when comparing stage-level
denoise/decode timings; the preset helper sets it by default unless the
caller explicitly overrides it--model-cache-root together with --cleanup-model-cache; verify the JSONL
ledger reports zero residual weight files before moving to the next modelAll diffusion benchmark and profiling results owned by this skill must come from the native SGLang diffusion backend.
Treat any of the following as a hard stop condition:
Falling back to diffusers backendUsing diffusers backendLoaded diffusers pipelineIf any benchmark, perf-dump, or torch.profiler command prints one of those signals:
torch.profiler workflow; uses checked-in nightly-aligned presets plus current-source extras such as LongCat image/edit, Qwen base edit/layered, SD3.5, SANA-Video/SANA-WM, LingBot Video/World, Cosmos3 Edge/Super I2V/distilled and the explicit Super TP2 x CFG2 comparator, LTX-2.5 and its diffusion decoder, MiniMax-H3, FLUX.2 Klein, Ideogram4, ERNIE/GLM/SANA image models, FastWan2.1/2.2, the Blackwell-only Wan2.2 NVFP4 comparator, LTX-2.3, HunyuanVideo, MOVA, Helios, image edit, Hunyuan3D shape, and a separate Pi0.5 action-policy laneQK norm + RoPE, distributed overlap patterns, and open optimization PRs before proposing new codesglang.__file__, write-access probe, benchmark/profile output directories, idle GPU selectionsglang generate; defaults to eager/lossless, supports explicit quality and BCG comparators plus a same-GPU applicability matrix, rejects invalid BCG capture/fallback logs and late high-quality DiT fusion mounts, forces H3 to its eager consistency mode, enables synchronized stage attribution, validates nightly preset drift, and can clean one isolated model cache after the full matrix in a finally block with a JSONL ledgerBefore calling a diffusion hotspot "new", first classify it with existing-fast-paths.md.
Always rule out these existing families first:
quality=lossless or quality=high; keep the second attention GEMM in FP32 and
compare against quality=exact before changing its precision furtherquality=lossless or quality=hightopk/mask/gather chain as a new hotspotQK norm + RoPEtorch.compile compute / communication reorderThe checked-in helper defaults to eager. Use --torch-compile only for a
controlled comparator, never for the eager ground truth. The legacy
--no-torch-compile spelling remains accepted but is redundant.
For kernel/BCG discovery, run --quality-bcg-matrix. It executes Eager/BCG as
A-B-B-A at exact, then repeats the pair at lossless and high, on
one locked GPU set and one isolated checkpoint cache. The lossless/high+BCG
rows are applicability checks, not presumed-valid performance cells. A BCG row is invalid unless the log
contains [Diffusion BCG] captured and contains no support-disable,
capture-failure, serving-signature-miss, or late quality-fusion marker. In
particular, a request-scoped DiT fusion mounted after exact warmup capture
would be bypassed by replay; reject that row even when capture and signature
checks pass. For video presets, the helper declares both the request resolution
and --warmup-num-frames so the synthetic BCG warmup captures the requested
temporal shape. Treat any remaining temporal or conditioning signature miss as
Eager fallback, not as a valid BCG measurement.
A zero process exit is not sufficient evidence: every accepted row must also contain its requested perf dump and a generated image, video, audio, or 3D mesh file. The helper gives every cell a unique output name and rejects missing artifacts.
On machines with a read-only Hugging Face cache, combine
--model-cache-root <task-owned-dir> with one or more
--seed-model-cache-root <read-only-HF-home-or-hub> options. The helper exposes
cached repos through a task-owned copy-on-write directory overlay, downloads
misses only into the isolated cache, and removes links plus new downloads in
its normal cleanup finally block without modifying the seed cache.
Keep prompt, negative prompt, seed, shape, steps, guidance, dtype, topology,
and residency fixed. Lossless comparisons require byte-identical artifacts.
For quality=lossless and quality=high, report aggregate and worst-frame SSIM/PSNR; the repository
defaults are 0.95/28 dB for images and 0.92/24 dB for video unless the model's
checked-in consistency metadata defines a different threshold. A performance
PR needs repeated saved-request e2e improvement of at least 1.5%, a
representative profile, and before/after image or video evidence.
MiniMax-H3 is always an eager consistency case on current main. Use
--model minimax-h3-t2va; its preset writes the H3 request fields through a
generated config and suppresses the helper's global compile default. Do not
turn the model's nominal BCG support gate into a performance claim: prompt-
dependent packed-sequence host boundaries can differ between warmup and the
serving request. A valid H3 BCG experiment must prove that every captured
segment replays, keeps the MP4 byte-identical, and does not trade latency for
the extra graph memory.
For FLUX-family manual profiling runs with a quantized transformer override:
sglang generate directly--transformer-path <dir>--prompt-path <file> when also fixing --output-file-name--model-path plus HF_HUB_OFFLINE=1--profile changes latency substantially; use the non-profile perf dump for the real before/after benchmark claimまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Step-by-step tutorial for adding a new lightweight JIT CUDA kernel to sglang.kernels JIT infrastructure and public operator groups
日本語の概要は準備中です。原文の説明を表示しています。
Step-by-step tutorial for adding a heavyweight AOT CUDA/C++ kernel to sgl-kernel (including tests & benchmarks)
日本語の概要は準備中です。原文の説明を表示しています。
Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head. Use when asked to monitor, babysit, retry, or fix PR CI for lint.yml, pr-test.yml, pr-test-extra.yml, AMD, or other named workflows; classify failures as PR-related versus flaky or infrastructural, auto-fix and push only small clean fixes, rerun failed jobs only up to 10 times, and ignore unselected workflows.
日本語の概要は準備中です。原文の説明を表示しています。
Audit the existing test tree and CI configuration for improvements, using a catalog of patterns previously applied in this repo. Use when asked to audit tests or CI, shrink CI time or cost, find redundant or misplaced tests, clean up a test group, or review whether a CI change follows established practice.
日本語の概要は準備中です。原文の説明を表示しています。
Guide to SGLang CI workflow orchestration — stage ordering, fail-fast, gating, partitioning, execution modes, and debugging CI failures. Use when modifying CI workflows, adding stages, debugging CI pipeline issues, or understanding how tests are dispatched and gated across stages.
日本語の概要は準備中です。原文の説明を表示しています。
Audit SGLang startup logs, save evidence, and propose cleanup for user review. With no arguments, run Qwen3-8B at TP1 and TP2 plus gpt-oss-20b at TP1.
日本語の概要は準備中です。原文の説明を表示しています。