Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
f81b6df
[lora] Fix partial MoE rank loading, VL lm_head, strict loading, deep…
klshuster Apr 12, 2026
03a1a7b
[Diffusion] Add FLUX.1-dev ModelOpt NVFP4 support (#22574)
BBuf Apr 12, 2026
37fc47c
diffusion: fix layerwise offload for ModelOpt quantized DiTs (#22594)
BBuf Apr 13, 2026
c1ab68b
fix: streaming session race condition + some metrics (#21875)
ishandhanani Apr 13, 2026
28e40d8
fix(PD): respect pause_generation in disagg event loops (#20908)
lawrence-harmonic Apr 13, 2026
da6b8e1
Extract pause_resume_in_place kit; rename test_abort to test_schedule…
hnyls2002 Apr 13, 2026
934e19a
[CPU] Fix argument issues in qkv_proj_with_rope_fused_weight and bmm……
blzheng Apr 13, 2026
5593539
[RL] Refactor NVFP4 shuffling/swizzling to in-place replacement (#22204)
zianglih Apr 13, 2026
bc59cc0
[RaidxTree Refactor]: Support Unified HybridRadixTree V2 (#21206)
hzh0425 Apr 13, 2026
bf022e1
Revert "[Diffusion] Add FLUX.1-dev ModelOpt NVFP4 support (#22574)" (…
mickqian Apr 13, 2026
c775c31
Simplify test_chunked_prefill; remove redundant tests (#22652)
hnyls2002 Apr 13, 2026
fae0a2f
[codex] Add LTX-2.3 benchmark skill recipes (#22631)
BBuf Apr 13, 2026
4dbd598
Add bfloat16 KV cache validation for HiSparse (#22505)
mmangkad Apr 13, 2026
3f4fbc1
Upgrade CI default CUDA version from 12.9 to 13.0 (#21441)
alisonshao Apr 13, 2026
305b429
[HiSparse]: Add benchmark for hisparse kernel (#22187)
hzh0425 Apr 13, 2026
5549d91
[hisparse]: Adding ci for hisparse kvcache-swap-in jit-kernel (#22155)
hzh0425 Apr 13, 2026
7d2c119
[Intel GPU] Upgrade pytorch xpu version to 2.11 (#21908)
polisettyvarma Apr 13, 2026
d524f11
[diffusion] refactor: streamline denoising stages (#22633)
mickqian Apr 13, 2026
1e9eecf
[Intel GPU] Enable sgl-kernel-xpu fused_experts MoE kernel path for G…
Apr 13, 2026
4a746ea
[AMD] Remove aiter hotfixes in Dockerfile covered by aiter v0.1.12.po…
1am9trash Apr 13, 2026
9e6d1c0
TestStreamingSessionAbortLeakRepro: inherit stdout/stderr instead of …
hnyls2002 Apr 13, 2026
4df6043
[diffusion] model: support stable-diffusion-3-medium-diffusers (#19225)
gxlvera Apr 13, 2026
314d6ec
[Feature][JIT Kernel] Fused TP QK norm For Minimax (#20673)
DarkSharpness Apr 13, 2026
d01b2bf
[Docs] Fix default values and options in Ascend server arguments docu…
xdtbynd Apr 13, 2026
56c97c7
[NPU] update npu doc (#22697)
zhsurpass Apr 13, 2026
2089ac8
Improve parameters usage constraints for npu deployment (#22700)
loading66 Apr 13, 2026
8d904e5
[NPU]qwen3-8b and 32b md bugfix (#22687)
Liwansi Apr 13, 2026
b6a91b1
[NPU] --attn-cp-size --init-expert-location --eplb-algorithm paramet…
Hide-on-bushsh Apr 13, 2026
c6403a1
Modify the optional values and constraints of parameter. (#22705)
chx96642264 Apr 13, 2026
13a4aaf
[NPU] update glm5 running guide (#22712)
zhsurpass Apr 13, 2026
3981076
fix: use describe mode for SGLang version detection (#22600)
officialasishkumar Apr 13, 2026
90ef8ce
[Docker] Remove flashinfer cache copy (#22653)
mmangkad Apr 13, 2026
f51ce2c
Update CODEOWNERS for musa/mlx (#22593)
yeahdongcn Apr 13, 2026
6b2bf66
fix[glm4.7 flash]: properly detect `gfx95_quant_format` (#22720)
ishandhanani Apr 13, 2026
ff13dfe
[lora][moe] Virtual experts for LoRA MoE (#22122)
klshuster Apr 13, 2026
ba7bcca
Use reshape instead of contiguous().view() in TRTLLMHAAttnBackend (#2…
merrymercy Apr 13, 2026
b441317
Revert "Upgrade CI default CUDA version from 12.9 to 13.0" (#22727)
Fridge003 Apr 13, 2026
f81b6e8
[Misc] Add @cache_once to is_arch_support_pdl in jit_kernel (#22724)
merrymercy Apr 13, 2026
b1efce3
env: add knob to control SWA eviction interval (#22645)
happierpig Apr 13, 2026
f4f9e68
[AMD] Add MoE weights and scales padding (#21097)
mqhc2020 Apr 13, 2026
8f9553b
[Misc] Migrate SGLANG_SET_CPU_AFFINITY to envs and refactor model con…
merrymercy Apr 13, 2026
a2b5111
perf: skip KV cache in FA backend for embedding mode (#21971)
jasperjiaguo Apr 13, 2026
9fb00ed
Clean up TokenizerManager and req_time_stats: reduce overhead and sim…
merrymercy Apr 13, 2026
33a3ba2
Delete dead rematch path in SessionAwareCache.release_session (#22735)
hnyls2002 Apr 14, 2026
ff61b2e
[CI] Add workflow_dispatch and environment gate to GB200 nightly pipe…
csahithi Apr 14, 2026
1ec018f
[Feature] Add SiMM as sglang HiCache Storage backend (#18016)
yuki-brook Apr 14, 2026
c456cba
[gateway] Support SGLANG_LOG_MS for millisecond precision in router l…
ZhaiFeiyue Apr 14, 2026
945d738
[HiSparse] Clarify decode token usage logs (#22331)
huangtingwei9988 Apr 14, 2026
cc449ac
feat(metrics): expose raw KV cache pool token counts as prometheus ga…
ishandhanani Apr 14, 2026
e9d6b9e
[HiCache & HybridModel] mooncake backend support DSA & mamba model (…
huangtingwei9988 Apr 14, 2026
2530054
fix(mooncake): retry transient batch_transfer_sync failures
DavidBellamy Apr 18, 2026
3397cfc
feat(mooncake): make session-failure kill threshold configurable
DavidBellamy Apr 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
/python/sglang/srt/eplb @fzyzcjy @ch-wan
/python/sglang/srt/function_call @CatherineSue @JustinTong0323
/python/sglang/srt/grpc @CatherineSue @slin1237
/python/sglang/srt/hardware_backend/mlx @yeahdongcn
/python/sglang/srt/hardware_backend/musa @yeahdongcn
/python/sglang/srt/hardware_backend/npu @ping1jing2 @iforgetmyname
/python/sglang/srt/hardware_backend/npu/quantization @OrangeRedeng @TamirBaydasov @iforgetmyname
/python/sglang/srt/layers @merrymercy @Ying1123 @Fridge003 @ispobock @HaiShaw @ch-wan @BBuf @Edwardf0t1
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/nightly-72-gpu-gb200.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ name: Nightly Test (GB200 72GPU)
on:
schedule:
- cron: '0 2 * * *' # 2 AM UTC daily (offset from other nightly runs)
workflow_dispatch: # allow manual trigger; gated by gb200-ci environment

concurrency:
group: nightly-test-gb200
Expand Down Expand Up @@ -47,6 +48,7 @@ jobs:
prepare-image:
needs: setup
if: github.repository == 'sgl-project/sglang'
environment: gb200-ci
runs-on: 72-gpu-gb200
outputs:
squash_file: ${{ steps.import.outputs.squash_file }}
Expand Down
4 changes: 3 additions & 1 deletion 3rdparty/amd/wheel/sglang/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -210,4 +210,6 @@ exclude = [
[tool.setuptools_scm]
root = ".."
version_file = "sglang/_version.py"
git_describe_command = ["python3", "python/tools/get_version_tag.py", "--tag-only"]
git_describe_command = ["python3", "python/tools/get_version_tag.py"]
# Allow editable installs even when .git metadata is not available.
fallback_version = "0.0.0.dev0"
3 changes: 1 addition & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -428,8 +428,7 @@ COPY --from=deepep_builder /build/DeepEP /sgl-workspace/DeepEP
RUN --mount=type=cache,target=/root/.cache/pip \
pip install /tmp/wheels/deepep/*.whl && rm -rf /tmp/wheels/deepep

# Copy flashinfer cache and jit-cache package (if installed)
COPY --from=flashinfer_cache /root/.cache/flashinfer /root/.cache/flashinfer
# Copy flashinfer jit-cache package (if installed)
COPY --from=flashinfer_cache /flashinfer_jit_output/ /usr/local/lib/python3.12/dist-packages/

# Copy dev tools
Expand Down
19 changes: 0 additions & 19 deletions docker/rocm.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -180,27 +180,8 @@ RUN git clone ${AITER_REPO} \
&& git submodule update --init --recursive \
&& pip install -r requirements.txt

# Hot patches for AITER in v0.1.10.post3
# This is for ROCm 7.2 only, because of the image rebase from vllm
# to rocm/pytorch.
RUN set -eux; \
case "${GPU_ARCH}" in \
*rocm720*) \
echo "ROCm 7.2 flavor detected from GPU_ARCH=${GPU_ARCH}"; \
cd aiter \
&& sed -i '459 s/if.*:/if False:/' aiter/ops/triton/attention/pa_mqa_logits.py; \
;; \
*) \
echo "Not rocm720 (GPU_ARCH=${GPU_ARCH}), skip patch"; \
;; \
esac
# [WA] from kk-huang
# add sed -i '/c1 = torch.empty((M, D, S1 + S3) for aiter triton gemm config issue
# the corresponding pr is https://github.com/ROCm/aiter/pull/2173
# it will be removed when server launched issue is fixed by aiter
RUN cd aiter \
&& echo "[AITER] GPU_ARCH=${GPU_ARCH}" \
&& sed -i '/c1 = torch.empty((M, D, S1 + S3), dtype=dtype, device=x.device)/i\ config = dict(config)' aiter/ops/triton/gemm/fused/fused_gemm_afp4wfp4_split_cat.py \
&& if [ "$BUILD_AITER_ALL" = "1" ] && [ "$BUILD_LLVM" = "1" ]; then \
sh -c "HIP_CLANG_PATH=/sgl-workspace/llvm-project/build/bin/ PREBUILD_KERNELS=1 GPU_ARCHS=$GPU_ARCH_LIST python setup.py build_ext --inplace" \
&& sh -c "HIP_CLANG_PATH=/sgl-workspace/llvm-project/build/bin/ GPU_ARCHS=$GPU_ARCH_LIST pip install -e ."; \
Expand Down
4 changes: 2 additions & 2 deletions docker/xpu.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ RUN --mount=type=secret,id=github_token \
cd /home/sdp && \
. /home/sdp/miniforge3/bin/activate && \
conda activate py${PYTHON_VERSION} && \
pip3 install torch==2.10.0+xpu torchao torchvision torchaudio==2.10.0+xpu triton-xpu==3.6.0 --index-url https://download.pytorch.org/whl/xpu
pip3 install torch==2.11.0+xpu torchao torchvision torchaudio==2.11.0+xpu --index-url https://download.pytorch.org/whl/xpu

RUN --mount=type=secret,id=github_token \
cd /home/sdp && \
Expand All @@ -58,7 +58,7 @@ RUN --mount=type=secret,id=github_token \
git clone --branch ${SG_LANG_BRANCH} --single-branch ${SG_LANG_REPO} && \
cd sglang && cd python && \
cp pyproject_xpu.toml pyproject.toml && \
pip install . && \
pip install . --extra-index-url https://download.pytorch.org/whl/xpu && \
pip install xgrammar --no-deps && \
pip install msgspec blake3 py-cpuinfo compressed_tensors gguf partial_json_parser einops tabulate --root-user-action=ignore && \
conda install libsqlite=3.48.0 -y && \
Expand Down
9 changes: 5 additions & 4 deletions docs/diffusion/quantization.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ backend.
| quant_family | checkpoint form | canonical CLI | supported models | extra dependency | platform / notes |
|------------------|--------------------------------------------------------------------------------------------|------------------------------------------------------|--------------------------------------------------------------|---------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| `fp8` | Quantized transformer component folder, or safetensors with `quantization_config` metadata | `--transformer-path` or `--transformer-weights-path` | ALL | None | Component-folder and single-file flows are both supported |
| `modelopt-fp8` | Converted ModelOpt FP8 transformer directory or repo with `config.json` | `--transformer-weights-path` | FLUX.2, Wan2.2 | None | Override config is read from the quantized transformer repo; `dit_cpu_offload` and `dit_layerwise_offload` are auto-disabled |
| `modelopt-fp8` | Converted ModelOpt FP8 transformer directory or repo with `config.json` | `--transformer-weights-path` | FLUX.2, Wan2.2 | None | Override config is read from the quantized transformer repo; `dit_layerwise_offload` is supported and `dit_cpu_offload` stays disabled |
| `nvfp4-modelopt` | NVFP4 safetensors file, sharded directory, or repo providing transformer weights | `--transformer-weights-path` | FLUX.2 | `comfy-kitchen` optional on Blackwell | Blackwell can use a best-performance kit when available; otherwise SGLang falls back to the generic ModelOpt FP4 path |
| `nunchaku-svdq` | Pre-quantized Nunchaku transformer weights, usually named `svdq-{int4\|fp4}_r{rank}-...` | `--transformer-weights-path` | Model-specific support such as Qwen-Image, FLUX, and Z-Image | `nunchaku` | SGLang can infer precision and rank from the filename and supports both `int4` and `nvfp4` |
| `msmodelslim` | Pre-quantized msmodelslim transformer weights | `--model-path` | Wan2.2 family | None | Currently only compatible with the Ascend NPU family and supports both `w8a8` and `w4a4` |
Expand Down Expand Up @@ -78,9 +78,10 @@ sglang generate \
- If the override repo or local directory contains its own `config.json`,
SGLang reads the quantization config from that override instead of relying on
the base model config.
- `dit_cpu_offload` and `dit_layerwise_offload` are automatically disabled for
ModelOpt FP8 checkpoints because the runtime expects the transformed FP8
weights to remain GPU-resident in their column-major layout.
- `dit_layerwise_offload` is supported for ModelOpt FP8 checkpoints.
- `dit_cpu_offload` still stays disabled for ModelOpt FP8 checkpoints.
- The layerwise offload path now preserves the non-contiguous FP8 weight stride
expected by the runtime FP8 GEMM path.
- To build the converted checkpoint yourself from a ModelOpt diffusers export,
use `python -m sglang.multimodal_gen.tools.convert_modelopt_fp8_checkpoint`.

Expand Down
12 changes: 4 additions & 8 deletions docs/platforms/ascend/ascend_npu_best_practice.md
Original file line number Diff line number Diff line change
Expand Up @@ -2397,7 +2397,6 @@ LOCAL_HOST2=`hostname -I|awk -F " " '{print$2}'`
echo "${LOCAL_HOST1}"
echo "${LOCAL_HOST2}"

export HCCL_BUFFSIZE=400
export HCCL_SOCKET_IFNAME=lo
export GLOO_SOCKET_IFNAME=lo
export HCCL_OP_EXPANSION_MODE="AIV"
Expand All @@ -2410,7 +2409,7 @@ python -m sglang.launch_server --model-path $MODEL_PATH \
--max-running-requests 16 \
--disable-radix-cache \
--speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx --speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx \
--speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4 \
--chunked-prefill-size -1 --max-prefill-tokens 16384 \
--tp-size 4 --mem-fraction-static 0.843 --cuda-graph-bs 1 4 8 16 --dtype bfloat16
Expand Down Expand Up @@ -2470,7 +2469,6 @@ LOCAL_HOST2=`hostname -I|awk -F " " '{print$2}'`
echo "${LOCAL_HOST1}"
echo "${LOCAL_HOST2}"

export HCCL_BUFFSIZE=400
export HCCL_SOCKET_IFNAME=lo
export GLOO_SOCKET_IFNAME=lo
export HCCL_OP_EXPANSION_MODE="AIV"
Expand All @@ -2483,7 +2481,7 @@ python -m sglang.launch_server --model-path $MODEL_PATH \
--max-running-requests 16 \
--disable-radix-cache \
--speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx --speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx \
--speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4 \
--chunked-prefill-size -1 --max-prefill-tokens 16384 \
--tp-size 4 --mem-fraction-static 0.843 --cuda-graph-bs 1 4 10 15 16 --dtype bfloat16
Expand Down Expand Up @@ -2543,7 +2541,6 @@ LOCAL_HOST2=`hostname -I|awk -F " " '{print$2}'`
echo "${LOCAL_HOST1}"
echo "${LOCAL_HOST2}"

export HCCL_BUFFSIZE=400
export HCCL_SOCKET_IFNAME=lo
export GLOO_SOCKET_IFNAME=lo
export HCCL_OP_EXPANSION_MODE="AIV"
Expand All @@ -2556,7 +2553,7 @@ python -m sglang.launch_server --model-path $MODEL_PATH \
--max-running-requests 16 \
--disable-radix-cache \
--speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx --speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx \
--speculative-num-steps 4 --speculative-eagle-topk 1 --speculative-num-draft-tokens 5 \
--chunked-prefill-size -1 --max-prefill-tokens 16384 \
--tp-size 2 --mem-fraction-static 0.894 --cuda-graph-bs 1 2 4 6 9 10 15 16 --dtype bfloat16
Expand Down Expand Up @@ -2616,7 +2613,6 @@ LOCAL_HOST2=`hostname -I|awk -F " " '{print$2}'`
echo "${LOCAL_HOST1}"
echo "${LOCAL_HOST2}"

export HCCL_BUFFSIZE=400
export HCCL_SOCKET_IFNAME=lo
export GLOO_SOCKET_IFNAME=lo
export HCCL_OP_EXPANSION_MODE="AIV"
Expand All @@ -2629,7 +2625,7 @@ python -m sglang.launch_server --model-path $MODEL_PATH \
--max-running-requests 16 \
--disable-radix-cache \
--speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx --speculative-draft-model-quantization unquant \
--speculative-algorithm EAGLE3 --speculative-draft-model-path xxx \
--speculative-num-steps 4 --speculative-eagle-topk 1 --speculative-num-draft-tokens 5 \
--chunked-prefill-size -1 --max-prefill-tokens 16384 \
--tp-size 2 --mem-fraction-static 0.894 --cuda-graph-bs 1 5 15 16 --dtype bfloat16
Expand Down
10 changes: 8 additions & 2 deletions docs/platforms/ascend/ascend_npu_glm5_examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,16 @@ docker run -itd --shm-size=16g --privileged=true --name ${NAME} \
swr.cn-southwest-2.myhuaweicloud.com/base_image/dockerhub/lmsysorg/sglang:${TAG}
```

Note: Using this image, you need to update transformers to main branch
### Best Practices
Note: Using this image for **best practices**, you need to update transformers to version 5.3.0
``` shell
# reinstall transformers
pip install git+https://github.com/huggingface/transformers.git

# Install transformers version 5.3.0 from PyPI
pip install transformers==5.3.0

# Install from GitHub v5.3.0 tag from GitHub
pip install git+https://github.com/huggingface/transformers.git@v5.3.0
```

## Deployment
Expand Down
Loading
Loading