Skip to content

feat(image): upgrade gfx950 SGLang image to v0.5.18 - #152

Open
llying-001 wants to merge 4 commits into
mainfrom
llying/feat/sglang_image_update_v518
Open

feat(image): upgrade gfx950 SGLang image to v0.5.18#152
llying-001 wants to merge 4 commits into
mainfrom
llying/feat/sglang_image_update_v518

Conversation

@llying-001

Copy link
Copy Markdown
Contributor

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

  • Update the gfx950 base image to v0.5.18-rocm720-mi35x.
  • Keep the gfx942 base image pinned to v0.5.16-rocm720-mi30x.
  • Re-cut the DSA draft CUDA graph patch for the v0.5.18 source layout.
  • Support both v0.5.16 and v0.5.18 source shapes in the Mooncake wait-event and Responses PD bootstrap patches.
  • Make DSA patch application idempotent and prevent GNU patch from reversing already-applied fixes.
  • Retain the narrower indexer patch set and runtime IndexShare override for gfx942.
  • Add explicit RDMA device and GID selection to preflight checks.
  • Handle non-UTF-8 native Mooncake logs without aborting preflight.
  • Update unit tests, examples, compatibility documentation, and patch status records.

Validation

Completed on gfx950/v0.5.18:

  • 1,786 image unit tests passed, 4 skipped.
  • 1,713 CI-equivalent unit tests passed, 49 skipped.
  • 93 SGLang engine tests passed.
  • Rust router tests and encoder parity checks passed.
  • GPT-OSS, Kimi-K2.6, and GLM-5.1 mixed-mode cases passed.
  • Dual-node GPT-OSS 1P1D correctness and RDMA checks passed.
  • Mode B fabric validation passed with Mooncake GPU transfers at 16.90–18.24 GB/s.
  • Kimi-K3 and DeepSeek-V4 real-weight Chat/Responses smoke tests passed.
  • GLM-5.2 1P1D, Responses, 70K prompt, prefix reuse, and MTP smoke tests passed.

Patch application was also verified on fresh source trees:

  • v0.5.16 with the indexer patch set.
  • v0.5.18 with the full patch set.
  • A second application correctly detected and skipped every applied patch.

Performance and known limitations

  • Concurrency 1 performance is close to v0.5.17.
  • Concurrency 4 is affected by runtime kernel compilation after readiness. The final warmed run approached v0.5.17 throughput, but additional post-warm measurements are still recommended.
  • gfx942/v0.5.16 source compatibility was revalidated, but hardware runtime regression was not repeated in this change.
  • The validated production-safe RDMA configuration uses a single 200 Gb/s mlx5_0 rail with GID 3.
  • Full KVD/HiCache host read-back after eviction or restart remains follow-up validation.

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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 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.sglang base image to lmsysorg/sglang:v0.5.18-rocm720-mi35x while keeping Dockerfile.sglang.gfx942 on v0.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.

Comment thread infera/tools/preflight/network/mooncakeperf.py Outdated
Comment thread infera/tools/preflight/network/netperf.py Outdated
llying-001 and others added 3 commits September 3, 2026 08:48
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants