Skip to content

DeepSeek-V4-Pro-0813 B200 FP4 vLLM AgentX/ DeepSeek-V4-Pro-0813 B200 FP4 vLLM AgentX - #4554

Open
hshrivastava-droid wants to merge 3 commits into
mainfrom
dsv4pro0813-b200-vllm-agentic-configs
Open

hshrivastava-droid wants to merge 3 commits into
mainfrom
dsv4pro0813-b200-vllm-agentic-configs

Conversation

@hshrivastava-droid

Copy link
Copy Markdown
Collaborator

Summary

  • Configs: dsv4-fp4-b200-vllm-agentic-mtp, dsv4-fp4-b200-vllm-agentic-mtp-lowconc
  • Images: vllm/vllm-openai:nightly-8e2beaa3bff595577a069d49d96bde9074294ec2@sha256:3207cb99c0f59b92f7d47a74da8c6eb5467565d811a4f8d9df51df5188f59c70, vllm/vllm-openai@sha256:d428631bb917a33d22308265d1b8be91522f862bf9fd133bee62dde3313664ae
AI model disclosure
  • Model/version: Claude Sonnet 5.5 (claude-sonnet-5-5)
  • Role: prepared the PR
PR checklist and change type

Type of Change

  • Bug fix
  • New feature
  • Configuration change
  • Documentation update
  • Other (please describe)

Checklist

  • I have completed the AI model disclosure and kept it current
  • I have tested my changes locally
  • I have updated documentation if necessary
  • If python -m infx.matrix.changed --base origin/main lists affected config keys, I have appended one new entry covering them to the physical end of inferencex-e2e/perf-changelog.yaml; if it lists none, I have added none. I have not edited historical entries
  • If this PR appends an inferencex-e2e/perf-changelog.yaml entry, it carries exactly one primary sweep label (a maintainer applies it on fork PRs): full-sweep-fail-fast (recommended), full-sweep-enabled, or non-canary-full-sweep-enabled. Optional modifiers all-evals, evals-only, and agentx-fast require a primary label; the last two block reuse while applied.
  • Before merging via reuse, an authorized maintainer (OWNER/MEMBER/COLLABORATOR) has commented /use <run_id> (or the legacy /reuse-sweep-run) on this PR. Do this only once there is a final full sweep that is all green with evals passing, since after this comment the primary sweep label will no longer automatically kick off new sweeps. Remove and re-add the primary sweep label to force a new sweep.
中文
  • 配置: dsv4-fp4-b200-vllm-agentic-mtp、dsv4-fp4-b200-vllm-agentic-mtp-lowconc
  • 镜像: vllm/vllm-openai:nightly-8e2beaa3bff595577a069d49d96bde9074294ec2、vllm/vllm-openai@sha256:d428631b…
  • 改动类型: 配置变更
  • AI 模型使用说明: Claude Sonnet 5.5,负责准备此 PR

🤖 Generated with Claude Code

…10/c16/c32 configs / DeepSeek-V4-Pro-0813 B200 FP4 vLLM AgentX:提交 ARIA 选中的 c1/c4/c10/c16/c32 配置

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@hshrivastava-droid
hshrivastava-droid requested a review from a team October 26, 2026 22:03
@hshrivastava-droid hshrivastava-droid added the full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures label Oct 26, 2026
@hshrivastava-droid hshrivastava-droid added the full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures label Oct 26, 2026
@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 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

@hshrivastava-droid hshrivastava-droid added full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures and removed full-sweep-enabled Full sweep with canary gate; matrix jobs run to completion despite failures labels Oct 26, 2026
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

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

Findings marked 🟡 are optional suggestions and need no follow-up push.

