Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
b765fae
[MoE Refactor] deprecate forward_npu and NpuFuseEPMoE (#25678)
ch-wan May 21, 2026
81d686d
Default MegaMoE to W4A8 for Max-Throughput recipe (#26004)
yhyang201 May 21, 2026
1a85586
[Fix]: Restrict Kimi-K2.5 shared-experts fusion to Quark MXFP4 checkp…
Jiminator May 21, 2026
17dadeb
[Docs] DeepSeek-V4: switch H200 FP4 Pro to flashinfer_mxfp4, Flash Ba…
zijiexia May 21, 2026
c9a0e55
[Spec] Polish FutureMap after #25879: rename callback, async guard, c…
hnyls2002 May 21, 2026
44ec2ee
[core] Unify output_tokens_buf in FutureMap (#25922)
hnyls2002 May 21, 2026
c5251a9
feat(model_runner): remove pool/backend refs from ForwardBatch via Fo…
ch-wan May 21, 2026
d765dfd
refactor(attn): init hisparse_coordinator before attn_backend; replac…
ch-wan May 21, 2026
7cf193f
feat: support HybridLinearKVPool in chunked prefix cache handling (#2…
imp2002 May 21, 2026
f6d98a1
[diffusion] optimize: reuse cached dynamic lora weights (#25893)
mickqian May 22, 2026
16b3edc
[diffusion] feat: enable warmup for sglang serve by default (#25988)
mickqian May 22, 2026
b2631a9
[NPU] Docs op performance optimize (#25830)
McZyWu May 22, 2026
4374789
fix(mm): make multimodal data loading non-blocking to prevent health …
abinggo May 22, 2026
7c02ca7
cancel pr ci: cover closed-no-merge; widen workflows; rerun-test opt-…
hnyls2002 May 22, 2026
76b1efa
Fix SMG service discovery Clippy lint (#26034)
mmangkad May 22, 2026
cc77c36
Bugfix: Qwen3-VL-MoE adapt encoder_only (#23220)
Hide-on-bushsh May 22, 2026
8b473aa
[core] step 1: route non-spec `seq_lens` via `FutureMap` with per-mod…
hnyls2002 May 22, 2026
ae7c422
[diffusion] model: support FLUX.2-klein-base (#25661)
alex0dd May 22, 2026
610f550
update npu codeowners (#26042)
whybeyoung May 22, 2026
acb8310
ci: self-heal $GITHUB_PATH/$GITHUB_ENV writes (#26037)
hnyls2002 May 22, 2026
f829caf
[perf] skip add_special_tokens=False kwarg on chat-template tokenize …
kpham-sgl May 22, 2026
3f08149
Fix disaggregation bootstrap server lifetime (#25982)
fzyzcjy May 22, 2026
fa6f4df
improve: combine vit calls for images from different reqs from one ba…
yhyang201 May 22, 2026
c4b6b5e
[core] step 2: drop seq_lens sentinel; SB maintains GPU as `seq_lens_…
hnyls2002 May 22, 2026
a7555fc
[diffusion] fix: fix MOVA DAC bf16 on ROCm (#25674)
qimcis May 22, 2026
c9153da
Fix SWA double-free in disagg decode with MTP speculation (#25805)
yhyang201 May 22, 2026
88a37d7
[docs] DeepSeek-V4 cookbook: split Quantization axis, add H100 SGLang…
zijiexia May 22, 2026
6339295
[XPU] add apache-tvm-ffi dependency (#26053)
jiayisunx May 22, 2026
06836aa
update code owner (#26060)
liusy58 May 22, 2026
63ecf2f
[CI] Drop unused 'environment: prod' from bot-cherry-pick job (#26067)
Kangyan-Zhou May 22, 2026
16d049f
Add sglang-cherrypick skill for batching bot-cherry-pick dispatches (…
Kangyan-Zhou May 22, 2026
cf5f496
[MUSA][22/N] ci(musa): repack wheels with +musa metadata, refine path…
johnnycxm May 22, 2026
4486a33
[CI] bot-cherry-pick: remove concurrency group to enable batch dispat…
Kangyan-Zhou May 22, 2026
bd6c7e7
[fix] Fallback DeepGEMM activation for unsupported shapes (#26025)
yueming-yuan May 22, 2026
10751a4
drop `FutureIndices` wrapper class (#26085)
hnyls2002 May 22, 2026
d4082ea
[CI] pr-test-extra: add run_all_tests to workflow_dispatch inputs (#2…
Kangyan-Zhou May 22, 2026
80680dc
[Intel GPU] 1/N Fix tilelang import in deepseek v4 rope as optional (…
polisettyvarma May 22, 2026
e1dcbca
[FIX][1/2] fix step3-vl/deepseek-ocr image processor error (#24701)
kousakawang May 22, 2026
8c916a7
[diffusion] feat: support role-based component loading and stage affi…
FredHuang99 May 22, 2026
f5ed268
[diffusion] CI: guard gt publishing from corrupt output (#26044)
mickqian May 22, 2026
6baa859
Add MiniCPM5 tool call parser for XML-style function calls (#25600)
zhangtao2-1 May 22, 2026
9bbd519
[diffusion] fix: fix Wan channels_last_3d VAE decode corruption (#25985)
IPostYellow May 22, 2026
b801a27
[diffusion] CI: disable torch compile in nightly comparison (#26120)
mickqian May 22, 2026
5e9bd21
fix(serving_chat): catch TypeError from tojson on Jinja2 Undefined va…
fanghao566 May 22, 2026
06c23d5
perf: migrate Req token-id storage to array.array('q') in Scheduler (…
Jialin May 22, 2026
0857772
feat(kv-events): expose structured KV-event publisher block on /serve…
Kangyan-Zhou May 22, 2026
763174f
FutureMap: debug-assert that gather sees a stashed value (#26108)
hnyls2002 May 22, 2026
b73278e
[Fix]: BCG support for RadixLinearAttention (Qwen3.5 / linear-attn hy…
zminglei May 22, 2026
2df9e8b
[perf] DeepSeekV3: drop redundant FP32 upcasts in trtllm MoE paths (#…
maocheng23 May 22, 2026
cadfa2d
Support piecewise CUDA graph with NSA (#23351)
nvjullin May 22, 2026
c112f76
Skip init_mha_chunk_metadata in trtllm_mla when not needed (#26017)
Qiaolin-Yu May 22, 2026
208397a
[RL] [Spec v2] Use stop-aware seqlen for returned topk metadata (#26126)
yueming-yuan May 23, 2026
d226f75
[refactor] unify cuda-graph capture/replay across attention backends …
ch-wan May 23, 2026
629b6c6
correct allreduce fusion and dummy_run alignment in SCATTERED MLP mod…
weireweire May 23, 2026
c8cea6d
[diffusion] feat: auto-select vae channels_last_3d (#26121)
mickqian May 23, 2026
a241659
[PD] Consolidate shared logic into common backend (#25979)
ShangmingCai May 23, 2026
7b7f106
Add non-MTP DSV4 test coverage (#26141)
Fridge003 May 23, 2026
c69844f
[NPU]Ascend NPU Performance Profiling Guide and Ascend NPU Operator D…
longxin9715 May 23, 2026
fd3e119
[AMD][aiter] Fix cuda_graph_kv_indices OOB under page_size>1 (#24587)
xiaobochen-amd May 23, 2026
75427c9
Route concat MLA to JIT and remove unused downcast (#25843)
BBuf May 23, 2026
5964d30
fix(swa): eliminate spurious translate_loc_from_full_to_swa warning i…
ch-wan May 23, 2026
8b9fb13
[BugFix][EPD] adapt for qwen3.5-mtp & del duplicated logs (#24144)
ZhengWG May 23, 2026
19b60a4
[VLM] reuse pretokenized ids from preprocessed input for qwen-vl (#26…
mickqian May 23, 2026
774b29d
[VLM] feat: early-return in mm processor if the input is preprocessed…
mickqian May 23, 2026
8c78424
Reduce excessively long logs caused by transformer version updates. (…
liuxianglong17 May 23, 2026
83a18e6
Revert "[refactor] unify cuda-graph capture/replay across attention b…
ch-wan May 23, 2026
1e59ed7
compile _resolve_spec_extras gather kernels (#26129)
hnyls2002 May 23, 2026
81cd338
[docs] DeepSeek-V4 cookbook: balanced MegaMoE cap, H200 Pro FP4 mem-f…
zijiexia May 23, 2026
b0ce16d
[CP] 1/N: Support MLA Prefill Context Parallel (#23292)
kpham-sgl May 23, 2026
89ff2bc
[bug fix] Fix 3 issues when using Gemma4 MTP (#26026)
pyc96 May 23, 2026
cb7b579
fix tokenspeed_mla attn kernel jit (#26170)
Qiaolin-Yu May 23, 2026
a5a64a3
[Spec] trtllm mha supports overlap plan stream (#25925)
hanming-lu May 23, 2026
2de7403
[FIX][2/2] fix step3-vl/deepseek-ocr image processor error (#25403)
kousakawang May 23, 2026
982f67d
Suppress cutlass-dsl noisy warning (#26169)
Qiaolin-Yu May 23, 2026
af8f669
[AMD] Dsv4/pr1 fix run time issue (#25898)
kkHuang-amd May 23, 2026
d6d9f12
[VLM] adopt simplified get_rope_index for image-only requests (#26100)
mickqian May 24, 2026
826a4de
[srt] store req input ids as arrays (#26165)
mickqian May 24, 2026
4c2b32b
[VLM] accept precomputed multimodal metadata (#26101)
mickqian May 24, 2026
0b65588
[diffusion] Clean up VSA attention hot path (#25514)
BBuf May 24, 2026
6447596
[VLM] feat: replace small H2D calls with a single one for qwen-vl (#2…
mickqian May 24, 2026
b6f71d5
[VLM] avoid extra cuda-ipc staging for preprocessed input (#26096)
mickqian May 24, 2026
9d50cd9
[observability] add ServerArgs.stat_loggers for pluggable metrics bac…
nadongjun May 24, 2026
36eb72b
[UnifiedTree] fix: backup SWA-split parent before child under write-t…
alphabetc1 May 24, 2026
5c37758
[diffusion] chore: use model-aware vae channels_last_3d policy (#26214)
mickqian May 24, 2026
7f45bcd
[dsv4] support eplb (#25948)
SYChen123 May 24, 2026
44922de
fix(swa): downgrade translate_loc_from_full_to_swa key-change log fro…
ch-wan May 24, 2026
fd94bd3
[Intel GPU] DeepSeek V4 2/N: Fix tvm ffi import (#26118)
polisettyvarma May 24, 2026
030bd5d
[Test] test_session_latency: assert streaming tail/head stability (#2…
hnyls2002 May 24, 2026
93fa577
Clean up server startup log noise (#26205)
merrymercy May 24, 2026
85471d2
Add --disable-attn-tp-gather opt-out for model-managed SP (#26047)
minosfuture May 24, 2026
d7e3e54
[Test] split test/registered/distributed/ into topic folders (#26240)
hnyls2002 May 25, 2026
ed179bf
[dsv4] fix multi-step draft on non-cuda-graph path (#26239)
hnyls2002 May 25, 2026
72c1582
[VLM] fix: fix only the grids from last split mm item is collected fo…
mickqian May 25, 2026
64e2b54
[VLM] feat: accept grid_thws from preprocessed metadata for kimi (#26…
mickqian May 25, 2026
850887d
[Spec] fix EAGLE v2 verify metadata init order on non-cuda-graph path…
hnyls2002 May 25, 2026
de3f6fb
Fix attr err (#25856)
hanwlax May 25, 2026
e1463bb
[VLM] try to reuse precomputed padded input ids in scheduler instead …
mickqian May 25, 2026
821d5f4
[CPU] add faster KV-cache writes (#25874)
mingfeima May 25, 2026
e86fdf3
[Bug Fix][HiCache] TreeNode.get_prefix_hash_values @lru_cache can ret…
vuuihc May 25, 2026
ec6fcb9
[perf][spec decoding] Skip common_template in TRTLLMMLAMultiStepDraft…
Qiaolin-Yu May 25, 2026
2bd3ac0
[XPU] fix correctness issue of GDN triton kernel for XPU (#26065)
Xia-Weiwen May 25, 2026
87e69d5
[lora] Fix overlap loading for cancelled requests (#25413)
erikwijmans May 25, 2026
ca029e8
Fix missing idle-batch handling in prepare_mlp_sync_batch_raw (#25404)
yuhuiaws May 25, 2026
aae04b1
:memo: docs(diffusion): add MXFP4 quantization docs (#25904)
TallMessiWu May 25, 2026
6e8fe17
sgl-router: experimental Rust HTTP router for SGLang worker pools (#2…
Kangyan-Zhou May 25, 2026
b0cf01e
Lazy-load speculative-naming via skill instead of always-on rule (#26…
fzyzcjy May 25, 2026
e27d4fb
[Perf][Qwen3.5] Add case 512 to topkGatingSoftmaxKernelLauncher, (#25…
Chen-0210 May 25, 2026
81704ad
ci: add nightly Docker workflow for experimental sgl-router (#26273)
Kangyan-Zhou May 25, 2026
0942011
[NPU] Add torchaudio dependency for NPU platform (#26267)
xdtbynd May 25, 2026
7f2829a
chore: bump mooncake version to 0.3.11.post1 (#25989)
ShangmingCai May 25, 2026
7c04b9e
fix(docker): generate Cargo.lock in chef stage for sgl-router build (…
Kangyan-Zhou May 25, 2026
a77449f
[perf][spec decoding] Skip full-vocab softmax in EAGLE draft when top…
Qiaolin-Yu May 25, 2026
bc8d64b
[CI] Align score threshold in dsv4 disaggregation test (#26268)
ShangmingCai May 25, 2026
a4db563
[hisparse]: update user guide (#26249)
hzh0425 May 25, 2026
c05756d
[SRT] fix flashInfer allreduce fusion not used on blackwell (#26197)
mickqian May 25, 2026
533ef41
[Diffusion] Default NVFP4 backend to FlashInfer TRTLLM (#25523)
BBuf May 25, 2026
3e67398
Zero `req_pool_indices` padding in cuda-graph populate (#26292)
hnyls2002 May 25, 2026
0801cc0
[Diffusion][NPU] Disaggregation diffusion stages support for NPU (#25…
Makcum888e May 25, 2026
85f9522
[diffusion] Cache fp32 layernorm params (#25847)
BBuf May 25, 2026
121cc09
[diffusion] Add CFG gating for denoising (#25848)
BBuf May 25, 2026
2aa6995
[CI] Enable EPD CI for EPD architecture enhancements (#26281)
ShangmingCai May 25, 2026
b13d3d1
Refactor HiCache stack dispatch into strategies (#26295)
ispobock May 25, 2026
2b9dd9c
[FlashInfer v0.6.10] [RL] [DSv32] [GLM-5] Add `--dsa-topk-backend` an…
zianglih May 25, 2026
e7b12fe
Fix stale forward_metadata leak in DP attn unpadded idle batch (#26313)
ispobock May 25, 2026
8805f4c
Fail-fast on PD subprocess exit and scheduler exception (#26298)
hnyls2002 May 25, 2026
8f2a4e7
[SRT] minor: reuse req input id array for unpadded ids (#26232)
mickqian May 26, 2026
29e245e
[misc] Update permission (#26336)
Fridge003 May 26, 2026
156d1af
[Intel GPU] Fix incorrect KV-cache page table for local attention whe…
ckvermaAI May 26, 2026
1953565
Signal CUDA coredumps to tracker issue (#26338)
hnyls2002 May 26, 2026
3142278
[diffusion] feat: layerwise NVTX markers for Nsight Systems profiling…
mispa-ms May 26, 2026
59cad67
Support DeepSeek V4 DeepEP Waterfill (#25391)
xutizhou May 26, 2026
7ef06bf
GLM-4.7-Flash: standalone MLA impl and MLA NextN/MTP (#26088)
zRzRzRzRzRzRzR May 26, 2026
63a89bf
[kernel] reuse wna16 marlin moe workspace (#26112)
mickqian May 26, 2026
f0ba651
[Doc] Update pip install commands for Cuda12 (#26344)
Fridge003 May 26, 2026
7c0fbc8
fix: fix fa3 cross-attention batched-decode for per-request varlen en…
zsj555 May 26, 2026
3f5e2c7
[AMD] Dsv4/pr2 compressor opt (#26208)
kkHuang-amd May 26, 2026
1371685
[Perf][Moe]improve cutlass_moe_fp4 performance by using apply_router_…
chengchao23 May 26, 2026
64c7c68
fix(tool_call): normalize non-standard JSON Schema types in tool para…
JustinTong0323 May 26, 2026
d34d4d9
[GDN] Support SM100 CuTeDSL GDN Prefill Kernel (#26200)
yuan-luo May 26, 2026
dabdd91
[EPD] Cross-request batching for image/audio encoder (#25964)
Abatom May 26, 2026
7e6e5ef
Revert "fix(tool_call): normalize non-standard JSON Schema types in t…
hnyls2002 May 26, 2026
e958f45
[feat] Support `extra_buffer` in Mamba2-based models (#15829)
roikoren755 May 26, 2026
d25a220
[AMD] Relaxing timeout for AMD CI (#26392)
yctseng0211 May 26, 2026
48f3264
[HiCache]: Check return code of cudaHostRegister (#26301)
stepinto May 26, 2026
d9c8293
Extract Scheduler init methods and add skills to enforce the splittin…
fzyzcjy May 26, 2026
9409969
Revert "[perf][spec decoding] Skip full-vocab softmax in EAGLE draft …
michaelzhang-ai May 26, 2026
a269131
fix(ci): enforce legacy docs/ gate in Lint workflow (#26322)
zijiexia May 26, 2026
98eb844
[PP] Skip PP output communication for pure chunked prefill batches (#…
xu-yfei May 26, 2026
c8c1aed
[PD] Fix cross-rank queue divergence by gating metadata readiness bef…
ShangmingCai May 26, 2026
c47f0e7
[PD] Fix top logprobs crash in prefill path (#26299)
junliu-mde May 26, 2026
38f32c3
[UnifiedRadixTree]: Support L3 HiStorage framework (#26062)
hzh0425 May 26, 2026
6c81286
[Bugfix] Fix flashinfer_cutlass MoE crash when intermediate_size_per_…
vguduruTT May 26, 2026
ec6f8d6
[Spec] Async-assert probes across EAGLE/MTP; zero `tgt_cache_loc` (#2…
hnyls2002 May 26, 2026
b66f8e0
Sgl flashmla (#26132)
zcnrex May 26, 2026
6afebc2
[docs] DeepSeek-V4 cookbook: note cu129 image for GB200 Pro DeepEP ba…
zijiexia May 26, 2026
0753182
chore: bump sgl-kernel version to 0.4.3 (#26414)
sglang-bot May 26, 2026
47617cc
[CPU Doc]Add Xeon CPU info in Qwen3 Cookbook (#25971)
ZailiWang May 26, 2026
2b1e53c
[RL] Fix FP8 skip matching for trailing-dot prefixes (#26287)
zianglih May 26, 2026
61873ba
chore(engram): close dangling KHA-390 marker
May 26, 2026
43b1bd3
Merge upstream/main into engram (2026-05-25 sync, 158 commits)
May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .claude/rules/modify-component-must-read.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Must-Read Skills Before Modifying Components

Before modifying the following components, read the listed skill first.

- **Speculative decoding code** (anything under `python/sglang/srt/speculative/`, related attention backends, scheduler accumulators, IPC fields, observability metrics, or CLI flags) → [`speculative-naming`](../skills/speculative-naming/SKILL.md)
- **`Scheduler` / `TokenizerManager` / `ModelRunner` `__init__`** (`python/sglang/srt/managers/scheduler.py`, `python/sglang/srt/managers/tokenizer_manager.py`, `python/sglang/srt/model_executor/model_runner.py`) → [`large-class-init-style`](../skills/large-class-init-style/SKILL.md)
173 changes: 138 additions & 35 deletions .claude/skills/clean-startup-log/SKILL.md

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions .claude/skills/large-class-init-style/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: large-class-init-style
description: '`__init__` style for SGLang `Scheduler`, `TokenizerManager`, and `ModelRunner`. Use when modifying the `__init__` of any of these three classes, or reviewing changes that add new construction logic to them.'
---

# `__init__` Style for Scheduler / TokenizerManager / ModelRunner

Apply when modifying the `__init__` of:

- `Scheduler` — `python/sglang/srt/managers/scheduler.py`
- `TokenizerManager` — `python/sglang/srt/managers/tokenizer_manager.py`
- `ModelRunner` — `python/sglang/srt/model_executor/model_runner.py`

## Why

- Downstream forks override one piece (tokenizer, KV cache, IPC, …).
- Inline logic forces them to copy the whole `__init__`, which rots against upstream.
- Splitting into `init_*` helpers lets them override exactly what they need.
- Reference shape: `TokenizerManager.__init__` in `python/sglang/srt/managers/tokenizer_manager.py`.

## Rules

- **`__init__` is an orchestrator.** Sequence of `self.init_*(...)` calls + minimal glue. No non-trivial construction inlined.
- **One helper per overridable unit.** Each `init_*` = one concern a subclass might swap. Don't lump.
- **Naming:** `init_<thing>` (snake_case, names the component). Conditional construction → `maybe_init_<thing>`, gate inside the helper.
- **No silent state coupling.** A helper only reads `self.*` set by earlier helpers. Ordering lives in `__init__`. Shared intermediates → pass as args, not via `self.*`.
- **New logic = new helper.** Default to adding `init_<thing>`, not another inline block. One-line `self.foo = server_args.foo` is fine; structured logic is not.
- **Preserve override points.** Prefer additive changes to existing `init_*` signatures. Breaking changes → call out in PR.

## Scope

Only the three classes listed above. Not other manager-style classes, not small dataclass/utility constructors.
331 changes: 331 additions & 0 deletions .claude/skills/sglang-cherrypick/SKILL.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
---
name: speculative-naming
description: Naming conventions for SGLang speculative decoding identifiers. Use when adding, renaming, or reviewing identifiers in speculative decoding code — anything under `python/sglang/srt/speculative/`, related attention backends, scheduler accumulators, IPC fields, observability metrics, or CLI flags.
---

# Speculative Decoding — Naming Conventions

Apply this rule when adding, renaming, or reviewing identifiers in speculative decoding code (anything under `python/sglang/srt/speculative/`, related attention backends, scheduler accumulators, IPC fields, observability metrics, or CLI flags).
Apply this skill when adding, renaming, or reviewing identifiers in speculative decoding code (anything under `python/sglang/srt/speculative/`, related attention backends, scheduler accumulators, IPC fields, observability metrics, or CLI flags).

## Rule 1 — Verb form, drop `-ed`

Expand Down
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[codespell]
ignore-words-list = ans, als, hel, boostrap, childs, te, vas, hsa, ment, cann, thi, makro, wil, rouge, PRIS, ather, MIS, medias, allready, inout, nd, fo, visibles, nothink, renderD, ond, tbe, CopyIn
ignore-words-list = ans, als, hel, boostrap, childs, te, vas, hsa, ment, cann, thi, makro, wil, rouge, PRIS, ather, MIS, medias, allready, inout, nd, fo, visibles, nothink, renderD, ond, tbe, CopyIn, notin
skip = *.json, *.jsonl, *.patch, *.txt, *.lock
7 changes: 7 additions & 0 deletions .github/CI_PERMISSIONS.json
Original file line number Diff line number Diff line change
Expand Up @@ -1399,6 +1399,13 @@
"cooldown_interval_minutes": 0,
"reason": "top contributor"
},
"zianglih": {
"can_tag_run_ci_label": true,
"can_rerun_failed_ci": true,
"can_rerun_stage": true,
"cooldown_interval_minutes": 0,
"reason": "top contributor"
},
"zminglei": {
"can_tag_run_ci_label": true,
"can_rerun_failed_ci": true,
Expand Down
7 changes: 5 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.github @merrymercy @Fridge003 @ispobock @Kangyan-Zhou @bingxche
/docker @Fridge003 @ispobock @HaiShaw @ishandhanani @yctseng0211
/docker/npu.Dockerfile @ping1jing2 @iforgetmyname
/docker/npu.Dockerfile @ping1jing2 @iforgetmyname @whybeyoung
/docs @wisclmy0611 @zijiexia
/docs_new @wisclmy0611 @zijiexia @Richardczl98 @JustinTong0323
/python/pyproject.toml @merrymercy @Fridge003 @ispobock
Expand Down Expand Up @@ -29,7 +29,7 @@
/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 @ping1jing2 @iforgetmyname @whybeyoung
/python/sglang/srt/hardware_backend/npu/quantization @OrangeRedeng @TamirBaydasov @iforgetmyname
/python/sglang/srt/layers @merrymercy @Ying1123 @Fridge003 @ispobock @HaiShaw @ch-wan @BBuf @Edwardf0t1
/python/sglang/srt/layers/attention @merrymercy @Fridge003 @ispobock @Qiaolin-Yu @hebiao064 @HaiShaw
Expand All @@ -45,13 +45,16 @@
/python/sglang/srt/managers/scheduler_pp_mixin.py @ShangmingCai @XucSh
/python/sglang/srt/managers/tokenizer_manager_score_mixin.py @sundar24295s @chanh @fortunecookiee
/python/sglang/srt/mem_cache @merrymercy @Ying1123 @hnyls2002 @xiezhq-hermann @hanming-lu @yizhang2077 @hzh0425 @ispobock
/python/sglang/srt/mem_cache/storage/mooncake_store/embedding_cache_controller.py @liusy58
/python/sglang/srt/mem_cache/storage/mooncake_store/mooncake_embedding_store.py @liusy58
/python/sglang/srt/model_executor @merrymercy @Ying1123 @hnyls2002 @Fridge003 @ispobock
/python/sglang/srt/model_executor/piecewise_cuda_graph_runner.py @hebiao064
/python/sglang/srt/models/deepseek_common @Fridge003 @ispobock @fzyzcjy @ch-wan
/python/sglang/srt/models/deepseek_v2.py @fzyzcjy @zhyncs @ispobock @ch-wan @merrymercy @Fridge003
/python/sglang/srt/models/transformers.py @adarshxs
/python/sglang/srt/multimodal @mickqian @JustinTong0323 @yhyang201 @yuan-luo
/python/sglang/srt/observability @merrymercy @fzyzcjy @sufeng-buaa
/python/sglang/srt/platforms @merrymercy @whybeyoung
/python/sglang/srt/ray @Qiaolin-Yu @xyuzh
/python/sglang/srt/speculative @Ying1123 @merrymercy @hnyls2002 @Qiaolin-Yu
/sgl-kernel @ispobock @BBuf @yizhang2077 @merrymercy @FlamingoPg @HaiShaw
Expand Down
62 changes: 60 additions & 2 deletions .github/actions/upload-cuda-coredumps/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Upload CUDA Coredumps
description: Upload CUDA coredump files as artifacts and clean up the directory.
description: Upload CUDA coredump files as artifacts, optionally signal to a tracker issue, and clean up.

inputs:
artifact-suffix:
Expand All @@ -10,17 +10,75 @@ inputs:
description: Number of days to retain the artifact
required: false
default: "7"
tracker-issue:
description: |
If set, post a one-line comment to sgl-project/sglang issue
#<tracker-issue> when at least one coredump is detected. Requires
`bot-token` with issues:write on sgl-project/sglang.
required: false
default: ""
bot-token:
description: PAT with issues:write on sgl-project/sglang. Required when tracker-issue is set.
required: false
default: ""

runs:
using: composite
steps:
- name: Check for coredumps
id: check
shell: bash
run: |
dir="${SGLANG_CUDA_COREDUMP_DIR:-/tmp/sglang_cuda_coredumps}"
if [ -d "$dir" ] && [ -n "$(ls -A "$dir" 2>/dev/null)" ]; then
echo "has_dumps=true" >> "$GITHUB_OUTPUT"
else
echo "has_dumps=false" >> "$GITHUB_OUTPUT"
fi

- name: Upload CUDA coredumps
if: steps.check.outputs.has_dumps == 'true'
uses: actions/upload-artifact@v4
with:
name: cuda-coredumps-${{ github.job }}${{ inputs.artifact-suffix && format('-{0}', inputs.artifact-suffix) }}
path: ${{ env.SGLANG_CUDA_COREDUMP_DIR || '/tmp/sglang_cuda_coredumps' }}/
retention-days: ${{ inputs.retention-days }}
if-no-files-found: ignore

- name: Signal coredump to tracker issue
if: steps.check.outputs.has_dumps == 'true' && inputs.tracker-issue != '' && inputs.bot-token != ''
shell: bash
env:
BOT_TOKEN: ${{ inputs.bot-token }}
PR_NUM: ${{ github.event.pull_request.number }}
EVENT_NAME: ${{ github.event_name }}
TRACKER_ISSUE: ${{ inputs.tracker-issue }}
run: |
if [ -n "$PR_NUM" ]; then
ref_label="PR #${PR_NUM}"
else
ref_label="$EVENT_NAME"
fi
# Resolve own job_id via REST API: match by runner_name + status
# in_progress (the current job is the only one in_progress on this
# runner). Robust across matrix expansions and artifact-suffix shapes.
job_id=$(curl -sS \
-H "Authorization: Bearer ${BOT_TOKEN}" \
-H "Accept: application/vnd.github+json" \
"${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/attempts/${GITHUB_RUN_ATTEMPT}/jobs?per_page=100" \
| python3 -c 'import json,sys,os; print(next((j["id"] for j in json.load(sys.stdin)["jobs"] if j.get("runner_name")==os.environ["RUNNER_NAME"] and j.get("status")=="in_progress"), ""))')
if [ -n "$job_id" ]; then
run_url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/job/${job_id}"
else
# Fallback to run-attempt URL if job_id lookup failed
run_url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/attempts/${GITHUB_RUN_ATTEMPT}"
fi
body_json=$(printf '{"body":"@hnyls2002 [Coredump Tracker] %s - %s"}' "${ref_label}" "${run_url}")
curl -sS -X POST \
-H "Authorization: Bearer ${BOT_TOKEN}" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/sgl-project/sglang/issues/${TRACKER_ISSUE}/comments" \
-d "${body_json}"

- name: Cleanup CUDA coredumps
shell: bash
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/_pr-test-stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,8 @@ jobs:
if: failure()
with:
artifact-suffix: ${{ matrix.partition }}
tracker-issue: "26340"
bot-token: ${{ secrets.GH_PAT_FOR_PULL_REQUEST }}

- name: Cleanup venv
if: always()
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/bot-cherry-pick.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,10 @@ permissions:
contents: write
pull-requests: write

concurrency:
group: cherry-pick-${{ github.event.inputs.target_branch }}
cancel-in-progress: false

jobs:
cherry-pick:
if: github.repository == 'sgl-project/sglang'
runs-on: ubuntu-latest
environment: 'prod'
steps:
- name: Validate inputs
env:
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/cancel-pr-workflow-on-merge.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Cancel PR Workflows on Merge
name: Cancel PR Workflows on Close

on:
pull_request_target:
Expand All @@ -10,7 +10,6 @@ permissions:

jobs:
cancel:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
Expand Down
Loading
Loading