Skip to content

[WIP][AMD][AgentX] Add Qwen3.8 FP8 MI355X two-node vLLM - #2724

Open
haic0 wants to merge 8 commits into
SemiAnalysisAI:mainfrom
haic0:rocm/qwen3.8-2.4T-FP8-agentic
Open

[WIP][AMD][AgentX] Add Qwen3.8 FP8 MI355X two-node vLLM#2724
haic0 wants to merge 8 commits into
SemiAnalysisAI:mainfrom
haic0:rocm/qwen3.8-2.4T-FP8-agentic

Conversation

@haic0

@haic0 haic0 commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add Qwen3.8-2.4T-A95B FP8 AgentX concurrency-1 for two MI355X nodes
  • launch vLLM with a two-node Slurm/Docker/Ray TP8/PP2 runtime and verify matching model snapshots
  • route only the generated multi-node AgentX matrix through the MI355X runner and existing E2E workflow

Test plan

  • Validate the append-only performance changelog against current main
  • Assert changelog processing emits only multi_node.agentic
  • Generate the exact Qwen3.8 AgentX concurrency-1 E2E matrix
  • Run Bash syntax and Python compilation checks for the runtime scripts
  • Run matrix and changelog tests (350 passed)
  • Complete AgentX c1/c4/c8 smokes with zero request errors
  • Run the trusted online AgentX-only E2E workflow

Note

Medium Risk
Introduces a new multi-node Slurm/Ray/vLLM orchestration path and cluster prerequisites (staged snapshots, Docker image, eno0 networking); CI workflow matrix filtering changes could affect when eval jobs run.

Overview
Adds Qwen3.8-2.4T-A95B FP8 agentic-coding benchmarks on two MI355X nodes via a new vllm-multi-nodes path: Slurm exclusive allocation, Docker on each node, Ray cluster (16 GPUs), and vLLM serve with TP8/PP2 and the vllm/vllm-openai-rocm:qwen38 image.

The new runtime under benchmarks/multi_node/qwen3.8_vllm_multi_nodes/ handles submission, per-node control, AgentX client wiring through agentic_srt.sh, and pre-flight checks that matching Hugging Face snapshots exist on both nodes (snapshot_manifest.py / verify_model_staging.sh). launch_mi355x-amds.sh sources qwen3.8_env.sh for staged model paths under /models instead of /it-share/data, and routes vllm-multi-nodes into the multi-node agentic recipe layout.

CI/config: amd-master.yaml defines qwen3.8-fp8-mi355x-vllm-multi-nodes-agentic (conc 1); perf-changelog.yaml documents it; MODELS.md records Qwen3.8 as added 2026-08-14. E2E workflow adds an eval-config matrix slice for non-agentic run-eval jobs and tightens several eval job if guards so empty config strings do not spawn matrix jobs.

Reviewed by Cursor Bugbot for commit bcfcbe7. Bugbot is set up for automated code reviews on this repo. Configure here.

haic0 and others added 3 commits August 14, 2026 14:27
新增固定序列与 AgentX 的双节点 TP8/PP2 CI 路径,并验证 Slurm 节点上的模型快照一致性。

Co-authored-by: Cursor <cursoragent@cursor.com>
Run the shared agentic script via Bash so multinode sweeps do not depend on its executable bit.

Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve the append-only changelog while making the branch eligible for current CI workflows.

Co-authored-by: Cursor <cursoragent@cursor.com>

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

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

Replace temporary PR placeholders so the changelog and support matrix reference the review that introduces the configuration.

Co-authored-by: Cursor <cursoragent@cursor.com>
@haic0 haic0 added agentx-fast Run AgentX throughput with 1 warmup request per lane and a 20-minute profile; not reusable sweep-enabled labels Aug 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision dda24bc99f548bb0250e579143253aa8b003b4a3.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 dda24bc99f548bb0250e579143253aa8b003b4a3 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

Remove the fixed 8k/1k matrix and client path so CI selects only the validated multi-node AgentX configuration.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision f07901221dc4c4cbd4c315353ab9b6089cda9aed.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 f07901221dc4c4cbd4c315353ab9b6089cda9aed 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

@haic0 haic0 changed the title [AMD][AgentX] Add Qwen3.8 FP8 MI355X two-node vLLM [WIP][AMD][AgentX] Add Qwen3.8 FP8 MI355X two-node vLLM Aug 25, 2026
Make Qwen3.8 MODEL_PATH overridable via QWEN38_MODEL_PATH, add cluster
staging verification/docs, restore the missing EVALS matrix bucket, and
guard empty eval-config outputs so agentic-only sweeps skip eval jobs cleanly.

Co-authored-by: Cursor <cursoragent@cursor.com>
@haic0

haic0 commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator Author

CI hardening update (b0f0729)

Applied follow-up fixes from the failed e2e run analysis:

  1. Configurable model pathQWEN38_MODEL_PATH / shared qwen3.8_env.sh (default remains /models/Qwen/Qwen3.8-2.4T-A95B-FP8).
  2. Staging verification — new verify_model_staging.sh + runtime README.md.
  3. Clearer preflight errors — snapshot check failures now point at the staging helper.
  4. Workflow fix — restored missing EVALS matrix bucket and guarded empty eval-config outputs.

Blocker before re-running trusted sweep

The last run failed because the model directory was missing on assigned nodes:

model directory does not exist: /models/Qwen/Qwen3.8-2.4T-A95B-FP8

Please stage identical snapshots on all MI355X Slurm nodes, then verify:

bash benchmarks/multi_node/qwen3.8_vllm_multi_nodes/verify_model_staging.sh --local
bash benchmarks/multi_node/qwen3.8_vllm_multi_nodes/verify_model_staging.sh --nodes NODE1,NODE2

After staging is confirmed, remove and re-add sweep-enabled to approve the new SHA (b0f0729) for a trusted sweep rerun.

Comment thread runners/launch_mi355x-amds.sh
Resolve perf-changelog.yaml append-only conflict by keeping main entries
and placing the Qwen3.8 AgentX changelog block at the end.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision 4b946212b5d7598951ff79bd18c517df5f1d2ba5.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 4b946212b5d7598951ff79bd18c517df5f1d2ba5 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4b94621. Configure here.

echo "ERROR: Qwen3.8 snapshots differ between ${nodes[0]} and ${nodes[1]}" >&2
echo " ${nodes[0]}: ${manifests[0]}" >&2
echo " ${nodes[1]}: ${manifests[1]}" >&2
exit 1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Staging check always mismatches

Medium Severity

run_manifest prints a labeled status line and the digest on stdout, and --nodes captures that whole stream for comparison. Different host labels make the captured strings unequal even when digests match, so the recommended two-node staging check always reports a mismatch.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4b94621. Configure here.

Source qwen3.8_env.sh before the generic multinode MODEL_PATH default and
always export the staged snapshot root from QWEN38_MODEL_PATH.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

Dispatched trusted sweep run for approved external revision bcfcbe7f417bb7bab473c484218881cc1f745dea.
New commits are not trusted automatically; remove and re-add the primary sweep label to approve a new SHA.

已为获批的外部提交 bcfcbe7f417bb7bab473c484218881cc1f745dea 调度trusted sweep run
后续新提交不会自动获得信任;如需批准新的 SHA,请移除并重新添加主扫描标签。

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

Labels

agentx-fast Run AgentX throughput with 1 warmup request per lane and a 20-minute profile; not reusable sweep-enabled

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant