Skip to content

Add Qwen3.5 FP4 B300 AgentX MTP - #2421

Merged
cquil11 merged 79 commits into
mainfrom
agent/qwen35-fp4-b300-agentx-mtp
Aug 3, 2026
Merged

Add Qwen3.5 FP4 B300 AgentX MTP#2421
cquil11 merged 79 commits into
mainfrom
agent/qwen35-fp4-b300-agentx-mtp

Conversation

@cquil11

@cquil11 cquil11 commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add Qwen3.5-397B-A17B NVFP4 AgentX coverage on B300 with SGLang native NEXTN MTP, golden synthetic acceptance, prefix caching, and the pinned 256k trace dataset.

Pin AIPerf to the exact validated revision with:

  • flattened warmup-to-profiling timing for non-burst starts
  • source-faithful request order and spawn/join gates
  • a 300-second runtime idle cap per complete trajectory tree
  • a separate 10-second whole-system idle guard

Dataset timestamps and derived end-to-start delays are not rewritten.

Add the initial SGLang NEXTN AgentX recipe with golden synthetic acceptance and 256k traces.\n\n中文:新增 Qwen3.5 FP4 B300 AgentX MTP 初始配置,使用 SGLang NEXTN、黄金合成接受长度和 256k 轨迹数据集。
@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 关于重新运行失败任务的文档

Append the Qwen3.5 FP4 B300 AgentX MTP benchmark entry.\n\n中文:追加 Qwen3.5 FP4 B300 AgentX MTP 基准测试触发记录。
@cquil11 cquil11 changed the title Add Qwen3.5 FP4 B300 AgentX MTP / 新增 Qwen3.5 FP4 B300 AgentX MTP Add Qwen3.5 FP4 B300 AgentX MTP Jul 30, 2026
cquil11 added 23 commits July 29, 2026 23:50
Add strict two-pool HiCache accounting, cache reporting, session-sticky DEP8 routing, AgentX request/graph limits, and measured-cache guidance for the B300 frontier.\n\n中文:为 B300 前沿调优加入严格的双池 HiCache 容量核算、缓存统计、会话粘性的 DEP8 路由、AgentX 请求与 CUDA Graph 上限,并记录实测缓存容量依据。
Add isolated TP2 c72 and TP4 c80 DRAM HiCache points so each cache-cliff recovery topology can be measured independently.

中文:添加独立的 TP2 c72 与 TP4 c80 DRAM HiCache 测试点,以便分别测量各拓扑在缓存工作集拐点后的恢复效果。
Account for SGLang target KV, Mamba, and native NEXTN draft host pools as H * 31/15 per rank, with page-alignment reserve, so projected use stays within runner-generated DRAM.

中文:按每个 rank 的 H * 31/15 计入 SGLang 目标 KV、Mamba 与原生 NEXTN 草稿主机缓存,并预留页对齐空间,确保预计用量不超过 runner 生成的 DRAM 上限。
中文:将最新 main 合并到 B300 提交分支,并将本 PR 的性能变更记录重新追加到文件末尾。
Add TP4 concurrency points around the measured HiCache crossover and extend the DRAM-offload curve beyond it.\n\n中文:在实测 HiCache 切换区间细化 B300 Qwen TP4 并发点,并将 DRAM 卸载曲线扩展到拐点之后。
Remove the measured no-offload thrashing tail and add dense TP2 points across the expected HiCache crossover.\n\n中文:移除实测发生抖动的无卸载尾部配置,并在预期 HiCache 切换区间细化 B300 TP2 并发点。
Drop the attention-DP arm after live AgentX profiling showed fragmented prefix caches and throughput below the TP frontier. Remove the now-unused router path.\n\n中文:AgentX 实测表明注意力 DP 会导致前缀缓存碎片化且吞吐低于 TP 前沿,因此移除该配置及不再使用的路由路径。
Probe three post-c72 offload points to locate saturation of the measured TP2 efficiency frontier.\n\n中文:在 c72 之后增加三个卸载并发点,用于定位实测 B300 TP2 效率前沿的饱和位置。
Remove the no-offload c96 point after it was dominated by HiCache c80 in both throughput and latency, and refresh the measured crossover note.\n\n中文:无卸载 c96 在吞吐与延迟上均被 HiCache c80 支配,因此移除该点并更新实测切换区间说明。
Remove offload points that exceed the measured host-cache validity boundary and densify the final safe interval below c80.\n\n中文:移除超过实测主机缓存有效边界的卸载配置,并在 c80 以下的安全区间细化最终并发点。
Remove no-offload c64 after it stalled under the long-context working set; retain the matched HiCache points beyond c56.\n\n中文:无卸载 c64 在长上下文工作集下停滞,因此移除该点,并保留 c56 之后对应的 HiCache 配置。
中文:在缓存工作集拐点测试 B300 TP4 HiCache。
中文:裁剪 B300 TP2 无卸载配置的缓存拐点尾部。
中文:优化 B300 缓存悬崖附近的并发点,并使用 SGLang 默认单 tokenizer 启动路径以避免 HiCache 初始化期间的多 tokenizer 共享内存竞态。
中文:在 B300 HiCache 缓存悬崖附近增加 c84、c92 和 c94 测试点,以更细粒度覆盖有效的帕累托前沿。
中文:在 B300 TP2 的 c32 至 c56 区间增加 HiCache 重叠测试点,以覆盖一小时 AgentX 预热下可能提前出现的缓存悬崖。
Use six tokenizer workers for TP4 long-context replay while retaining SGLang default single-worker startup for TP2 HiCache.

