Skip to content

[AMD] remove accuracy wrong sweep point, bump image to sglang-rocm 20260609#1714

Open
billishyahao wants to merge 5 commits into
mainfrom
amd/mi355x-dsfp4-fixacc
Open

[AMD] remove accuracy wrong sweep point, bump image to sglang-rocm 20260609#1714
billishyahao wants to merge 5 commits into
mainfrom
amd/mi355x-dsfp4-fixacc

Conversation

@billishyahao

@billishyahao billishyahao commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

This patch is to remove accuracy wrong sweep point from dsr1 fp4 sgl disagg on mi355x

Also bumps the dsr1-fp4-mi355x-sglang-disagg-8k1k-mtp and dsr1-fp4-mi355x-sglang-disagg-1k1k-mtp images to lmsysorg/sglang-rocm:v0.5.12.post1-rocm720-mi35x-20260609, which carries the initial accuracy bug fixes (tag verified on Docker Hub, pushed 2026-06-09).


Note

Medium Risk
Benchmark matrix and disagg server env behavior change for DP+EP runs; the decode-side bash condition in the diff looks syntactically invalid and could break multi-node SGLang jobs if not fixed before merge.

Overview
Trims DSR1 FP4 MI355X SGLang disaggregated MTP benchmark coverage and adjusts MoRI MoE env tuning for low-concurrency DP+EP runs.

In amd-master.yaml, drops duplicate 1×DEP8 + 1×DEP8 MTP sweep blocks (conc 128 / 64) and removes the entire dsr1-fp4-mi355x-sglang-disagg-mtp recipe so inaccurate sweep points are no longer scheduled. perf-changelog.yaml records removing conc 128 and 64 for the DEP8 case on dsr1-fp4-mi355x-sglang-disagg-8k1k-mtp.

In server_sglang.sh, MORI_MOE_MAX_INPUT_TOKENS_* is only set when bench max concurrency is > 128 under combined DP+EP; otherwise those variables are unset (prefill and decode). The decode branch in the diff uses a broken test ("decode_max_running_requests" without $ / missing then), which would break the script at runtime if merged as shown.

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

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for the contribution! For vLLM & SGLang, please ensure that your recipes is similar to the official vLLM recipes and/or the SGLang cookbook

If it is not, please create a PR first before we can merge your single node PR into the master branch. Let's ensure that the documentation is first class such that the entire ML community can benefit from your hard work! Thank you

PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. If re-running failed jobs is attempted, PR authors are responsible for ensuring it passes. See GitHub's docs on re-running failed jobs: https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs#re-running-failed-jobs-in-a-workflow

As a rule of thumb, generally, PR authors should request a review & get a PR approval from the respective companies' CODEOWNERS before requesting a review from core maintainers.

If additional help is needed, PR authors can reach out to core maintainers over Slack.

@github-actions

Copy link
Copy Markdown
Contributor

Comment on lines -2440 to -2453
dsr1-fp4-mi355x-sglang-disagg-mtp:
image: lmsysorg/sglang-rocm:v0.5.12-rocm720-mi35x-20260519
model: amd/DeepSeek-R1-0528-MXFP4-v2
model-prefix: dsr1
runner: mi355x-disagg
precision: fp4
framework: sglang-disagg
multinode: true
disagg: true
scenarios:
fixed-seq-len:
- isl: 1024
osl: 1024
search-space:

@functionstackx functionstackx Jun 12, 2026

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.

hi @billishyahao can u fix the accuracy eval issue instead of just deleting it?

sgl-project/sglang#27194

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

We are investigating and try to resolve the accuracy issue at the same moment. sgl-project/sglang#27194 . Here we need a clean up to eliminate those incorrect points.


# 1P2D TP8
- spec-decoding: "mtp"
conc-list: [ 32, 64 ]

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.

@billishyahao can u fix conc 64 instead of just removing it?

@functionstackx functionstackx changed the title [AMD] remove accuracy wrong sweep point [AMD] remove accuracy wrong sweep point, bump image to sglang-rocm 20260609 Jun 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Comment thread .github/configs/amd-master.yaml Outdated
# 1P2D TP8
- spec-decoding: "mtp"
conc-list: [ 32, 64 ]
conc-list: [ 32 ]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Duplicate conc 32 sweep entry

Low Severity

After conc-list for the second # 1P2D TP8 block was narrowed from [ 32, 64 ] to [ 32 ], that entry matches the first # 1P2D TP8 block for concurrency 32 (same topology and DECODE_MTP_SIZE=3), so conc 32 is scheduled twice under dsr1-fp4-mi355x-sglang-disagg-8k1k-mtp.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c64a266. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@billishyahao

Copy link
Copy Markdown
Collaborator Author

Hi @functionstackx for 0609 sgl nightly image, we still observe other regression so we decide to only remove sweep points in this PR. Once regression is resolved, we will bump the image as a follow-up.

@functionstackx

Copy link
Copy Markdown
Collaborator

Hi @functionstackx for 0609 sgl nightly image, we still observe other regression so we decide to only remove sweep points in this PR. Once regression is resolved, we will bump the image as a follow-up.

Instead of removing points, can you update once all points are fixed? i.e. the whole curve is accurate?

@functionstackx

Copy link
Copy Markdown
Collaborator

@billishyahao i am sorry but it doesn't make sense to spend time & effort on removing confirmed points with accuracy issues instead of spending time/effort on fixing the root cause of it

@billishyahao billishyahao force-pushed the amd/mi355x-dsfp4-fixacc branch from c64a266 to 4b531d9 Compare June 12, 2026 06:39

@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 2 potential issues.

There are 3 total unresolved issues (including 1 from previous review).

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 4b531d9. Configure here.

MORI_MOE_MAX_INPUT_TOKENS_DECODE=$((MORI_MAX_DISPATCH_TOKENS_DECODE * decode_dp_ranks * 7 / 10))
else
unset MORI_MOE_MAX_INPUT_TOKENS_DECODE
fi

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Decode concurrency test wrong

High Severity

The decode guard compares the literal string decode_max_running_requests to 128 instead of "$decode_max_running_requests". The prefill side correctly uses "$prefill_max_running_requests", so the decode MOE override never runs for high bench concurrency and MORI_MOE_MAX_INPUT_TOKENS_DECODE is always unset in this block.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4b531d9. Configure here.

MORI_MOE_MAX_INPUT_TOKENS_DECODE=$((MORI_MAX_DISPATCH_TOKENS_DECODE * decode_dp_ranks * 7 / 10))
else
unset MORI_MOE_MAX_INPUT_TOKENS_DECODE
fi

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

MTP scales unset decode MOE

Medium Severity

When decode concurrency is at most 128, the new branch unsets MORI_MOE_MAX_INPUT_TOKENS_DECODE, but the later MTP block still multiplies that variable. Unset operands in arithmetic expansion become zero, so MTP runs export SGLANG_MORI_MOE_MAX_INPUT_TOKENS=0 instead of omitting the env var like the prefill unset path.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4b531d9. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

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

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants