Skip to content

[AMD][AgentX] GLM-5.2 FP4 MI355X sglang-disagg HiCache MTP / [AMD][AgentX] MI355X 上 GLM-5.2 FP4 分离式 HiCache MTP - #2679

Draft
charxwu wants to merge 8 commits into
mainfrom
amd/glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache
Draft

[AMD][AgentX] GLM-5.2 FP4 MI355X sglang-disagg HiCache MTP / [AMD][AgentX] MI355X 上 GLM-5.2 FP4 分离式 HiCache MTP#2679
charxwu wants to merge 8 commits into
mainfrom
amd/glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache

Conversation

@charxwu

@charxwu charxwu commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache to amd-master.yaml: GLM-5.2 MXFP4 on MI355X, 1P1D TP8 disaggregated SGLang (sglang-disagg, MoRI P2P), agentic-coding, conc-list [2, 4, 8, 16, 32], DRAM HiCache KV offload, built-in MTP (spec-decoding: mtp, DECODE_MTP_SIZE=2).
  • Add launcher benchmarks/multi_node/agentic/glm5.2_fp4_mi355x_sglang-disagg.sh (CI-style sibling of the DSv4 MI355X disagg recipe): env-driven submit via submit.sh, HiCache defaults, MTP gate + simulated acceptance for non-eval throughput.
  • Extend AMD multi-node utils for this path:
    • models.yaml GLM-5.2-MXFP4-AgentX: EAGLE mtp_flags (--speculative-algorithm EAGLE --speculative-eagle-topk 1); decode mem_fraction_static 0.85.
    • env.sh: ionic MSN-safe MoRI IO QP tuning scoped to GLM-5.2-MXFP4 + DISAGG=true.
    • job.slurm / recipe: default model root /it-share/data (mia1*); forward IBDEVICES / MORI_RDMA_TC into hicache_mc.env.
  • Pin validated HiCache L2 tunables in master-config prefill additional-settings: HICACHE_RATIO=1.5, write_through_selective, page_first_direct, direct IO, page_size=1.
  • MTP throughput path uses synthetic acceptance from golden_al_distribution/glm5.2_mtp.yaml (thinking_on, num_speculative_tokens=2 → AL 2.50: SGLANG_SIMULATE_ACC_LEN=2.50); EVAL_ONLY=true runs use real draft-model MTP.
  • Append perf-changelog.yaml entry for glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache.

Image: lmsysorg/sglang-rocm:v0.5.16-rocm720-mi35x-20260729
Model: amd/GLM-5.2-MXFP4
KV offload: SGLang HiCache (DRAM, kv-offload-backend: hicache, dram-utilization: 0.80)
Topology: 1P1D TP8 / EP1, MoRI disagg transfer; MTP size 2 (EAGLE)

Test plan

  • Label full-sweep-fail-fast (or sweep-enabled for trim-conc); green sweep on this PR
  • Confirm conc ladder [2, 4, 8, 16, 32] with HiCache + MTP; eval path uses real MTP when enabled
  • /reuse-sweep-run after full green with evals

Related


中文说明

  • amd-master.yaml 新增 glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache:MI355X 上 GLM-5.2 MXFP4 的 1P1D TP8 分离式 SGLang(sglang-disagg,MoRI P2P),agentic-coding 场景,conc-list 为 [2, 4, 8, 16, 32],DRAM HiCache KV 卸载,内置 MTP(spec-decoding: mtpDECODE_MTP_SIZE=2)。
  • 新增启动脚本 benchmarks/multi_node/agentic/glm5.2_fp4_mi355x_sglang-disagg.sh(对标 DSv4 MI355X 分离式 recipe 的 CI 入口):由环境变量驱动、经 submit.sh 提交;含 HiCache 默认参数,以及 MTP 门控与非 eval 吞吐的模拟接受长度。
  • 扩展 AMD 多节点工具链:
    • models.yamlGLM-5.2-MXFP4-AgentX:补充 EAGLE mtp_flags--speculative-algorithm EAGLE --speculative-eagle-topk 1);decode mem_fraction_static 调至 0.85。
    • env.sh:仅在 GLM-5.2-MXFP4DISAGG=true 时启用 ionic MSN-safe MoRI IO QP 调参。
    • job.slurm / recipe:默认模型根目录 /it-share/data(mia1*);经 hicache_mc.env 向容器转发 IBDEVICES / MORI_RDMA_TC
  • 在 master config 的 prefill additional-settings 中固化经验证的 HiCache L2 参数:HICACHE_RATIO=1.5write_through_selectivepage_first_directdirect IO、page_size=1
  • 吞吐路径使用 golden_al_distribution/glm5.2_mtp.yaml 的合成接受长度(thinking_onnum_speculative_tokens=2 → AL 2.50:SGLANG_SIMULATE_ACC_LEN=2.50);EVAL_ONLY=true 时走真实 draft-model MTP。
  • perf-changelog.yaml 末尾追加 glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache 条目。