中文:TP4 长上下文回放使用 6 个 tokenizer worker;TP2 HiCache 保持 SGLang 默认单 worker 启动路径,避免共享内存初始化竞态。
Add HiCache concurrency 34 and 38 around the measured c36-to-c40 transition.

中文:在实测 c36 到 c40 的转折区间补充 HiCache 并发点 34 和 38。
Densify the TP4 no-offload cliff and remove TP4 HiCache points that are dominated by the TP4 no-offload and TP2 HiCache arms. Keep TP2 HiCache dense through the measured host-KV saturation region.\n\n中文:细化 B300 缓存帕累托前沿;加密 TP4 无卸载缓存临界区间,移除被 TP4 无卸载与 TP2 HiCache 方案支配的 TP4 HiCache 测点,并保留覆盖主机 KV 饱和区间的密集 TP2 HiCache 测点。
@cquil11
cquil11 marked this pull request as ready for review July 30, 2026 09:13
@cquil11
cquil11 requested a review from a team July 30, 2026 09:13
cquil11 added 17 commits August 2, 2026 20:27
Remove the measured no-offload thrashing tail and add dense TP2 points across the expected HiCache crossover.\n\n中文:移除实测发生抖动的无卸载尾部配置,并在预期 HiCache 切换区间细化 B300 TP2 并发点。
Drop the attention-DP arm after live AgentX profiling showed fragmented prefix caches and throughput below the TP frontier. Remove the now-unused router path.\n\n中文:AgentX 实测表明注意力 DP 会导致前缀缓存碎片化且吞吐低于 TP 前沿,因此移除该配置及不再使用的路由路径。
Probe three post-c72 offload points to locate saturation of the measured TP2 efficiency frontier.\n\n中文:在 c72 之后增加三个卸载并发点,用于定位实测 B300 TP2 效率前沿的饱和位置。
Remove the no-offload c96 point after it was dominated by HiCache c80 in both throughput and latency, and refresh the measured crossover note.\n\n中文:无卸载 c96 在吞吐与延迟上均被 HiCache c80 支配,因此移除该点并更新实测切换区间说明。
Remove offload points that exceed the measured host-cache validity boundary and densify the final safe interval below c80.\n\n中文:移除超过实测主机缓存有效边界的卸载配置,并在 c80 以下的安全区间细化最终并发点。
Remove no-offload c64 after it stalled under the long-context working set; retain the matched HiCache points beyond c56.\n\n中文:无卸载 c64 在长上下文工作集下停滞,因此移除该点,并保留 c56 之后对应的 HiCache 配置。
中文:在缓存工作集拐点测试 B300 TP4 HiCache。
中文:裁剪 B300 TP2 无卸载配置的缓存拐点尾部。
中文:优化 B300 缓存悬崖附近的并发点,并使用 SGLang 默认单 tokenizer 启动路径以避免 HiCache 初始化期间的多 tokenizer 共享内存竞态。
中文:在 B300 HiCache 缓存悬崖附近增加 c84、c92 和 c94 测试点,以更细粒度覆盖有效的帕累托前沿。
中文:在 B300 TP2 的 c32 至 c56 区间增加 HiCache 重叠测试点,以覆盖一小时 AgentX 预热下可能提前出现的缓存悬崖。
Use six tokenizer workers for TP4 long-context replay while retaining SGLang default single-worker startup for TP2 HiCache.

中文:TP4 长上下文回放使用 6 个 tokenizer worker;TP2 HiCache 保持 SGLang 默认单 worker 启动路径,避免共享内存初始化竞态。
Add HiCache concurrency 34 and 38 around the measured c36-to-c40 transition.

中文:在实测 c36 到 c40 的转折区间补充 HiCache 并发点 34 和 38。
Densify the TP4 no-offload cliff and remove TP4 HiCache points that are dominated by the TP4 no-offload and TP2 HiCache arms. Keep TP2 HiCache dense through the measured host-KV saturation region.\n\n中文:细化 B300 缓存帕累托前沿;加密 TP4 无卸载缓存临界区间,移除被 TP4 无卸载与 TP2 HiCache 方案支配的 TP4 HiCache 测点,并保留覆盖主机 KV 饱和区间的密集 TP2 HiCache 测点。
Pin the AIPerf trace idle-gap branch and set the Qwen B300 replay cap to 300 seconds.
中文:Qwen B300 AgentX 扫描使用 GSM8K 评估,避免运行耗时的 SWE-bench。
@cquil11
cquil11 force-pushed the agent/qwen35-fp4-b300-agentx-mtp branch from 22265bb to 0687e15 Compare August 3, 2026 01:29

cquil11 commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

As a PR reviewer and CODEOWNER, I have reviewed this and have:

  • Verified that as of the moment of typing this, this is the latest version of PR_REVIEW_CHECKLIST.md
  • Verified that the general code quality meets the InferenceX standard and does not make the code quality any worse.
  • Verified that this PR has passed PR validation. Please link to GitHub Action workflow that shows this.
  • Verified that this PR passes evals. Please link to GitHub Action workflow that shows this.
  • Verified that speculative decoding PRs uses chat templates to align the AL distribution to real world
  • For agentic workloads: verified that speculative-decoding configs (EAGLE / MTP / draft models) run with simulated synthetic acceptance, with the acceptance-length value taken from the committed golden AL curve in golden_al_distribution/ for that model, thinking mode, and draft length. A submission may choose any supported draft length, but it may not substitute a different acceptance target.
  • Verified that the model architecture isn't changed with benchmark hacks like using --hf-overrides to skipping indexer for every x layers on models that don't natively support this. As a general rule, we won't accept optimizations that reduces the number of model architecture FLOPs. Anything that makes that same computation run faster is fair game; FLOPs at lower precisions is fine, given that the config passes private evals. As an general north star princple, we should only use optimizations which is used in production by customers that care about accuracy
  • If an company claims that they support vLLM/SGLang as first class LLM inference engines on their hardware, I have verified that the respective vLLM submission made using upstream https://hub.docker.com/u/vllm docker repo, upstream SGLang https://hub.docker.com/u/lmsysorg docker repo. The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet as supported by vLLM/SGLang community maintainers
  • If an company claims that they support vLLM/SGLang as first class upstream in-tree LLM inference engines on their hardware, I have have verified that the respective vLLM/SGLang submission has been made before additional frameworks (TRT-LLM, ATOM, etc.). The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet.
  • Verified that every single-node vLLM/SGLang recipe in this PR is documented in the official vLLM recipes and/or the SGLang cookbook:
    • I linked the corresponding upstream PR in the vLLM recipe repo or SGLang repo and verified that it is MERGED before this InferenceX PR merges. An opened, draft, or closed-without-merge upstream PR does not satisfy this requirement. If the matching recipe was already published, I linked the published recipe/cookbook page in the additional detail section below.
  • Verified that this PR does not patch the inference engine or serving stack — the pinned image must run as shipped. This covers .patch files / git apply / patch, inline patches embedded in benchmark scripts (e.g. a python3/sed heredoc that rewrites installed engine sources before serving), in-place edits of site-packages, monkey-patching, overwriting container files, and installing forked/rebuilt engine wheels on top of the pinned image. The only exception is a patch covered by a filled-out waiver at docs/waiver/<PR_NUMBER>.md — named after the PR that introduces the patch and filed in that same PR, stating what is patched, why the unmodified upstream image cannot run this benchmark, the upstream PR/issue link, and the removal plan — which I have linked below in the additional detail section.
  • If any of the above criteria cannot reasonably be satisfied, I have provided additional reasoning below.

Additional detail section:

Signed: cquil11

@Klaud-Cold

Copy link
Copy Markdown
Collaborator

❌❌❌ REJECTED ❌❌❌

@cquil11 — the sweep/eval run this sign-off relies on (30730541420) executed on commit 22265bb5, which was later rebased out of this PR. No commit currently in the PR carries an executed green sweep/eval, so merge_with_reuse.sh will reject the pinned run at merge. Fix: rerun the full sweep (or re-anchor /reuse-sweep-run to a green run) on a commit currently in this PR, then re-sign.

✅ Check 0 (CODEOWNER): PASS — configs/nvidia-master.yaml owners include @InferenceX/core; signer is an org MEMBER acting for that team (team membership unreadable to the bot token; no ownership mismatch).
❌ Check 1 (sweep on in-PR commit): FAIL — No passing sweep/eval was found on any commit in this PR: all 28 in-PR commits have either no benchmark check-runs or only skipped agentic / / eval / / single-node */ jobs. The green run 30730541420 ran on rebased-out 22265bb5.
❌ Check 2 (evals pass): FAIL — no in-PR run to anchor evals to (follows Check 1). The run's evals themselves were real and healthy (GSM8K em_strict 0.978 on the fp4 MTP config, same lmsysorg/sglang:v0.5.16-cu130 image), so a rerun on an in-PR commit should clear this.
✅ Check 3 (recipe): PASS — published SGLang Qwen3.5 cookbook covers nvidia/Qwen3.5-397B-A17B-NVFP4 on B300 (tp4/tp2) with NEXTN MTP steps 3 / topk 1 / draft 4, trtllm_mha, flashinfer_trtllm, flashinfer_cutlass; quantization is auto-detected from the NVFP4 checkpoint. HiCache/chunked-prefill/tokenizer-worker knobs are InferenceX harness tuning (informational only).
✅ Check 4 (reuse command): PASS — /reuse-sweep-run 30730541420 posted by cquil11 (MEMBER); the pinned run must be re-anchored per Check 1.
✅ Check 5 (latest checklist): PASS — every current-template item is present and checked.
✅ Check 6 (upstream image): PASS — lmsysorg/sglang:v0.5.16-cu130 is the upstream lmsysorg image; the submission itself is SGLang, so engine-first ordering is satisfied.
✅ Check 7 (no arch hacks): PASS — no --hf-overrides or FLOPs-reducing overrides in the diff.
✅ Check 8 (chat template): PASS — the AgentX replay drives /v1/chat/completions with --endpoint-type chat (build_replay_cmd, benchmarks/benchmark_lib.sh).
✅ Check 9 (no engine patches): PASS — no engine/serving-stack patching; AIPerf and client deps install into an isolated venv.
✅ Check 10 (golden AL): PASS — SGLANG_SIMULATE_ACC_LEN=3.39 (match-expected, real-draft-token) equals the golden qwen3.5_mtp.yaml thinking_on value at 3 speculative tokens; evals keep real target verification; no synthetic-acceptance knobs on non-agentic configs.

