feat(image): upgrade gfx950 SGLang image to v0.5.18 - #152
Open
llying-001 wants to merge 4 commits into
Open
Conversation
Keep shared patches compatible with the gfx942 v0.5.16 image and update preflight and test coverage for the new base. Signed-off-by: liyingli <liyingli@amd.com> Co-authored-by: Cursor <cursoragent@cursor.com>
llying-001
requested review from
JohnQinAMD,
jiejingzhangamd,
limou102 and
xiaobochen-amd
as code owners
September 3, 2026 08:10
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The new INFERA_PREFLIGHT_GID_INDEX overrides can raise ValueError on malformed env values and abort preflight execution unless parsing is guarded.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Upgrades the MI355X/gfx950 SGLang engine image base to v0.5.18 while keeping the MI325X/gfx942 image pinned to v0.5.16, and updates the accompanying patch tooling + preflight RDMA diagnostics to remain compatible across both source layouts.
Changes:
- Bump
deploy/docker/Dockerfile.sglangbase image tolmsysorg/sglang:v0.5.18-rocm720-mi35xwhile keepingDockerfile.sglang.gfx942onv0.5.16-rocm720-mi30x. - Re-cut / re-anchor SGLang DSA + PD/Responses patch scripts/diffs for v0.5.18 and make patch application idempotent.
- Enhance RDMA preflight controls (explicit device/GID selection, non-UTF-8 Mooncake log tolerance) and update tests + docs accordingly.
File summaries
| File | Description |
|---|---|
| tests/unit/tools/test_preflight_netperf.py | Adds unit tests for RDMA device filtering and GID override behavior in netperf preflight. |
| tests/unit/tools/test_preflight_kv.py | Adds unit tests for Mooncake preflight: non-UTF-8 log handling, GID override, and device-pinned GPU variants. |
| tests/unit/router/test_block_hasher.py | Ensures router-only deployments still exercise missing Tool model behavior even when the real protocol module is already imported. |
| README.md | Updates documented SGLang base image tags and adds gfx942 Dockerfile row. |
| manual/serving/deployment.md | Updates deployment docs to reflect distinct MI355X vs MI325X SGLang base images. |
| manual/getting_started/installation.md | Updates installation guidance for SGLang image selection by hardware generation. |
| manual/features/compatibility_matrix.md | Updates compatibility matrix to show split SGLang versions/images by MI355X vs MI325X. |
| infera/tools/preflight/network/netperf.py | Adds RDMA device selection and GID override support for netperf-based fabric checks. |
| infera/tools/preflight/network/mooncakeperf.py | Adds GID override support, optional device pinning for GPU variants, and robust decoding of native Mooncake logs. |
| infera/engine/rocm_dsa_env.py | Updates DSA ROCm opt-out docstring to reflect supported release set (no longer tied to a specific old tag). |
| examples/sglang_1p1d_glm5.2/preflight_rdma.sh | Forwards explicit preflight env knobs into the container (device/GID/GPU cap). |
| deploy/docker/scripts/build_mn_sshd_image.sh | Updates example base image tag to the pinned gfx942 v0.5.16 tag. |
| deploy/docker/scripts/apply_sglang_dsa_patches.sh | Makes DSA patch application idempotent (avoids GNU patch auto-reverse on re-run). |
| deploy/docker/patches/sglang_rocm/patch_hicache_rocm_staged_write_back.py | Updates scope/status commentary for v0.5.16 vs v0.5.18 behavior and clarifies impact on v0.5.18. |
| deploy/docker/patches/sglang_rocm/patch_hicache_rocm_host_alloc.py | Refreshes upstream-status notes and references the repo’s upstream PR. |
| deploy/docker/patches/sglang_responses/patch_responses_custom_encoder_prompt.py | Updates “verified” notes for the v0.5.18 source tree. |
| deploy/docker/patches/sglang_dsa/README.md | Updates DSA patch documentation for v0.5.18 base and idempotent application behavior. |
| deploy/docker/patches/sglang_dsa/patch_dsa_indexer_hip_dp_padded_rows.py | Updates rationale/verification notes to reflect v0.5.16 + v0.5.18 verified anchors. |
| deploy/docker/patches/sglang_dsa/patch_draft_cuda_graph_dp_vote_v0516.py | Updates base-version mapping notes to reference v0.5.18 vs v0.5.16 shapes. |
| deploy/docker/patches/sglang_dsa/dsa_page_table_rows.diff | Updates base-version note to v0.5.18 verification. |
| deploy/docker/patches/sglang_dsa/draft_cuda_graph_dp_vote.diff | Re-cuts/updates the v0.5.18 diff and its documentation. |
| deploy/docker/patches/sglang_disagg/README.md | Documents dual-shape (v0.5.16/v0.5.18) compatibility and idempotence for disagg patches. |
| deploy/docker/patches/sglang_disagg/patch_responses_pd_bootstrap.py | Makes the Responses PD bootstrap patch handle v0.5.16 vs v0.5.18 GenerateReqInput tails explicitly. |
| deploy/docker/patches/sglang_disagg/patch_mooncake_early_send_wait_event.py | Updates import-shape handling (v0.5.16 vs v0.5.18) and improves drift detection. |
| deploy/docker/patch.upstream.status.md | Refreshes patch status tracking for the v0.5.18 pinned digest and documents idempotent patch behavior. |
| deploy/docker/Dockerfile.sglang.gfx942 | Clarifies gfx942 base support and updates commentary to match dual-base patch verification. |
| deploy/docker/Dockerfile.sglang | Bumps gfx950 base image to v0.5.18 and updates ROCm patch rationale accordingly. |
Review details
- Files reviewed: 27/27 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Signed-off-by: liyingli <liyingli@amd.com> Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # deploy/docker/patches/sglang_disagg/patch_responses_pd_bootstrap.py
Keep RDMA diagnostics running with an explicit warning and detected fallback when the configured GID is not an integer. Signed-off-by: liyingli <liyingli@amd.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Emit MC_TE_FILTERS for SGLang PD, whose Mooncake build bypasses the Store layer. Keep deployment examples and recipe rendering aligned, and add regression coverage. Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: liyingli <liyingli@amd.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrade the gfx950/MI355X SGLang engine image from v0.5.17 to v0.5.18 while preserving compatibility with the gfx942 image, which remains on v0.5.16.
Changes
v0.5.18-rocm720-mi35x.v0.5.16-rocm720-mi30x.patchfrom reversing already-applied fixes.indexerpatch set and runtime IndexShare override for gfx942.Validation
Completed on gfx950/v0.5.18:
Patch application was also verified on fresh source trees:
indexerpatch set.fullpatch set.Performance and known limitations
mlx5_0rail with GID 3.