Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: JiaxinD <djx2048@gmail.com>
2.1 KiB
Contributing to SGLang Diffusion
This guide outlines the requirements for contributing to the SGLang Diffusion module (sglang.multimodal_gen).
Commit Message Convention
We follow a structured commit message format to maintain a clean history.
Format:
[diffusion] <scope>: <subject>
Examples:
[diffusion] cli: add --perf-dump-path argument[diffusion] scheduler: fix deadlock in batch processing[diffusion] model: support Stable Diffusion 3.5
Rules:
- Prefix: Always start with
[diffusion]. - Scope (Optional):
cli,scheduler,model,pipeline,docs, etc. - Subject: Imperative mood, short and clear (e.g., "add feature" not "added feature").
Performance Reporting
For PRs that impact latency, throughput, or memory usage, you should provide a performance comparison report.
How to Generate a Report
-
Baseline: run the benchmark (for a single generation task)
$ sglang generate --model-path <model> --prompt "A benchmark prompt" --perf-dump-path baseline.json -
New: run the same benchmark, without modifying any server_args or sampling_params
$ sglang generate --model-path <model> --prompt "A benchmark prompt" --perf-dump-path new.json -
Compare: run the compare script, which will print a Markdown table to the console
$ python python/sglang/multimodal_gen/benchmarks/compare_perf.py baseline.json new.json [new2.json ...] ### Performance Comparison Report ... -
Paste: paste the table into the PR description
CI-Based Change Protection
Consider adding tests to the pr-test or nightly-test suites to safeguard your changes, especially for PRs that:
- support a new model
- add a testcase for this new model to
testcase_configs.py
- add a testcase for this new model to
- support or fix important features
- significantly improve performance
Please run the according testcase, then update/add the baseline to perf_baselines.json by following the instruction in console if applicable.
See test for examples