Skip to content

[AMD] add dsv4 sglang disagg / 新增 DSv4 SGLang 分离式基准测试#1818

Open
billishyahao wants to merge 36 commits into
mainfrom
amd/dsv4_sgl_di
Open

[AMD] add dsv4 sglang disagg / 新增 DSv4 SGLang 分离式基准测试#1818
billishyahao wants to merge 36 commits into
mainfrom
amd/dsv4_sgl_di

Conversation

@billishyahao

@billishyahao billishyahao commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

cc @Duyi-Wang


Note

Medium Risk
Touches shared disagg launch paths (server_sglang.sh, models.yaml) for all models, not only DSv4; behavior changes when EP is disabled and MoE auto-sizing is partially commented out.

Overview
Adds dsv4-fp4-mi355x-sglang-disagg to the AMD master benchmark matrix (8k/1k, non-MTP) with sweeps over pure TP8, DEP8 (MoRI KV + MoE a2a), and dp-attention + TP-MoE, plus a new workflow runner dsv4_fp4_mi355x_sglang-disagg.sh and a perf-changelog entry.

The multi-node harness is extended for DSv4 PD: a DeepSeek-V4-Pro block in models.yaml (dsv4 attention backend, mori disagg, prefill disable_cuda_graph) and matching MoRI/kernel env overrides in env.sh; the bench client uses --dsv4 framing instead of chat templates.

server_sglang.sh / models.yaml refactor MoE CLI so ep_flags (mori a2a, deepep, fake dispatch) apply only when EP is on—ep=1 stays TP-MoE even with dp-attention—and prefill can honor per-model disable_cuda_graph, context_length, and optional MORI_NUM_MAX_DISPATCH_TOKENS_PER_RANK_* overrides. submit.sh threads DRY_RUN for previewing composed launch commands on a real allocation.

Reviewed by Cursor Bugbot for commit f56f8de. Bugbot is set up for automated code reviews on this repo. Configure here.

中文说明

在 AMD 主基准测试矩阵中新增 dsv4-fp4-mi355x-sglang-disagg 配置(8k/1k,非 MTP),覆盖纯 TP8、DEP8(MoRI KV + MoE a2a)及 dp-attention + TP-MoE 多种扫描点。新增工作流运行器脚本 dsv4_fp4_mi355x_sglang-disagg.sh 和 perf-changelog 条目。扩展多节点 harness 以支持 DSv4 的 EP 和 MoE 配置。

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c22652b. Configure here.

Comment thread benchmarks/multi_node/amd_utils/server_sglang.sh
@github-actions

Copy link
Copy Markdown
Contributor

1 similar comment
@github-actions

Copy link
Copy Markdown
Contributor

@functionstackx functionstackx added the all-evals Expand eval selection to every fixed-sequence config label Jun 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Comment thread perf-changelog.yaml Outdated
Comment on lines +4002 to +4003
description:
- "init submission of dsv4 sglang disagg "

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@functionstackx

Copy link
Copy Markdown
Collaborator

hi @billishyahao there seems to be an accuracy issues with TP8+TP8. codex has narrowed it down to conc=4, here is the bug report for when u wake up, please take a look

sgl-project/sglang#28851

https://github.com/SemiAnalysisAI/InferenceX/actions/runs/27896968169/job/82550287079?pr=1818

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

@functionstackx functionstackx changed the title [AMD] add dsv4 sglang disagg [AMD] add dsv4 sglang disagg / 新增 DSv4 SGLang 分离式基准测试 Jul 4, 2026
Duyi-Wang added 2 commits July 4, 2026 05:34
…-f backstop

Multi-node disagg CI hung after benchmarks completed: server_sglang.sh
printed 'Script completed successfully' on both nodes, but the container
never exited (srun/CI step hung ~6h until cancelled).

Root cause: teardown killed only the server's main PID. sglang launch_server
is multi-process (python + TP-scheduler children); surviving children kept
the process-substitution tee's pipe open, so the container's outer '| tee'
never got EOF and 'exec docker run' never returned. This was introduced by
the process-sub change in 3c19127 (kill target moved from tee to main PID).
Verified locally: image-independent (rocm/sgl-dev and lmsysorg builds behave
identically); reproduced hang with 'kill main-pid' and clean exit with
setsid + process-group kill.

Fix (server_sglang.sh): launch prefill0/prefill/decode under setsid so each
server tree sits in its own process group, capture the pgid, and teardown
with 'kill -TERM -$pgid' to reap the whole tree (mirrors the router launch).

Backstop (job.slurm): restore the cleanup-trap 'srun docker rm -f
$DOCKER_CONT_NAME' (ported from InferenceY 51ebfa88) so any residual hang
still lets the job tear down its container on scancel/timeout.
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

2 similar comments
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@billishyahao billishyahao added evals-only Suppress throughput and run only eval jobs; combine with all-evals to expand selection and removed full-sweep-enabled all-evals Expand eval selection to every fixed-sequence config labels Jul 7, 2026
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@billishyahao billishyahao added all-evals Expand eval selection to every fixed-sequence config sweep-enabled full-sweep-enabled and removed evals-only Suppress throughput and run only eval jobs; combine with all-evals to expand selection sweep-enabled labels Jul 7, 2026
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

all-evals Expand eval selection to every fixed-sequence config AMD full-sweep-enabled

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants