Skip to content

feat(dsv4): CP ownership and PP2 stage boundary (item 41, partial) - #634

Draft
inaniloquentee wants to merge 23 commits into
dsv4-rocmfrom
feat/dsv4-cp-ownership-bi
Draft

inaniloquentee wants to merge 23 commits into
dsv4-rocmfrom
feat/dsv4-cp-ownership-bi

Conversation

@inaniloquentee

Copy link
Copy Markdown
Collaborator

KLR #81 item 41 incremental implementation on latest main (8588158), targeting dsv4-rocm.

  • Seals contiguous CP global positions and C128 row ownership by global end position. Reuses existing ROCm fixed-tree AllGather/AllReduce for canonical KV and dKV exchange, including empty ranks.
  • Seals global layer-to-stage map, activation layout and microbatch/model version for PP2; delegates production P2P transfer to Megatron Core P2PCommunicator.
  • 84 passed, 6 skipped in DSV4, distributed collective and Megatron CP regression; Ruff clean. Two-rank Gloo CP and PP2 protocol tests, one-rank MI300X RCCL CP data test.

Draft / not item-41 signoff: This contiguous CP layout is distinct from Megatron zigzag. Verl/VIME model integration, training CP vs rollout DCP, cross-TP/CP dKV, real two-GPU Megatron PP2, PP4, and two-node validation remain. The ljj container exposes one GPU. See docs/contracts/dsv4-parallel-boundaries.md.

fangfangssj and others added 23 commits October 24, 2026 08:44
Signed-off-by: fangfangssj <1135470306@qq.com>
Signed-off-by: Ziyi <ziyizhao0723@gmail.com>
ws1-gtest-gpu and ws1-chain-gpu fail at "Configure runpodctl" before any
test runs. They install releases/latest (v2.14.0 since 2026-09-10), whose
deprecated `config --apiKey` aborts with
`Config File ".runpod.yaml" Not Found` when it is the first runpodctl
call on a fresh HOME. It only succeeds once an earlier call has created
~/.runpod/config.toml, which is why gpu-ci, whose install step happens to
run `runpodctl version` first, got past the same command.

Drop the config step in all three workflows. runpodctl v2 reads
RUNPOD_API_KEY from the environment, and every step that runs
ci/run_gpu_ci.sh already exports it, including the cleanup trap that
calls `pod remove`. Verified for v2.9.0 inside `unshare -rn`, from a
fresh HOME after `runpodctl version`: without the variable `pod list`
fails locally with no_credentials, with RUNPOD_API_KEY=dummy it gets
past the credential check to a network_error, and config.toml keeps
`apikey = ''` throughout. v2.14.0 behaves the same.

Pin the download to v2.9.0, the version gpu-ci run 31455127310 exercised
end to end (pod create with sold-out fallback, pod id parsing, pod get
polling, SSH, cleanup), and verify it with sha256sum -c against the
runpodctl-linux-amd64 line of checksums_2.9.0_sha256.txt
(06e6f54957db79d5cd9f1909a7f1d365076826751ba2f5df65d75dde43a64148),
which matches GitHub's asset digest.

Signed-off-by: Wenbo Ji <36562829+fusheng-ji@users.noreply.github.com>
fix(ci): pin runpodctl v2.9.0 and drop the deprecated config step (RUNPOD_API_KEY auth)
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
ci: remove obsolete RunPod WS1-chain-GPU workflow
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
ci: add RL-Kernel-specific automatic OCR review
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: maxiaosong1124 <maxiaosong7890@outlook.com>
Signed-off-by: lamentropetion <3051000145@qq.com>
docs(rocm): make the vLLM companion base reproducible from upstream
[Ascend] Fix deterministic attention backward compilation
Signed-off-by: ljj <ljj@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

This review ran on the open-source allowance, not this organization's plan, because the pull request author doesn't have an assigned seat. Waiting won't change this — ask an organization admin to assign them a seat, or add seats in Billing if every seat is already assigned, then retry.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e6814fb6-25b3-47a7-86cb-0f709525ac57
Commits

Reviewing files that changed from the base of the PR and between 5ba769f and cb0851d.

Files selected for processing: 19
  • .github/CODEOWNERS
  • .github/workflows/gpu-ci.yml
  • .github/workflows/ocr-review.yml
  • .github/workflows/ws1-chain-gpu.yml
  • .github/workflows/ws1-gtest-gpu.yml
  • .opencodereview/rule.json
  • csrc/ascend/attention/deterministic_attention_backward_ascend.asc
  • docs/.nav.yml
  • docs/contracts/dsv4-parallel-boundaries.md
  • docs/contributing/README.md
  • docs/contributing/ocr-review.md
  • docs/usage/qwen3-vime-consistency.md
  • rl_engine/integrations/orchestrators/vime/patches/rocm_attention/README.md
  • rl_engine/integrations/orchestrators/vime/patches/rocm_attention/sources.json
  • rl_engine/integrations/orchestrators/vime/patches/rocm_attention/vllm-base.patch
  • rl_engine/models/deepseek_v4/cp_ownership.py
  • rl_engine/models/deepseek_v4/pp_boundary.py
  • tests/models/deepseek_v4/test_cp_ownership.py
  • tests/models/deepseek_v4/test_pp_boundary.py
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@inaniloquentee

Copy link
Copy Markdown
Collaborator Author

Cross-PR integration check on MI300X (ljj, one visible GPU), from main 8588158 with the current heads of #630–#634 merged into a temporary worktree (62ff6d5). No merge conflicts.

With the six hash-pinned mLite/aiter source files provisioned and TRITON_F32_DEFAULT=ieee, ran:

PYTHONPATH=. pytest -q tests/models/deepseek_v4 tests/distributed/collectives tests/integrations/engines/train/megatron/test_canonical_cp_gradients.py --tb=short

Result: 1064 passed, 6 skipped in 224.05s. Initial run without pinned sources failed on missing megatron.lite; that environment mistake was corrected before the clean run. This validates composition of current opt-in modules, not full DSV4 model behavior, multi-GPU ROCm, PP2/PP4, verl/vime, or two-node acceptance.

@inaniloquentee

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

This branch has not been deployed

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

Labels

DSv4 platform: rocm Specific tasks specific to AMD graphics cards (such as CK, bpreshuffle/FA)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants