Skip to content

Bump sglang to v0.5.18 - #2714

Open
yueming-yuan wants to merge 3 commits into
megatron-bump-20260819from
bump_sglang_v0.5.18
Open

Bump sglang to v0.5.18#2714
yueming-yuan wants to merge 3 commits into
megatron-bump-20260819from
bump_sglang_v0.5.18

Conversation

@yueming-yuan

@yueming-yuan yueming-yuan commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

ci-megatron-pr: miles-main-20260819
ci-sglang-pr: sglang-miles-v0.5.18

Rebases the sglang-miles stack onto v0.5.18 and repoints the miles images at it. Targets #2673 so the Megatron and sglang bumps are validated together.

sglang side

sglang-miles-v0.5.18 = 35 commits on v0.5.18, replayed from sglang-miles-v0.5.17 rather than from production: production is still the v0.5.16 stack, so going through v0.5.17 halves the upstream drift (736 commits instead of 1317) and carries forward resolutions a green CI already validated. Production gained no commits in the meantime, so nothing is skipped. Rollback points: sglang-miles-v0.5.16-final (production) and sglang-miles-v0.5.17.

Only 9 of 35 picks conflicted. Where v0.5.18 has since removed machinery that the v0.5.17 resolutions leaned on, the newer shape wins and our behaviour was re-expressed on top of it:

  • tokenizer_manager: v0.5.18 dropped the parallel-sampling child_rid_to_logical_rid / lifecycle_id / _remove_req_state machinery. Our abort-by-prefix gate, pre-dispatch flagging and LoRA lease release were rebuilt on v0.5.18's simpler form; the dispatch paths keep upstream's new CUDA-VMM prepare/cancel structure with our abort gate ahead of the reservation.
  • forward_batch_info: v0.5.18 split mrope into decode/extend helpers and already forces the text-only path on rl_on_policy_target — the same intent as ours. Took its structure and added our contract switch at both decision points, since true_on_policy_contract is a separate switch from rl_on_policy_target.
  • deepseek_v2: v0.5.18 moved the shared-expert fusion decision into the loader plus a shared_experts_fusion_disable_reason classmethod that carries our SBO/TBO and DeepEP reasons, so determine_num_fused_shared_experts is upstream's no-arg version.
  • compile_utils: kept upstream's envs.SGLANG_DG_CACHE_DIR default and layered our SGLANG_DG_CACHE_DIR_PER_PROCESS suffix on it (colocated RL engines would otherwise race on one JIT cache).
  • glm4_moe, dsa_indexer: each side adds a distinct method, both kept.

Post-pick repairs: restored _post_load_weights (the pick dropped the definition but kept its call sites) and get_exec in glm4_moe_nextn; a mangled determine_num_fused_shared_experts remnant was replaced with upstream's. ruff F821 is zero across every file the stack touches, and sys.exit(pytest.main(...)) now matches the repo convention in the parallelism-context test.

miles side

  • docker/Dockerfile: SGLANG_IMAGE_TAG=v0.5.18, SGLANG_BRANCH=sglang-miles-v0.5.18 (switched to the stable sglang-miles name at merge time).
  • docker/build.py: release variant pinned to v0.5.18-cu129.
  • The cu12 pyproject.toml rewrite block was re-checked against v0.5.18's upstream Dockerfile — the three sed patterns and the three markers are unchanged, so it still applies as-is.

Rust files are untouched; local rustfmt/clippy hooks fail only for want of cargo on this machine.

@claude claude 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.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@yueming-yuan yueming-yuan added run-ci-image bypass-fastfail Disable CI fast-fail: run all stages and all tests to surface every failure labels Aug 22, 2026
v0.5.18 replaced the assert in encoding_dsv4 with a raise and introduced effort
profiles, so a rejected effort now surfaces as ValueError rather than
AssertionError. The test asserts the dependency's contract, so it follows it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bypass-fastfail Disable CI fast-fail: run all stages and all tests to surface every failure run-ci-image

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant