Skip to content

perf: use Gluon for GLM-5.2 TP8 AgentX on 1111 daily / perf: GLM-5.2 TP8 AgentX 使用 Gluon 和 1111 daily 镜像 - #4748

Open
jiejingzhangamd wants to merge 5 commits into
mainfrom
dev/jiejing/glm52-gluon-tp8-daily-1102
Open

jiejingzhangamd wants to merge 5 commits into
mainfrom
dev/jiejing/glm52-gluon-tp8-daily-1102

Conversation

@jiejingzhangamd

@jiejingzhangamd jiejingzhangamd commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Use the 20261111 ROCm 7.2.0 MI35x daily image and Gluon target MoE for GLM-5.2 MXFP4 AgentX MTP at TP8/EP1, concurrency 1 and 2, building on merged #4064. The TP8/EP1 concurrency 4 point is dropped; concurrency 4 runs on the TP4/EP4 HiCache arm, which delivers more throughput per GPU.

The two TP8 variants set moe-runner-backend: gluon and speculative-moe-runner-backend: auto. The latter preserves the checkpoint's BF16 NextN draft experts: InferenceX's serve draft as it ships rule prohibits the draft requantization that inheriting Gluon would otherwise perform. The existing EAGLE settings, FP8 KV cache, admission limits, and graph sizes are retained.

The shared config image becomes lmsysorg/sglang-rocm:v0.5.23-rocm720-mi35x-20261111 (official build; published digest sha256:747da197af01efff6c5dbd1a779dbd24bbb9e22ded91797bbacab0ff175bb55c). TP4/EP4 HiCache and DCP4 retain their recipe settings. Because the image changes for the whole config, the changelog schedules all 12 throughput points. The all-evals sweep label expands accuracy coverage to both Gluon points as well as the existing TP4 points; default eval selection would cover only TP4/DCP4 C48. The planner deduplicates the two TP4 C16 evals, yielding 11 eval jobs, including both Gluon points.

中文

基于已合并的 #4064,使用 20261111 ROCm 7.2.0 MI35x daily image,并将 GLM-5.2 MXFP4 AgentX MTP 的 TP8/EP1、并发 1、2 两个点的 target MoE 切换为 Gluon。去掉 TP8/EP1 并发 4 点,并发 4 由 TP4/EP4 HiCache arm 承担,单卡吞吐更高。

同时显式设置 speculative-moe-runner-backend: auto,保留 checkpoint 中 BF16 NextN draft 专家的原始精度。InferenceX 的 serve draft as it ships 规则禁止 draft 继承 Gluon 后发生的重新量化。EAGLE、FP8 KV cache、请求上限和 graph 大小保持原配置。

TP4/EP4 HiCache 与 DCP4 的 recipe 设置保持不变。由于镜像是配置组共用字段,changelog 安排重跑全部 12 个吞吐点,并通过 all-evals sweep 标签扩展准确率评测,确保 Gluon 点也被覆盖;默认评测只会覆盖 TP4/DCP4 C48。规划器会对两个 TP4 C16 评测去重,最终生成 11 个评测任务,包括两个 Gluon 点。

AI model disclosure

AI assistance was used to prepare the configuration, recipe changes, and validation. The exact underlying model/version was not exposed and could not be verified.

Updated daily image includes SGLang #48397 (image build-version source 34dfaccc57, digest sha256:747da197af01efff6c5dbd1a779dbd24bbb9e22ded91797bbacab0ff175bb55c). TP8/EP1 concurrency 1 and 2 now use chunked-prefill-size: 32768 instead of 16384. This configuration update does not claim new benchmark or accuracy results.

Cookbook

The validated MI355X AgentX recipes are now documented in the SGLang GLM-5.2 Cookbook. The documentation update was merged in sgl-project/sglang#50456.

中文