Additional findings (outside the current diff — GitHub can't attach inline comments there):

  • 🟡 inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/vllm/b200-fp4-mtp/agentic.yaml — No config runs override_tp8_c1 or override_tp8_c4 in agentic.yaml anymore, so they are dead variants. The base key's TP8 row is now conc [6, 14]. The lowconc key runs c1/c4 from agentic-lowconc.yaml. No other config points at this recipe dir. Fix: delete both blocks, as AGENTS.md requires for configs no active config uses.

    Why this was flagged

    nvidia-master.yaml:905 narrows the dsv4-fp4-b200-vllm-agentic-mtp TP8 row to conc-list [6, 14]. nvidia-master.yaml:922 sends c1/c4 for the lowconc key to agentic-lowconc.yaml. The only references to dsv4/vllm/b200-fp4-mtp are nvidia-master.yaml:899 and :917. So no matrix point picks agentic.yaml:66 override_tp8_c1 or agentic.yaml:82 override_tp8_c4. Before this change the base key ran both. They are now stale copies that differ from the live agentic-lowconc.yaml values (53687091200 vs 42949672960 KV bytes, different cudagraph sizes). AGENTS.md "Deprecating benchmark configs" says to delete recipes no active config uses.

    Verification: nit. The base key's TP8 row narrows from conc-list: [1, 4, 6, 10, 14, 16] to [6, 14], and the lowconc key sends c1/c4 to agentic-lowconc.yaml. validate_recipe matches benchmark.env.CONC (infx/srt_slurm/single_node.py:145-147), so override_tp8_c1 (agentic.yaml:66) and override_tp8_c4 (agentic.yaml:82) are never selected. Nothing breaks.

Comment on lines +159 to +171
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":120000000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
tensor-parallel-size: 8
data-parallel-size: 1
max-num-batched-tokens: 16384
kv-cache-memory-bytes: 53687091200
max-num-seqs: 16
compilation-config: '{"cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[7,14,21,28,35,42,49,56,63,70,77,84,91,98,100,105,112,200,300,400,500]}'
env:
VLLM_DSV4_MEGA_FP8_COMBINE: null
benchmark:
env:
CONC: '16'
KV_OFFLOADING: none
KV_OFFLOADING: dram

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 c16 DRAM-offload result will record 1932 GB of allocated CPU DRAM, but the recipe pins only about 960 GB. The override sets cpu_bytes_to_use_per_rank to 120000000000 across 8 TP ranks. The lowconc key's scenario still uses dram-utilization: 0.90, which gives TOTAL_CPU_DRAM_GB 1932. Fix: make the recorded budget match the pinning. Either give the c16 row its own scenario entry with a dram-utilization of about 0.45, or raise the per-rank bytes to 241500000000. Also pin TOTAL_CPU_DRAM_GB in the override, as every other dram override in this file does, so the binder catches a mismatch.

Why this was flagged

The lowconc key at nvidia-master.yaml (row kv-offloading: dram, conc-list: [16], srt-recipe: agentic.yaml) sits under the scenario's dram-utilization: 0.90. agentic_dram_offload_gb (infx/matrix/generate.py:475-518) turns that into TOTAL_CPU_DRAM_GB=1932 for the 8-GPU point. That is the same value the DEP8 overrides pin, and they allocate exactly 8 x 241500000000 bytes. The new override_tp8_c16 (agentic.yaml:159) allocates 8 x 120000000000 bytes, about 960 GB. infx/results/agentic/__init__.py:205 publishes allocated_cpu_dram_gb from TOTAL_CPU_DRAM_GB, so the c16 point is reported with about twice the DRAM it actually used. The base branch ran c16 with KV_OFFLOADING: none, so it recorded no DRAM budget at all. The binder's guard (single_node.py:145) only compares TOTAL_CPU_DRAM_GB when the recipe sets it. Unlike override_dep8_c32..c192, override_tp8_c16 does not set it, so the guard never fires.

Verification: Trigger: the lowconc key's c16 DRAM row runs. The result's allocated_cpu_dram_gb then reads 1932 GB, but the server pins only about 960 GB. The new override_tp8_c16 in agentic.yaml (line 159) sets "cpu_bytes_to_use_per_rank":120000000000 across tensor-parallel-size 8. Its benchmark.env does not pin TOTAL_CPU_DRAM_GB, so infx/srt_slurm/single_node.py:145 never fires.

reasoning-parser: deepseek_v4
served-model-name: deepseek-ai/DeepSeek-V4-Pro-0813
speculative-config: '{"method":"dspark","num_speculative_tokens":6,"draft_sample_method":"probabilistic","rejection_sample_method":"synthetic","synthetic_acceptance_length":3.77}'
tensor-parallel-size: 2

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.

🟡 (optional) The new TP2xDP4 recipes hard-code a synthetic acceptance length of 3.77, which AGENTS.md forbids. These are the only recipes in the repo that pin synthetic_acceptance_length. The value is not taken from the measured golden curves. The same speculative-config line appears in agentic-tp2dp4-c48.yaml:54. Fix: in both files, drop rejection_sample_method and synthetic_acceptance_length so speculative-config matches agentic.yaml ({"method":"dspark","num_speculative_tokens":6,"draft_sample_method":"probabilistic"}). The srt driver then injects the golden AL from infx/golden_al_distribution/.

Why this was flagged

AGENTS.md (Launchers and hooks) says: "Never hard-code synthetic acceptance lengths; the srt driver picks measured values from infx/golden_al_distribution/". golden_al_distribution/README.md:152 also says recipes must not add vLLM synthetic_acceptance_length. agentic-tp2dp4-c64.yaml:55 and agentic-tp2dp4-c48.yaml:54 both set "rejection_sample_method":"synthetic","synthetic_acceptance_length":3.77. A repo-wide grep finds no other recipe that sets it. synthetic_acceptance.py:231-241 overwrites the value when a golden AL exists and otherwise switches to block rejection. So the literal only works by accident, and the recipe misstates the behaviour it encodes. The sibling recipe agentic.yaml leaves both fields unset.

Verification: nit. This breaks a rule the repo writes down, but at runtime the driver overwrites or removes the pinned value. AGENTS.md:98 says "Never hard-code synthetic acceptance lengths". agentic-tp2dp4-c64.yaml:54 and agentic-tp2dp4-c48.yaml:54 both set synthetic_acceptance_length to 3.77. No test lints recipes for this field, so CI will not catch it.

Comment on lines +906 to +928
# DEP8 SimpleCPU + DSpark6; c32 runs TP4 x DP2 expert-parallel
- { tp: 8, ep: 8, dp-attn: true, kv-offloading: dram, kv-offload-backend: { name: vllm-simple }, spec-decoding: draft_model, conc-list: [32, 64, 96, 128, 160, 192], router: { name: vllm-router, version: "0.1.14" }, srt-recipe: agentic.yaml }

dsv4-fp4-b200-vllm-agentic-mtp-lowconc:
image: vllm/vllm-openai@sha256:d428631bb917a33d22308265d1b8be91522f862bf9fd133bee62dde3313664ae
model: deepseek-ai/DeepSeek-V4-Pro-0813
model-prefix: dsv4
runner: cluster:b200-nscale
precision: fp4
framework: vllm
multinode: false
srt-recipe-dir: dsv4/vllm/b200-fp4-mtp
scenarios:
agentic-coding:
- dram-utilization: 0.90
search-space:
- { tp: 8, kv-offloading: none, spec-decoding: draft_model, conc-list: [1, 4], srt-recipe: agentic-lowconc.yaml }
# TP8 c10 and c16 use the agentic.yaml overrides; c16 adds SimpleCPU KV offload
- { tp: 8, kv-offloading: none, spec-decoding: draft_model, conc-list: [10], srt-recipe: agentic.yaml }
- { tp: 8, kv-offloading: dram, kv-offload-backend: { name: vllm-simple }, spec-decoding: draft_model, conc-list: [16], srt-recipe: agentic.yaml }
# TP2 x DP4 expert-parallel SimpleCPU + DSpark6 at c64
- { tp: 8, ep: 8, dp-attn: true, kv-offloading: dram, kv-offload-backend: { name: vllm-simple }, spec-decoding: draft_model, conc-list: [64], router: { name: vllm-router, version: "0.1.14" }, srt-recipe: agentic-tp2dp4-c64.yaml }
# TP2 x DP4 expert-parallel SimpleCPU + DSpark6 at c48

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.

🟡 nit (optional): The new master-config comments only describe the rows below them, which the AGENTS.md Comments rule forbids. Examples: "TP2 x DP4 expert-parallel SimpleCPU + DSpark6 at c64" and "TP8 c10 and c16 use the agentic.yaml overrides; c16 adds SimpleCPU KV offload". Fix: remove the added comments at nvidia-master.yaml:906 (the "; c32 runs TP4 x DP2" suffix), :923, :926 and :928.

Why this was flagged

AGENTS.md "Comments (mandatory, every file)" bans header comments that describe a config or section. It also bans comments that restate the code. nvidia-master.yaml:923, :926 and :928 are new comments that only restate the tp/ep/conc/srt-recipe fields of the next row. The diff extends :906 with "; c32 runs TP4 x DP2 expert-parallel", which restates the recipe's tensor/data parallel sizes. None of them gives a technical reason for a value.

Verification: The rule is in AGENTS.md lines 54-58, and it says "No header comments describing a file, topology, config, recipe, override, or section". Each comment added in inferencex-e2e/configs/nvidia-master.yaml describes the topology or section of the rows below it. None gives a reason a value was chosen. Nothing breaks at runtime.

hshrivastava-droid and others added 2 commits October 27, 2026 14:14
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@hshrivastava-droid hshrivastava-droid changed the title DeepSeek-V4-Pro-0813 B200 FP4 vLLM AgentX: ship ARIA-selected c1/c4/c10/c16/c32 configs / DeepSeek-V4-Pro-0813 B200 FP4 vLLM AgentX:提交 ARIA 选中的 c1/c4/c10/c16/c32 配置 DeepSeek-V4-Pro-0813 B200 FP4 vLLM AgentX/ DeepSeek-V4-Pro-0813 B200 FP4 vLLM AgentX Oct 27, 2026
@hshrivastava-droid

Copy link
Copy Markdown
Collaborator Author

/use 40585790288

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

@hshrivastava-droid staged run 40585790288.

This run remains available across future /stage-results requests. Staging the same run ID again updates its staged data. Staging workflow

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