@cquil11 cquil11 changed the title Add Qwen3.5 FP4 B300 AgentX MTP / 添加 Qwen3.5 FP4 B300 AgentX MTP 基准 Add Qwen3.5 FP4 B300 AgentX MTP Aug 3, 2026
中文:将已验证的 Qwen B300 扫描提交重新纳入分支历史,不更改当前文件内容。
@cquil11

cquil11 commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

/reuse-sweep-run 30730541420

中文:复用已验证的扫描运行 30730541420。

@cquil11

cquil11 commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

As a PR reviewer and CODEOWNER, I have reviewed this and have:

  • Verified that as of the moment of typing this, this is the latest version of PR_REVIEW_CHECKLIST.md
  • Verified that the general code quality meets the InferenceX standard and does not make the code quality any worse.
  • Verified that this PR has passed PR validation. Please link to GitHub Action workflow that shows this.
  • Verified that this PR passes evals. Please link to GitHub Action workflow that shows this.
  • Verified that speculative decoding PRs uses chat templates to align the AL distribution to real world
  • For agentic workloads: verified that speculative-decoding configs (EAGLE / MTP / draft models) run with simulated synthetic acceptance, with the acceptance-length value taken from the committed golden AL curve in golden_al_distribution/ for that model, thinking mode, and draft length. A submission may choose any supported draft length, but it may not substitute a different acceptance target.
  • Verified that the model architecture isn't changed with benchmark hacks like using --hf-overrides to skipping indexer for every x layers on models that don't natively support this. As a general rule, we won't accept optimizations that reduces the number of model architecture FLOPs. Anything that makes that same computation run faster is fair game; FLOPs at lower precisions is fine, given that the config passes private evals. As an general north star princple, we should only use optimizations which is used in production by customers that care about accuracy
  • If an company claims that they support vLLM/SGLang as first class LLM inference engines on their hardware, I have verified that the respective vLLM submission made using upstream https://hub.docker.com/u/vllm docker repo, upstream SGLang https://hub.docker.com/u/lmsysorg docker repo. The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet as supported by vLLM/SGLang community maintainers
  • If an company claims that they support vLLM/SGLang as first class upstream in-tree LLM inference engines on their hardware, I have have verified that the respective vLLM/SGLang submission has been made before additional frameworks (TRT-LLM, ATOM, etc.). The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet.
  • Verified that every single-node vLLM/SGLang recipe in this PR is documented in the official vLLM recipes and/or the SGLang cookbook:
    • I linked the corresponding upstream PR in the vLLM recipe repo or SGLang repo and verified that it is MERGED before this InferenceX PR merges. An opened, draft, or closed-without-merge upstream PR does not satisfy this requirement. If the matching recipe was already published, I linked the published recipe/cookbook page in the additional detail section below.
  • Verified that this PR does not patch the inference engine or serving stack — the pinned image must run as shipped. This covers .patch files / git apply / patch, inline patches embedded in benchmark scripts (e.g. a python3/sed heredoc that rewrites installed engine sources before serving), in-place edits of site-packages, monkey-patching, overwriting container files, and installing forked/rebuilt engine wheels on top of the pinned image. The only exception is a patch covered by a filled-out waiver at docs/waiver/<PR_NUMBER>.md — named after the PR that introduces the patch and filed in that same PR, stating what is patched, why the unmodified upstream image cannot run this benchmark, the upstream PR/issue link, and the removal plan — which I have linked below in the additional detail section.
  • If any of the above criteria cannot reasonably be satisfied, I have provided additional reasoning below.

Additional detail section:

Signed: cquil11

@Klaud-Cold

Copy link
Copy Markdown
Collaborator

✅✅✅ Verdict: PASS ✅✅✅

✅ Check 0 (CODEOWNER): PASS — configs/nvidia-master.yaml owners include @InferenceX/core; signer has admin on the repo with org MEMBER status (team-membership API unreadable to the bot, treated per policy as satisfied; no vendor mismatch — this is an NVIDIA-only change).
✅ Check 1 (passing sweep on in-PR commit): PASS — commit 22265bb5 is in this PR and all executed benchmark jobs (agentic /, 33 lanes) plus agentic eval / are green on run 30730541420; the single-node */ / eval / lanes are skipped by design since this config defines only the agentic-coding scenario. (This resolves the earlier rejection at head 98f31c5 — the sweep commit is now in the PR.)
✅ Check 2 (evals pass): PASS — run artifact agg_eval_all.json shows GSM8K em_strict 0.978 (n_eff 1319) on qwen3.5 fp4/sglang/B300 TP4 MTP, using the PR's image lmsysorg/sglang:v0.5.16-cu130.
✅ Check 3 (recipe merged & matches): PASS — the linked SGLang Qwen3.5 cookbook page is published on upstream main; major args match its B300 NVFP4+MTP command exactly (--attention-backend trtllm_mha, --moe-runner-backend flashinfer_trtllm, --fp4-gemm-backend flashinfer_cutlass, NEXTN steps 3 / topk 1 / draft 4, TP4; TP2 documented in the page prose; --quantization modelopt_fp4 is equivalent to auto-detection from the NVFP4 checkpoint). Informational only: EP2 on the TP2 lane, FP8 KV dtype (published in the same page's B200 NVFP4 branch), --enable-symm-mem, and the HiCache/chunked-prefill/tokenizer knobs are InferenceX sweep tuning.
✅ Check 4 (reuse command): PASS — /reuse-sweep-run 30730541420 posted by @cquil11 (MEMBER).
✅ Check 5 (latest checklist): PASS — every item of the current docs/PR_REVIEW_CHECKLIST.md template is present and checked.
✅ Check 6 (upstream image & engine-first): PASS — lmsysorg/sglang:v0.5.16-cu130 is the upstream SGLang org; the entry itself is an SGLang submission.
✅ Check 7 (no architecture hacks): PASS — no --hf-overrides or FLOPs-reducing knobs in the diff.
✅ Check 8 (spec-decode via chat template): PASS — the AgentX replay drives /v1/chat/completions with --endpoint-type chat (benchmarks/benchmark_lib.sh build_replay_cmd).
✅ Check 9 (no engine patches): PASS — no patching of the serving stack; AIPerf/client deps install into an isolated venv, engine site-packages untouched.
✅ Check 10 (golden AL simulation): PASS — SGLANG_SIMULATE_ACC_LEN=3.39 with match-expected / real-draft-token for benchmark runs (evals keep real verification); 3.39 equals the committed golden value in golden_al_distribution/qwen3.5_mtp.yaml for thinking_on at 3 speculative tokens; no synthetic-acceptance knobs on non-agentic configs.

@cquil11
cquil11 merged commit 152c2a6 into main Aug 3, 2026
27 checks passed
@cquil11
cquil11 deleted the agent/qwen35-fp4-b300-agentx-mtp branch August 3, 2026 15:39
xiaohuguo2023 pushed a commit to xiaohuguo2023/InferenceX that referenced this pull request Aug 4, 2026
* feat: add Qwen3.5 FP4 B300 AgentX MTP

Add the initial SGLang NEXTN AgentX recipe with golden synthetic acceptance and 256k traces.\n\n中文:新增 Qwen3.5 FP4 B300 AgentX MTP 初始配置,使用 SGLang NEXTN、黄金合成接受长度和 256k 轨迹数据集。

* chore: trigger B300 AgentX sweep

Append the Qwen3.5 FP4 B300 AgentX MTP benchmark entry.\n\n中文:追加 Qwen3.5 FP4 B300 AgentX MTP 基准测试触发记录。

* perf: expand B300 AgentX preflight range

* chore: use SGLang v0.5.16 for Qwen B300

* chore: collect SGLang cache metrics on B300

* fix: remove unsupported SGLang tool-choice flag on B300

* perf: prepare Qwen B300 cache and DEP tuning

Add strict two-pool HiCache accounting, cache reporting, session-sticky DEP8 routing, AgentX request/graph limits, and measured-cache guidance for the B300 frontier.\n\n中文:为 B300 前沿调优加入严格的双池 HiCache 容量核算、缓存统计、会话粘性的 DEP8 路由、AgentX 请求与 CUDA Graph 上限,并记录实测缓存容量依据。

* perf: add B300 HiCache cliff probes

Add isolated TP2 c72 and TP4 c80 DRAM HiCache points so each cache-cliff recovery topology can be measured independently.

中文:添加独立的 TP2 c72 与 TP4 c80 DRAM HiCache 测试点,以便分别测量各拓扑在缓存工作集拐点后的恢复效果。

* fix: enforce Qwen HiCache DRAM total

Account for SGLang target KV, Mamba, and native NEXTN draft host pools as H * 31/15 per rank, with page-alignment reserve, so projected use stays within runner-generated DRAM.

中文:按每个 rank 的 H * 31/15 计入 SGLang 目标 KV、Mamba 与原生 NEXTN 草稿主机缓存,并预留页对齐空间,确保预计用量不超过 runner 生成的 DRAM 上限。

* perf: densify B300 Qwen cache crossover

Add TP4 concurrency points around the measured HiCache crossover and extend the DRAM-offload curve beyond it.\n\n中文:在实测 HiCache 切换区间细化 B300 Qwen TP4 并发点,并将 DRAM 卸载曲线扩展到拐点之后。

* perf: bracket B300 TP2 offload frontier

Remove the measured no-offload thrashing tail and add dense TP2 points across the expected HiCache crossover.\n\n中文:移除实测发生抖动的无卸载尾部配置,并在预期 HiCache 切换区间细化 B300 TP2 并发点。

* perf: remove dominated B300 Qwen DEP topology

Drop the attention-DP arm after live AgentX profiling showed fragmented prefix caches and throughput below the TP frontier. Remove the now-unused router path.\n\n中文:AgentX 实测表明注意力 DP 会导致前缀缓存碎片化且吞吐低于 TP 前沿,因此移除该配置及不再使用的路由路径。

* perf: extend B300 TP2 HiCache tail

Probe three post-c72 offload points to locate saturation of the measured TP2 efficiency frontier.\n\n中文:在 c72 之后增加三个卸载并发点,用于定位实测 B300 TP2 效率前沿的饱和位置。

* perf: prune dominated B300 TP4 tail

Remove the no-offload c96 point after it was dominated by HiCache c80 in both throughput and latency, and refresh the measured crossover note.\n\n中文:无卸载 c96 在吞吐与延迟上均被 HiCache c80 支配,因此移除该点并更新实测切换区间说明。

* perf: cap B300 HiCache at valid working sets

Remove offload points that exceed the measured host-cache validity boundary and densify the final safe interval below c80.\n\n中文:移除超过实测主机缓存有效边界的卸载配置,并在 c80 以下的安全区间细化最终并发点。

* perf: cap B300 TP2 before the cache cliff

Remove no-offload c64 after it stalled under the long-context working set; retain the matched HiCache points beyond c56.\n\n中文:无卸载 c64 在长上下文工作集下停滞,因此移除该点,并保留 c56 之后对应的 HiCache 配置。

* perf: probe B300 TP4 HiCache at the cliff

中文:在缓存工作集拐点测试 B300 TP4 HiCache。

* perf: prune the B300 TP2 no-offload cliff

中文:裁剪 B300 TP2 无卸载配置的缓存拐点尾部。

* fix(agentx): refine B300 cache frontier

中文:优化 B300 缓存悬崖附近的并发点,并使用 SGLang 默认单 tokenizer 启动路径以避免 HiCache 初始化期间的多 tokenizer 共享内存竞态。

* perf(agentx): densify B300 HiCache cliff

中文:在 B300 HiCache 缓存悬崖附近增加 c84、c92 和 c94 测试点,以更细粒度覆盖有效的帕累托前沿。

* perf(agentx): densify B300 TP2 cache crossover

中文:在 B300 TP2 的 c32 至 c56 区间增加 HiCache 重叠测试点,以覆盖一小时 AgentX 预热下可能提前出现的缓存悬崖。

* fix(agentx): scale Qwen tokenization by topology

Use six tokenizer workers for TP4 long-context replay while retaining SGLang default single-worker startup for TP2 HiCache.

中文:TP4 长上下文回放使用 6 个 tokenizer worker;TP2 HiCache 保持 SGLang 默认单 worker 启动路径,避免共享内存初始化竞态。

* perf(agentx): densify B300 TP2 cache boundary

Add HiCache concurrency 34 and 38 around the measured c36-to-c40 transition.

中文:在实测 c36 到 c40 的转折区间补充 HiCache 并发点 34 和 38。

* perf(agentx): refine B300 cache frontier

Densify the TP4 no-offload cliff and remove TP4 HiCache points that are dominated by the TP4 no-offload and TP2 HiCache arms. Keep TP2 HiCache dense through the measured host-KV saturation region.\n\n中文:细化 B300 缓存帕累托前沿;加密 TP4 无卸载缓存临界区间,移除被 TP4 无卸载与 TP2 HiCache 方案支配的 TP4 HiCache 测点,并保留覆盖主机 KV 饱和区间的密集 TP2 HiCache 测点。

* fix(agentx): cap Qwen trace idle gaps

Pin the AIPerf trace idle-gap branch and set the Qwen B300 replay cap to 300 seconds.

* chore(aiperf): pin merged trace idle cap branch

* chore(agentx): bump AIPerf trace idle cap fix

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* fix(agentx): update AIPerf trace-cap cleanup

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* chore(agentx): pin reconstruction-only idle cap

Update AIPerf after removing runtime trace idle enforcement.

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* fix(agentx): update AIPerf warmup handoff

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* fix(agentx): retain baseline parents across warmup

* fix(agentx): extend SGLang keep-alive

* fix(agentx): pin validated AIPerf join timing

中文:将 AIPerf 子模块固定到已验证的 AgentX 交接、请求顺序与父子会合计时修复版本。

* fix(agentx): pin idle-cap scheduler fix

Pin AIPerf to the validated revision that preserves join dependencies while enforcing the whole-system idle cap across replay waits.

中文:将 AIPerf 固定到已验证版本,在保留子代理汇合依赖的同时,对所有回放等待正确执行全局空闲上限。

* fix(agentx): pin zero-idle warmup join fix

Pin AIPerf to e765bcea446082b01bd7014e11fb5008b59ac65d so accelerated warmup compresses replay-time readiness without bypassing subagent completion gates.\n\n中文:将 AIPerf 固定到 e765bcea446082b01bd7014e11fb5008b59ac65d,使加速预热压缩回放时间条件,同时不绕过子代理完成门控。

* fix(agentx): pin runtime trace idle enforcement

Pin AIPerf to the validated replay-root idle watchdog so the 300-second trace cap remains effective under independent parent/subagent runtime clocks without changing request order or join dependencies.

中文:将 AIPerf 固定到已验证的重放根轨迹空闲看门狗版本,使 300 秒轨迹上限在父级/子代理独立运行时时钟下仍然生效,同时不改变请求顺序或会合依赖。

* fix(agentx): pin corrected AIPerf handoff timing

Pin the AIPerf submodule to the exact commit that preserves relative stream offsets through warmup-to-profiling handoff before applying one uniform trace-wide idle-cap shift.

中文:将 AIPerf 子模块固定到精确提交;该提交在预热到性能测试交接期间保留各请求流的相对时序,并仅对整条轨迹统一应用空闲时间上限偏移。

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* fix(agentx): retain full warmup in Qwen B300 fast sweep

Pin the Qwen B300 sweep to the cleaned AIPerf scheduler head and keep ten warmup requests per lane while limiting fast-mode profiling to 20 minutes.\n\n中文:将 Qwen B300 扫描固定到清理后的 AIPerf 调度器最新提交,并让快速模式在 profiling 缩短至 20 分钟的同时,保持每个 lane 发送 10 个预热请求。

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* revert(agentx): remove Qwen B300 fast-mode override

Restore the shared agentx-fast behavior to one warmup request per lane and a 20-minute profile. The PR will run without the modifier label for canonical 10-request warmup and one-hour profiling.

中文:恢复共享的 agentx-fast 行为,每个 lane 发送 1 个预热请求并运行 20 分钟 profiling。本 PR 将移除该修饰标签,以使用标准的每 lane 10 个预热请求和 1 小时 profiling。

* test(agentx): refresh Qwen B300 fast validation

Pin AIPerf to the cache-coherent warmup fix and retain ten warmup requests per lane while limiting fast-mode profiling to 20 minutes.

中文:将 AIPerf 固定到预热缓存一致性修复,并让快速模式保持每个 lane 发送 10 个预热请求,同时将性能测试时长限制为 20 分钟。

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* test(agentx): shorten Qwen B300 fast profile

Pin the latest AIPerf PR SemiAnalysisAI#31 head and reduce the bespoke Qwen B300 fast profile to 10 minutes while retaining ten warmup requests per lane.

中文:将子模块固定到 AIPerf PR SemiAnalysisAI#31 的最新提交,并将 Qwen B300 专用快速性能测试缩短至 10 分钟,同时保持每个 lane 发送 10 个预热请求。

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* test(agentx): pin globally anchored AIPerf handoff

Update Qwen B300 validation to the tested AIPerf revision that preserves profiling phase spacing across the warmup handoff.

中文:将 Qwen B300 验证固定到已测试的 AIPerf 版本,确保 warmup 交接后保留 profiling 阶段的请求间隔。

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* revert(agentx): remove Qwen B300 fast override

Restore the shared AgentX fast-mode behavior so the Qwen B300 PR uses canonical benchmark settings when the modifier label is absent.\n\n中文:移除 Qwen B300 的一次性快速模式覆盖;去掉修饰标签后,该 PR 将恢复使用标准 AgentX 基准测试配置。

* test(agentx): pin flattened warmup handoff timing

Pin AIPerf to f9438058 so non-burst profiling restores all warmup survivors to one shared trajectory clock and preserves cross-stream timing.

中文:将 AIPerf 固定到 f9438058,使非突发 profiling 将所有 warmup 后存活的请求流恢复到同一轨迹时钟,并保留跨请求流的时序。

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* test(agentx): pin barrier-aware idle watchdogs

Pin the AIPerf revision that preserves flattened warmup handoff timing and keeps global and per-tree idle watchdogs active across dependency-retained timers.

中文:固定包含 AgentX 扁平化预热交接时序修复的 AIPerf 版本,并确保全局及单轨迹空闲看门狗在计时器被依赖屏障保留后仍持续生效。

Signed-off-by: Cam Quilici <cjquilici@gmail.com>

* test(agentx): use GSM8K for Qwen B300 eval

中文:Qwen B300 AgentX 扫描使用 GSM8K 评估,避免运行耗时的 SWE-bench。

* feat: add Qwen3.5 FP4 B300 AgentX MTP

Add the initial SGLang NEXTN AgentX recipe with golden synthetic acceptance and 256k traces.\n\n中文:新增 Qwen3.5 FP4 B300 AgentX MTP 初始配置,使用 SGLang NEXTN、黄金合成接受长度和 256k 轨迹数据集。

* chore: trigger B300 AgentX sweep

Append the Qwen3.5 FP4 B300 AgentX MTP benchmark entry.\n\n中文:追加 Qwen3.5 FP4 B300 AgentX MTP 基准测试触发记录。

* perf: expand B300 AgentX preflight range

* chore: use SGLang v0.5.16 for Qwen B300

* chore: collect SGLang cache metrics on B300

* fix: remove unsupported SGLang tool-choice flag on B300

* perf: prepare Qwen B300 cache and DEP tuning

Add strict two-pool HiCache accounting, cache reporting, session-sticky DEP8 routing, AgentX request/graph limits, and measured-cache guidance for the B300 frontier.\n\n中文:为 B300 前沿调优加入严格的双池 HiCache 容量核算、缓存统计、会话粘性的 DEP8 路由、AgentX 请求与 CUDA Graph 上限,并记录实测缓存容量依据。

* perf: add B300 HiCache cliff probes

Add isolated TP2 c72 and TP4 c80 DRAM HiCache points so each cache-cliff recovery topology can be measured independently.

中文:添加独立的 TP2 c72 与 TP4 c80 DRAM HiCache 测试点,以便分别测量各拓扑在缓存工作集拐点后的恢复效果。

* fix: enforce Qwen HiCache DRAM total

Account for SGLang target KV, Mamba, and native NEXTN draft host pools as H * 31/15 per rank, with page-alignment reserve, so projected use stays within runner-generated DRAM.

中文:按每个 rank 的 H * 31/15 计入 SGLang 目标 KV、Mamba 与原生 NEXTN 草稿主机缓存,并预留页对齐空间,确保预计用量不超过 runner 生成的 DRAM 上限。

* perf: densify B300 Qwen cache crossover

Add TP4 concurrency points around the measured HiCache crossover and extend the DRAM-offload curve beyond it.\n\n中文:在实测 HiCache 切换区间细化 B300 Qwen TP4 并发点,并将 DRAM 卸载曲线扩展到拐点之后。

* perf: bracket B300 TP2 offload frontier

Remove the measured no-offload thrashing tail and add dense TP2 points across the expected HiCache crossover.\n\n中文:移除实测发生抖动的无卸载尾部配置,并在预期 HiCache 切换区间细化 B300 TP2 并发点。

* perf: remove dominated B300 Qwen DEP topology

Drop the attention-DP arm after live AgentX profiling showed fragmented prefix caches and throughput below the TP frontier. Remove the now-unused router path.\n\n中文:AgentX 实测表明注意力 DP 会导致前缀缓存碎片化且吞吐低于 TP 前沿,因此移除该配置及不再使用的路由路径。

* perf: extend B300 TP2 HiCache tail

Probe three post-c72 offload points to locate saturation of the measured TP2 efficiency frontier.\n\n中文:在 c72 之后增加三个卸载并发点,用于定位实测 B300 TP2 效率前沿的饱和位置。

* perf: prune dominated B300 TP4 tail

Remove the no-offload c96 point after it was dominated by HiCache c80 in both throughput and latency, and refresh the measured crossover note.\n\n中文:无卸载 c96 在吞吐与延迟上均被 HiCache c80 支配,因此移除该点并更新实测切换区间说明。

* perf: cap B300 HiCache at valid working sets

Remove offload points that exceed the measured host-cache validity boundary and densify the final safe interval below c80.\n\n中文:移除超过实测主机缓存有效边界的卸载配置,并在 c80 以下的安全区间细化最终并发点。

* perf: cap B300 TP2 before the cache cliff

Remove no-offload c64 after it stalled under the long-context working set; retain the matched HiCache points beyond c56.\n\n中文:无卸载 c64 在长上下文工作集下停滞,因此移除该点,并保留 c56 之后对应的 HiCache 配置。

* perf: probe B300 TP4 HiCache at the cliff

中文:在缓存工作集拐点测试 B300 TP4 HiCache。

* perf: prune the B300 TP2 no-offload cliff

中文:裁剪 B300 TP2 无卸载配置的缓存拐点尾部。

* fix(agentx): refine B300 cache frontier

中文:优化 B300 缓存悬崖附近的并发点,并使用 SGLang 默认单 tokenizer 启动路径以避免 HiCache 初始化期间的多 tokenizer 共享内存竞态。

* perf(agentx): densify B300 HiCache cliff

中文:在 B300 HiCache 缓存悬崖附近增加 c84、c92 和 c94 测试点,以更细粒度覆盖有效的帕累托前沿。

* perf(agentx): densify B300 TP2 cache crossover

中文:在 B300 TP2 的 c32 至 c56 区间增加 HiCache 重叠测试点,以覆盖一小时 AgentX 预热下可能提前出现的缓存悬崖。

* fix(agentx): scale Qwen tokenization by topology

Use six tokenizer workers for TP4 long-context replay while retaining SGLang default single-worker startup for TP2 HiCache.

中文:TP4 长上下文回放使用 6 个 tokenizer worker;TP2 HiCache 保持 SGLang 默认单 worker 启动路径,避免共享内存初始化竞态。

* perf(agentx): densify B300 TP2 cache boundary

Add HiCache concurrency 34 and 38 around the measured c36-to-c40 transition.

中文:在实测 c36 到 c40 的转折区间补充 HiCache 并发点 34 和 38。

* perf(agentx): refine B300 cache frontier

Densify the TP4 no-offload cliff and remove TP4 HiCache points that are dominated by the TP4 no-offload and TP2 HiCache arms. Keep TP2 HiCache dense through the measured host-KV saturation region.\n\n中文:细化 B300 缓存帕累托前沿;加密 TP4 无卸载缓存临界区间,移除被 TP4 无卸载与 TP2 HiCache 方案支配的 TP4 HiCache 测点,并保留覆盖主机 KV 饱和区间的密集 TP2 HiCache 测点。

* fix(agentx): cap Qwen trace idle gaps

Pin the AIPerf trace idle-gap branch and set the Qwen B300 replay cap to 300 seconds.

* fix(agentx): extend SGLang keep-alive

* test(agentx): use GSM8K for Qwen B300 eval

中文:Qwen B300 AgentX 扫描使用 GSM8K 评估,避免运行耗时的 SWE-bench。

* Update nvidia-master.yaml

---------

Signed-off-by: Cam Quilici <cjquilici@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

2 participants