本 PR 验证的 MI355X AgentX 配方现已更新到 SGLang GLM-5.2 Cookbook,对应文档更新已通过 sgl-project/sglang#50456 合并。

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Thanks for the contribution!

  • Review: If this PR changes files owned by someone other than a repository admin or @SemiAnalysisAI/core, ask one eligible CODEOWNER to complete the latest PR_REVIEW_CHECKLIST.md before contacting a core maintainer on Slack. Follow the template exactly, including As a PR reviewer and CODEOWNER, I have reviewed this and have, so sign-off verification triggers.
  • PR verification: Sweeps run only when the PR appends an inferencex-e2e/perf-changelog.yaml entry and carries exactly one primary label: full-sweep-fail-fast (strongly recommended; canary plus per-matrix fail-fast), full-sweep-enabled (canary; matrix jobs continue after a failure), or non-canary-full-sweep-enabled (no canary or fail-fast). The modifiers all-evals, evals-only, and agentx-fast require a primary label. On fork PRs, a maintainer applies the label. See sweep labels and reuse.
  • After merging: PR authors must ensure all GitHub Actions jobs pass. Transient failures often pass on rerun; see how to rerun failed jobs.
中文

感谢你的贡献!

  • **审阅:**如果 PR 修改的文件归属于仓库管理员及 @SemiAnalysisAI/core 之外的 CODEOWNER,请先联系一位有资格的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,再通过 Slack 联系核心维护者。必须严格遵循模板,并保留 As a PR reviewer and CODEOWNER, I have reviewed this and have,才能触发签核验证。
  • **PR 验证:**只有当 PR 在 inferencex-e2e/perf-changelog.yaml 末尾追加了条目,并且恰好带有一个主标签时,才会运行扫描:full-sweep-fail-fast(强烈推荐;canary 加逐矩阵 fail-fast)、full-sweep-enabled(有 canary;矩阵任务在失败后继续运行)或 non-canary-full-sweep-enabled(无 canary,也无 fail-fast)。修饰标签 all-evals、evals-only 和 agentx-fast 必须与主标签一起使用。fork PR 的标签由维护者添加。参见扫描标签与复用。
  • **合并后:**PR 作者必须确保所有 GitHub Actions 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

@jiejingzhangamd jiejingzhangamd added all-evals Expand eval selection to every fixed-sequence config full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) labels Nov 2, 2026
Comment thread inferencex-e2e/perf-changelog.yaml Outdated

- config-keys:
- glm5.2-fp4-mi355x-sglang-agentic-mtp
all-evals: true

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.

🔴 After merge, the changelog run for this image bump and Gluon change produces no new throughput numbers; it schedules only evals. Setting all-evals: true on a changelog entry implies evals-only (EVALS.md:64-65). infx/matrix/plan.py:429 sets suppress_throughput whenever entry.all_evals is true. The PR says all 13 throughput points get rescheduled; the code schedules none. Fix: drop all-evals: true so the 13 points run. If the Gluon TP8 points need eval coverage on the PR run, use the all-evals PR label, which adds evals and keeps throughput (EVALS.md:66).

Why this was flagged

The new tail entry sets all-evals: true for glm5.2-fp4-mi355x-sglang-agentic-mtp (inferencex-e2e/perf-changelog.yaml:11859). In infx/matrix/plan.py:428-429, suppress_throughput = evals_only or entry.evals_only or entry.all_evals, so the if not suppress_throughput: block that builds benchmark rows is skipped for this key. Only eval rows are emitted, with mode "all". infx/tests/matrix/test_process_changelog.py:563-578 pins this: an entry with all-evals: True and no CLI flags gives mode "all" and expected_benchmarks == []. The image change (amd-master.yaml:799) and the Gluon TP8 overrides (agentic.yaml:223-224, 239-240, 255-256) therefore never get throughput results, even though the PR text says all 13 points are rescheduled. The published curve keeps the v0.5.22 numbers while the config points at v0.5.23.

Verification: In inferencex-e2e/infx/matrix/plan.py:429, suppress_throughput = evals_only or entry.evals_only or entry.all_evals, so the if not suppress_throughput: block at 431-449 never calls generate_current(..., "none", ...) for this key. Only the eval rows from 454-464 are emitted, in mode "all" (line 428/458). plan.py is not changed by this PR, so this is the current behavior.

Comment thread inferencex-e2e/perf-changelog.yaml Outdated
- "Use the SGLang ROCm 7.2.0 MI35x 20261102 daily image for GLM-5.2 MXFP4 MI355X AgentX MTP."
- "Use Gluon target MoE only for TP8/EP1 at concurrency 1, 2, and 4; preserve the checkpoint BF16 draft experts with the auto speculative MoE backend."
- "Keep TP4/EP4 HiCache and DCP4 settings unchanged and evaluate every point so the Gluon path receives accuracy coverage."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PLACEHOLDER

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.

🔴 The PR's changelog check will fail, and the merge helper will refuse to rewrite the link, so this entry cannot run or merge as written. The new entry's pr-link ends in pull/PLACEHOLDER. validate_added_pr_link accepts only the exact PR URL or an entry in PR_LINK_PLACEHOLDERS, which holds only XXX and .../pull/XXX. Fix: set pr-link to the real URL https://github.com/SemiAnalysisAI/InferenceX/pull/<this PR number>, or to https://github.com/SemiAnalysisAI/InferenceX/pull/XXX so the merge tooling fills it in.

Why this was flagged

The appended block at inferencex-e2e/perf-changelog.yaml:11864 sets pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PLACEHOLDER. On PR runs, inferencex-e2e/infx/workflows/validate_perf_changelog.py:113 raises ChangelogValidationError ("new PR entry must use ... or an XXX placeholder") for any link that is neither the expected PR URL nor in PR_LINK_PLACEHOLDERS (lines 21-24: "XXX" and "https://github.com/SemiAnalysisAI/InferenceX/pull/XXX"). On main, line 108 requires CANONICAL_PR_LINK (pull/\d+), which also rejects it. inferencex-e2e/infx/workflows/prepare_perf_changelog_merge.py:108 likewise raises "appended entry ... has unexpected pr-link" and will not substitute the real link. So the changelog validation gate fails, and the GLM-5.2 sweep this entry is meant to trigger cannot be accepted or merged until the link is fixed. AGENTS.md also asks for the real PR URL here.

Verification: The entry at inferencex-e2e/perf-changelog.yaml:11864 sets pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PLACEHOLDER. PR_LINK_PLACEHOLDERS in validate_perf_changelog.py:21-24 holds only "XXX" and ".../pull/XXX". So the supported reuse merge path aborts, and the link is never rewritten. The PR-run CI check does not fail.

@jiejingzhangamd jiejingzhangamd added agentx AgentX benchmarks, recipes, and infrastructure AMD labels Nov 2, 2026
@jiejingzhangamd

Copy link
Copy Markdown
Collaborator Author

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

@jiejingzhangamd jiejingzhangamd added full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures and removed full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) labels Nov 3, 2026
@jiejingzhangamd jiejingzhangamd changed the title perf: use Gluon for GLM-5.2 TP8 AgentX on 1102 daily / perf: GLM-5.2 TP8 AgentX 使用 Gluon 和 1102 daily 镜像 perf: use Gluon for GLM-5.2 TP8 AgentX on 1111 daily / perf: GLM-5.2 TP8 AgentX 使用 Gluon 和 1111 daily 镜像 Nov 11, 2026
Jiejing Zhang and others added 5 commits November 13, 2026 18:57
Drop the TP8/EP1 concurrency 4 point and its recipe override; concurrency 4
runs on the TP4/EP4 HiCache arm, which delivers more throughput per GPU.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Gluon target MoE faults with HSA_STATUS_ERROR_EXCEPTION 0x1016 on full
32768-token uncached prefill chunks (5 crashes on g14/g18). Use
chunked-prefill-size 16384 for the TP8/EP1 c1 and c2 points only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jiejingzhangamd
jiejingzhangamd force-pushed the dev/jiejing/glm52-gluon-tp8-daily-1102 branch from d3625a2 to c0c036a Compare November 13, 2026 18:59

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

agentx AgentX benchmarks, recipes, and infrastructure all-evals Expand eval selection to every fixed-sequence config AMD full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant