Skip to content

[Klaud Cold] glm5.2-fp8-b300-sglang-agentic-mtp: day-zero GLM-5.2 FP8 SGLang AgentX MTP on B300 / B300 上 GLM-5.2 FP8 SGLang AgentX MTP 首发配方 - #2884

Open
functionstackx wants to merge 2 commits into
mainfrom
feat/glm5.2-fp8-b300-sglang-agentic-mtp-dayzero
Open

[Klaud Cold] glm5.2-fp8-b300-sglang-agentic-mtp: day-zero GLM-5.2 FP8 SGLang AgentX MTP on B300 / B300 上 GLM-5.2 FP8 SGLang AgentX MTP 首发配方#2884
functionstackx wants to merge 2 commits into
mainfrom
feat/glm5.2-fp8-b300-sglang-agentic-mtp-dayzero

Conversation

@functionstackx

@functionstackx functionstackx commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Day-zero GLM-5.2 FP8 AgentX (agentic-coding) recipe on B300 with SGLang native EAGLE/MTP: glm5.2-fp8-b300-sglang-agentic-mtp, the FP8 precision sibling of glm5.2-fp4-b300-sglang-agentic-mtp and the B300 counterpart of the FP8 B200 recipe in #2863.

Validation: bash -n, both YAMLs parse, generate_sweep_configs.py test-config with the runner config yields the expected 5 cells on cluster:b300-dsxe, and the DSXE launcher's script-name construction resolves to the new file.

Recipes touched: glm5.2-fp8-b300-sglang-agentic-mtp

Test plan

  • full-sweep-enabled sweep passes on cluster:b300-dsxe (5 cells).

🤖 Generated with Claude Code


Note

Low Risk
Adds benchmark scripts and YAML recipe entries only; no changes to application runtime, auth, or data paths beyond new cluster sweep configuration.

Overview
Introduces the first GLM-5.2 FP8 AgentX (agentic-coding) recipe on B300: config key glm5.2-fp8-b300-sglang-agentic-mtp on cluster:b300-dsxe, matching the NVFP4 B300 sibling’s TP8 + HiCache search space (conc 1–16).

Adds benchmarks/single_node/agentic/glm5.2_fp8_b300_sglang_mtp.sh, ported from the FP8 B200 script with B300 tuning (--mem-fraction-static 0.85, fixed 270 GB/rank HiCache), --quantization fp8, EAGLE/MTP, golden AL 2.99, and flock-serialized hf download with a complete-checkpoint guard for the unstaged ~756 GB weights.

Documents the recipe in perf-changelog.yaml and pins SGLang to nightly-dev-cu13-20260908-20ca564b (not the 2026-09-07 tag) to pick up sglang#38318, avoiding intermittent DSA fp8 KV / EAGLE AttributeError crashes on long MTP runs.

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

Update: re-pinned to the 2026-09-08 nightly

The 2026-09-07 cu13 nightly (nightly-dev-cu13-20260907-30705c00) carries an unguarded kv_index_translator.translate_dcp_read_ids call on the DSA fp8 KV read path; the EAGLE draft backend never binds a translator, so GLM-5.2 MTP runs crash intermittently with AttributeError: 'NoneType' object has no attribute 'translate_dcp_read_ids' (seen on the MI355X FP8 sibling, run 34173459478, after 74 minutes of clean serving). sgl-project/sglang#38318 (merged 2026-09-07T20:03Z) adds the None guard. Re-pinned to lmsysorg/sglang:nightly-dev-cu13-20260908-20ca564b (pushed 2026-09-08T01:40:59Z, digest sha256:9a352a35c973a2357372e85f3bcb5388b6b3c46c1329165987260f3b089647dc), which is six commits past that fix. Recipe otherwise unchanged.

… SGLang AgentX MTP on B300

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@functionstackx
functionstackx force-pushed the feat/glm5.2-fp8-b300-sglang-agentic-mtp-dayzero branch from d0976d3 to 0feaf99 Compare September 8, 2026 01:43
@github-actions

github-actions Bot commented Sep 8, 2026

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 关于重新运行失败任务的文档

2 similar comments
@github-actions

github-actions Bot commented Sep 8, 2026

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 关于重新运行失败任务的文档

@github-actions

github-actions Bot commented Sep 8, 2026

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 关于重新运行失败任务的文档

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

I reviewed this PR and didn't find any bugs. Because it's a new 376-line benchmark launcher plus a configs/nvidia-master.yaml entry (a CODEOWNER-covered file) with non-trivial memory/HiCache sizing and locking logic, a human look would still be worthwhile.

What was reviewed: the flock-serialized/completeness-checked hf download staging path, the HiCache/--mem-fraction-static memory budget arithmetic against the stated B300 HBM/DRAM figures, the EAGLE/MTP spec-decode arg wiring and golden-AL env pinning, and the perf-changelog.yaml append (confirmed it only adds a new tail entry, no prior bytes touched). Also checked the fixed 270 GB/rank --hicache-size not scaling with TOTAL_CPU_DRAM_GB — this mirrors the already-shipped NVFP4 B300 sibling's design (per its own comments/#2651) rather than being an oversight.

Extended reasoning...

Overview

This PR adds one new file (a 376-line bash launcher for a GLM-5.2 FP8 agentic-coding SGLang benchmark on B300), one new config entry in configs/nvidia-master.yaml, and one new append-only entry in perf-changelog.yaml. It is explicitly described (and appears in the code) as a mechanical port combining an existing FP8 B200 sibling script with B300-specific deltas from an existing NVFP4 B300 sibling (fixed --mem-fraction-static 0.85 and a fixed 270 GB/rank HiCache target pool). No test files, docs, or other infra code are touched.

Security risks

No injection, auth, or data-exposure surface is introduced. The script does shell out to hf download, flock, and python3 for a completeness check of downloaded shards, but all inputs are internal (env vars set by the harness/launcher) rather than user-controlled, and the same patterns already exist in the sibling scripts this is ported from.

Level of scrutiny

configs/nvidia-master.yaml is a CODEOWNER-covered path (per .github/CODEOWNERS: @ ankur-singh @ kedarpotdar-nv @ InferenceX/core), which per the approval guidelines means this should not be auto-approved regardless of how mechanical the change looks. The launcher script itself has some real logic (flock-based download serialization, checkpoint completeness verification, HiCache/memory-fraction sizing arithmetic, golden-AL simulated-acceptance env wiring) that is worth a domain-expert's eyes even though the bug-hunting pass found nothing and the memory/HiCache math in the comments is internally consistent with the stated hardware numbers.

Other factors

The bug-hunting system reported zero findings, and one candidate issue (fixed 270 GB/rank HiCache size not scaling with TOTAL_CPU_DRAM_GB) was investigated and ruled out as intentional, mirroring the already-merged NVFP4 B300 sibling's design rather than being a regression introduced by this PR. The perf-changelog.yaml addition correctly appends at the tail without altering prior bytes, consistent with the append-only convention noted for that file. Given the CODEOWNER ownership and the presence of non-trivial (if apparently correct) logic, I'm deferring rather than approving, even though no concrete bug was found.

This review covers commit d0976d3, which is no longer the latest commit on this pull request; later commits are not covered by it.

…GLE DSA fp8 read-door None guard)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

1 similar comment
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

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

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant