Skip to content

Append B300 GLM-5.3-Flash cache points / 追加 B300 GLM-5.3-Flash 缓存测试点 - #4912

Open
functionstackx wants to merge 4 commits into
mainfrom
tune/glm53flash-b300-cache-concurrency
Open

functionstackx wants to merge 4 commits into
mainfrom
tune/glm53flash-b300-cache-concurrency

Conversation

@functionstackx

@functionstackx functionstackx commented Nov 8, 2026 •

Copy link
Copy Markdown
Collaborator

Add four B300 GLM-5.3-Flash FP8 AgentX points to the existing curve:

TP Client concurrency KV offloading
8 52 OFF
8 52 HiCache
4 52, 64 HiCache

Keep every existing point and recipe unchanged. The new TP8 cache-OFF variant uses the same server admission cap as TP8 HiCache. The new TP4 HiCache variant retains the tuned TP4 scheduling, memory split, and 32-request server admission cap, then enables the host cache.

TP4 HiCache uses host-memory fraction 0.50 of available host memory. The existing dram-utilization: 0.935 and GPU-proportional DRAM reporting are unchanged; actual host-pool allocation still needs runtime verification against the reported budget.

The changelog uses append-only: true, so the fail-fast sweep runs only these four new points and preserves the published curve. Append-only sweeps do not run fresh accuracy evals and cannot use the all-evals modifier. TP4 still reserves the whole eight-GPU node.

中文

为现有 B300 GLM-5.3-Flash FP8 AgentX 曲线增加四个测试点:TP8 在客户端并发 52 时分别关闭和开启 HiCache,TP4 在客户端并发 52 和 64 时开启 HiCache。

保留所有现有测试点及其配置。新增 TP8 关闭缓存配置采用与 TP8 HiCache 相同的服务端请求上限;新增 TP4 HiCache 配置保留已调优的 TP4 调度、显存分配和 32 请求上限,再启用主机缓存。

TP4 HiCache 使用 0.50 的可用主机内存比例。现有 dram-utilization: 0.935 和按 GPU 数量分配的 DRAM 报告保持不变;实际主机缓存池分配仍需在运行时核对是否符合报告预算。

changelog 使用 append-only: true,fail-fast sweep 只运行这四个新增点,并保留已发布曲线。append-only sweep 不运行新的准确率评测,也不能使用 all-evals 修饰标签。TP4 仍独占整个八卡节点。

AI model disclosure

GPT-6 Astra prepared the configuration changes and checked the append-only matrix and generated recipes.

Created with Perplexity

@github-actions

github-actions Bot commented Nov 8, 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 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

@functionstackx functionstackx added the full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended) label Nov 8, 2026 — with Perplexity Teammate

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

Apart from the inline finding, I checked whether the existing points stay isolated, as append-only: true requires. They do: the &tp4_tuned_args anchor on override_none does not change what that block renders, the existing TP8 rows still point at an unchanged override_dram, and the <<: merge key follows a pattern other srt-slurm recipes in this repo already use.

Extended reasoning...

This PR changes three config files: one srt-slurm recipe, nvidia-master.yaml and perf-changelog.yaml. It touches no security-sensitive code. One finding about the TP4 HiCache host-memory fraction is posted inline. The anchor and merge-key change leaves the rendered recipes for the existing TP4 none and TP8 dram points unchanged.

Comment on lines +99 to +106
override_tp4_dram:
roles:
agg:
gpus: 4
args:
<<: *tp4_tuned_args
enable-hierarchical-cache: true
hicache-host-memory-fraction: 0.76

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 new TP4 HiCache points may record only half the host DRAM their server actually uses. If so, the published per-GPU DRAM budget would be wrong. hicache-host-memory-fraction: 0.76 was sized for TP8 to fill the whole node, about 2.8 TB per the PR #4710 changelog entry. If that fraction is applied to the node's free host memory, a TP4 server on an exclusive --mem=0 node gets the same ~2.8 TB. The matrix records only the 4/8 share, about 1402 GB. Fix: size the TP4 pool to its 4/8 GPU share, e.g. with a smaller fraction or an explicit host size. dram-utilization is capped at 1, so the metadata cannot be raised to match a full-node pool.

Why this was flagged

This holds only if SGLang sizes the HiCache host pool from the node's free host memory, whatever the TP size. The comments at agentic.yaml:80-81 and the PR #4710 changelog ("host-memory fraction 0.76, about 2.8 TB per node, within the 3 TB cap") describe it that way. override_tp4_dram (agentic.yaml:99-109) reuses 0.76 for a TP4 server. b300-dsxe runs with slurm exclusive: true and salloc --mem=0 (runners.yaml:545-548), so per CONFIGS.md:223-225 the job can see the whole node's memory. agentic_dram_offload_gb (infx/matrix/generate.py:492-497) gives the TP4 row total-cpu-dram-gb = 2,861,022 MiB x 0.935 x 4/8, about 1402 GB. results/agentic/init.py:205 publishes that as allocated_cpu_dram_gb. If the pool is ~2.8 TB, the TP4 HiCache points (conc 52 and 64, nvidia-master.yaml:7573) get about twice their GPU share of host KV. That is published as 1402 GB and compared on the same offload curve as TP8. On the base branch no TP4 HiCache point exists. The validator at validation.py:837-838 caps dram-utilization at 1, so the metadata cannot record more than ~1500 GB for TP4.

Verification: override_tp4_dram (agentic.yaml:99-109) sets gpus: 4 and hicache-host-memory-fraction: 0.76. b300-dsxe sets exclusive: true and salloc-args: [--mem=0] (runners.yaml:545-548). Per CONFIGS.md:223-225, the job therefore sees all of the node's memory. The matrix publishes 1402 GB, about half the real figure, and the server exceeds the budget the config says it may use.

@github-actions

github-actions Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

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

full-sweep-fail-fast Full sweep with canary gate; first failure cancels the rest of that matrix (recommended)

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant