[CI/Build] Add self-hosted MI350X ROCm external PD tier - #3338
Conversation
f59afd9 to
c59e3d6
Compare
c59e3d6 to
6e26005
Compare
|
Hi @andyluo7 Is this PR ready to merge? |
|
@staryxchen waiting for Wenjie's confirm. |
Hi @andyluo7, thanks for the work on this. I'd like to see this PR merged — the MI350X external-PD tier fills a real gap in our CI coverage for the ROCm path. Separately, since you already added the ROCm release pipeline in #3184: could you help push the mooncake-transfer-engine-rocm wheel to PyPI as well? CUDA/EFA/MUSA/NPU already have their variants published there, but the pipeline hasn't been triggered yet. |
Aionw
left a comment
There was a problem hiding this comment.
Hello, Stary. I've been validating this PR on a separate branch, where most of the issues have already been fixed. I'll port those changes back to this PR once the vLLM-related issue is resolved.
Description
Add a trusted self-hosted ROCm external prefill/decode CI tier for the two-node MI350X cluster.
This revision replaces the previously staged T-One controller because T-One does not provide AMD GPUs. The change:
workflow_dispatch, a push tomain, or the maintainer-controlledrun-e2e-cipull_request_targetpath;ionic_0-ionic_3, selects GID index 1, and forces HCA transport so a missing RDMA path cannot silently fall back to TCP;The host profile is documented in
scripts/tone_tests/rocm_runner.env.example. No T-One credential or long-lived GitHub token is required by the ROCm job.The organization runner
mooncake-rocm-mi350x-controlleris registered with labelsamd,rocm,gfx950, andmooncake-pd, but its service is intentionally disabled. Before activation, an organization administrator must place it in a runner group restricted tokvcache-ai/Mooncakeand the trusted CI/E2E workflows. This PR remains a draft until a trusted end-to-end run and burn-in complete.Module
mooncake-transfer-engine)mooncake-store)mooncake-ep)mooncake-pg)mooncake-integration)mooncake-p2p-store)mooncake-wheel)mooncake-common)Type of Change
How Has This Been Tested?
Static validation:
The targeted Actionlint, YAML parser, shell syntax, codespell, pre-commit, local-wheel input, and whitespace checks pass. The skipped pre-commit hooks would report unrelated pre-existing text or normalize legacy shell files outside this change.
Host validation:
mooncake-ciuser;ibv_devinfoopensionic_0throughionic_3inside the least-privilege controller container; andThe two-node Mooncake/SGLang/vLLM end-to-end Actions job remains pending the trusted upstream activation described above.
Test results:
Checklist
./scripts/code_format.sh(not applicable; no C/C++ files changed)pre-commit run --all-filesand all hooks pass (targeted relevant hooks pass)AI Assistance Disclosure
OpenAI Codex helped analyze the CUDA/ROCm CI gap, adapt the integration scripts and workflow for a self-hosted MI350X controller/worker pair, validate resource isolation, and prepare this draft. The human submitter will review and defend every changed line before the PR is marked ready.