镜像: lmsysorg/sglang-rocm:v0.5.16-rocm720-mi35x-20260729
模型: amd/GLM-5.2-MXFP4
KV 卸载: SGLang HiCache(DRAM,kv-offload-backend: hicachedram-utilization: 0.80
拓扑: 1P1D TP8 / EP1,MoRI 分离式传输;MTP size 2(EAGLE)

测试计划

  • 打上 full-sweep-fail-fast(或 sweep-enabled 做 trim-conc);在本 PR 上跑出绿 sweep
  • 确认 conc 阶梯 [2, 4, 8, 16, 32] 在 HiCache + MTP 下通过;启用 eval 时走真实 MTP
  • 全绿且 evals 通过后评论 /reuse-sweep-run

相关

charxwu and others added 7 commits August 20, 2026 00:48
…er config

Introduce 1P1D TP8 disaggregated agentic bring-up for amd/GLM-5.2-MXFP4 on
MI355X (models.yaml AgentX entry, launcher recipe, amd-master hicache sweep).
Scope ionic MSN-safe MoRI IO QP tuning to GLM-5.2-MXFP4 with DISAGG=true in
env.sh; keep HiCache on ratio for GLM-5.2 DSA pools. Pin sglang-rocm
v0.5.16-rocm720-mi35x-20260729; improve SLURM_REUSE nodelist resolution.

中文:新增 GLM-5.2 MXFP4 MI355X 分离式 SGLang agentic 启动脚本与 amd-master 配置(1P1D TP8、HiCache);在 env.sh 中仅对 GLM-5.2-MXFP4 且 DISAGG 开启时应用 MoRI IO ionic 调参;HiCache 对 GLM-5.2 使用 ratio  sizing;镜像 v0.5.16;并改进 SLURM 复用作业的节点列表解析。

Co-authored-by: Cursor <cursoragent@cursor.com>
Document validated 1P1D L2 settings (ratio 1.5, selective write-through,
page_first_direct) in glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache
prefill additional-settings for sweep/CI parity with cluster bring-up.

中文:在 amd-master 的 GLM-5.2 分离式 agentic HiCache 配置中写入经 1P1D
验证的 L2 参数(ratio 1.5、write_through_selective、page_first_direct 等),
便于扫描与 CI 和集群 bring-up 一致。

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

Set MI355X amd-aim MODEL_PATH/MODEL_DIR to /it-share/hf_cache in the GLM
sglang-disagg recipe so job.slurm does not fall back to /it-share/data.
Write IBDEVICES and MORI_RDMA_TC into hicache_mc.env for sglang containers.

中文:在 GLM 分离式 recipe 中默认使用 /it-share/hf_cache,避免 job.slurm 误用
/it-share/data;并通过 hicache_mc.env 向容器传递 IBDEVICES 与 MORI_RDMA_TC。

Co-authored-by: Cursor <cursoragent@cursor.com>
Use GLM52_MODEL_ROOT (default /it-share/hf_cache) for MODEL_PATH so
launch_mi355x-amds.sh cannot override with /it-share/data via ${VAR:-}.

中文:GLM recipe 通过 GLM52_MODEL_ROOT 固定权重根目录(默认 /it-share/hf_cache),
避免 CI launcher 已设置的 MODEL_PATH=/it-share/data 被 ${MODEL_PATH:-} 保留而导致找错路径。

Co-authored-by: Cursor <cursoragent@cursor.com>
Align GLM disagg recipe and amd-master comments with launch_mi355x-amds.sh
and job.slurm mia1* MODEL_DIR; remove hf_cache / GLM52_MODEL_ROOT override.

中文:GLM 分离式 recipe 默认使用 /it-share/data,与 CI launcher 及 job.slurm 一致;
不再强制 /it-share/hf_cache。

Co-authored-by: Cursor <cursoragent@cursor.com>
Enable built-in MTP/EAGLE on the MI355X GLM-5.2 disagg HiCache agentic path:
amd-master spec-decoding mtp with DECODE_MTP_SIZE=2, EAGLE mtp_flags and decode
mem_fraction_static 0.85 in models.yaml, and agentic script MTP block with
simulated acceptance for non-eval throughput runs.

中文:为 MI355X GLM-5.2 分离式 HiCache AgentX 配置启用内置 MTP/EAGLE 投机解码:在 amd-master 中改为 mtp 与 DECODE_MTP_SIZE=2,在 models.yaml 中补充 EAGLE mtp_flags 并将 decode 静态显存比例调至 0.85,在 agentic 脚本中增加 MTP 逻辑(非 eval 吞吐跑使用模拟接受长度)。

Co-authored-by: Cursor <cursoragent@cursor.com>
中文:在 perf-changelog.yaml 末尾追加 glm5.2-fp4-mi355x-sglang-disagg-agentic-hicache 条目。

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

Copy link
Copy Markdown
Contributor

Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs


感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

…e pr-link

中文:将 perf-changelog.yaml 中该条目的 pr-link 填为 #2679。

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant