Skip to content

[AgentX] offload all Muse Spark Open H100 points to HiCache / [AgentX] Muse Spark Open H100 全部并发点启用 HiCache 卸载 - #4182

Merged
functionstackx merged 5 commits into
mainfrom
feat/musespark-h100-hicache-all
Oct 17, 2026
Merged

functionstackx merged 5 commits into
mainfrom
feat/musespark-h100-hicache-all

Conversation

@Oseltamivir

Copy link
Copy Markdown
Collaborator

Follow-up to #4149 and #4181, which merged with a HiCache arm at concurrency 2–8 alongside the GPU-resident c1–c16 sweep.

This makes HiCache host-DRAM KV offload the only arm and sweeps concurrency 1, 2, 4 and 8:

  • One recipe override block for c1, c2, c4, c8, with enable-hierarchical-cache and hicache-size: 160 GB per rank.
  • Keeps the batch-8 cap on running requests and decode graphs ([2, 4, 8, 8]), since eager batches above it OOM in the MoE.
  • Drops the GPU-resident arm and the c16 queueing point.

Why: at TP8 each H100 holds ~67 GB of target weights, leaving a GPU KV pool of a few GB, so agentic prefixes evict between turns; HiCache keeps them in host DRAM (~1.83 TiB on h100-dsxe).

Risk: HiCache's GPU staging buffers must fit in the ~1 GB/GPU headroom at mem-fraction-static 0.97.

@Oseltamivir
Oseltamivir requested a review from a team October 16, 2026 13:36
@github-actions

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

@Oseltamivir Oseltamivir added the non-canary-full-sweep-enabled Run the full sweep without the canary gate (full search space, no trim) label Oct 16, 2026

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

Besides the inline finding, I checked two other things and found no problems. In the recipe, all three zipped lists (max-running-requests, cuda-graph-max-bs-decode and CONC) have 4 entries, and they match the master conc-list [1, 2, 4, 8]. The perf-changelog change is a pure append at the end of the file, and no existing bytes changed.

Extended reasoning...

This PR changes one srt-slurm recipe, one master config entry and the perf-changelog for a single MuseSpark H100 agentic benchmark. It does not touch any security-sensitive code. The one confirmed finding (the placeholder pr-link fails the changelog validator) is posted inline, so this note only records the other checks that came back clean.

Comment thread inferencex-e2e/perf-changelog.yaml Outdated
description:
- "Run every point with HiCache host-DRAM KV offload at 160 GB per rank, sweeping concurrency 1, 2, 4 and 8; drop the GPU-resident arm and the concurrency 16 queueing point."
- "Keep the batch-8 cap on running requests and decode graphs."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXXX

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, which blocks the sweep for this change. The new entry's placeholder pull/XXXX has four X's, and the validator accepts only the exact pull/XXX form. Fix: set pr-link to https://github.com/SemiAnalysisAI/InferenceX/pull/XXX or to this PR's real number.

Why this was flagged

On pull requests, .github/workflows/run-sweep.yml:106 runs python -m infx.workflows.validate_perf_changelog. For each newly appended entry, validate_added_pr_link in inferencex-e2e/infx/workflows/validate_perf_changelog.py:147 only allows a link in PR_LINK_PLACEHOLDERS ("XXX" or https://github.com/SemiAnalysisAI/InferenceX/pull/XXX, lines 22-25) or the exact PR URL. The appended entry at perf-changelog.yaml:10024 uses .../pull/XXXX, which matches neither. The check raises "new PR entry must use ... or an XXX placeholder", so check-changelog fails and the sweep jobs that depend on it (needs: check-changelog) never run for this config change. The placeholder set is an exact-string match, so the extra X is not tolerated.

Verification: The trigger is merging this PR through the supported reuse merge path (merge_with_reuse). The pull/XXXX placeholder is rejected there. PR_LINK_PLACEHOLDERS (validate_perf_changelog.py:22-25) contains only "XXX" and ".../pull/XXX". merge_with_reuse.py:631 calls canonicalize_changelog, which reaches validate_perf_changelog.py:147 and raises.

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

0.95 shrank the GPU KV pool to 98k tokens and rejected ~196k-token trace inputs.
@functionstackx

Copy link
Copy Markdown
Collaborator

/reuse-sweep-run 38925660934

@functionstackx
functionstackx merged commit 024b59e into main Oct 17, 2026
28 checks passed
@functionstackx
functionstackx deleted the feat/musespark-h100-hicache-all branch October 17, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

non-canary-full-sweep-enabled Run the full sweep without the canary gate (full search space, no trim)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants