Skip to content

[Klaud Cold] Port #3393: dsv41flash-fp4-b200-vllm-agentic-dspark to vLLM nightly-0961bbae with FlashInfer sparse indexer + fp8 KV - #3459

Open
functionstackx wants to merge 1 commit into
mainfrom
klaud/dsv41flash-fp4-b200-vllm-agentic-dspark-nightly-0961bbae
Open

functionstackx wants to merge 1 commit into
mainfrom
klaud/dsv41flash-fp4-b200-vllm-agentic-dspark-nightly-0961bbae

Conversation

@functionstackx

Copy link
Copy Markdown
Collaborator

Summary

Port of #3393 (by @xinli-sw) onto the srt-slurm recipe that #3428 moved this config to. #3393 edits the shared legacy benchmarks/single_node/agentic/dsv41flash_fp4_vllm_mtp.sh script plus a B200 launcher opt-in, neither of which the B200 DeepSeek-V4.1-Flash vLLM AgentX config uses any more.

Recipes touched: dsv41flash-fp4-b200-vllm-agentic-dspark

Changes:

Topology, conc lists, CUDA-graph ladders and memory limits are unchanged. #3393's settings passed a full sweep on the legacy path (run 35902738208: all 16 AgentX points, GSM8K strict EM 0.978); this PR re-validates them on the native srt-slurm path. Companion B300 port: #3458.

Test plan

  • full-sweep-enabled sweep passes.

🤖 Generated with Claude Code

…LLM nightly-0961bbae with FlashInfer sparse indexer + fp8 KV

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@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 only run on labeled PRs. Add full-sweep-fail-fast (strongly recommended); use full-sweep-enabled only when matrix jobs should continue after a failure.
  • 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 上运行。强烈建议添加 full-sweep-fail-fast;仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled。
  • **合并后:**PR 作者必须确保所有 GitHub Actions 任务通过。临时性失败通常可以通过重新运行恢复;参见重新运行失败任务的说明。

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

Beyond the inline finding, I checked whether the new kv-cache-dtype: fp8 and indexer_kv_dtype: mxfp4 settings lower the DSpark draft's effective precision (CONTRIBUTING's draft-model-precision rule) — these are KV-cache/sparse-indexer storage dtypes, not draft-weight overrides, and the unchanged speculative-config block still loads the draft unmodified, consistent with this repo's own precedent for the same kv_cache_dtype=fp8 setting a few lines above in the Kimi-K3 changelog entry.

Extended reasoning...

Config-only PR bumping a vLLM nightly tag, health-check timeouts, and adding a FlashInfer sparse-indexer/fp8-KV attention config plus one perf-changelog entry; no source, launcher, or auth/crypto/permissions code is touched. A CONFIRMED inline finding already flags the unresolved PRLINK_PLACEHOLDER, which is enough on its own to warrant human review, so I deferred rather than approved. I additionally traced the draft-precision question the applicable guidance calls out and found no weight-precision regression, which is worth recording since it's not covered by the inline finding.

Comment thread perf-changelog.yaml Outdated
- dsv41flash-fp4-b200-vllm-agentic-dspark
description:
- "Port #3393 onto the srt-slurm recipe: pin B200 DeepSeek-V4.1-Flash vLLM to the 2026-09-22 nightly 0961bbae (from nightly-cd10ed6f); enable FlashInfer sparse attention (FLASHINFER_MLA_SPARSE_DSV41) with MXFP4 indexer KV and sparse indexer logits at both TP2 and TP4, plus fp8 KV cache; raise the engine readiness timeout to 7200 s (health check 720 x 10 s). Topology, conc lists and memory limits unchanged."
pr-link: PRLINK_PLACEHOLDER

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 changelog entry's pr-link uses the literal string PRLINK_PLACEHOLDER, which the repo's merge tooling does not recognize as a placeholder, so merge-time canonicalization for this entry will fail. infx/workflows/validate_perf_changelog.py's PR_LINK_PLACEHOLDERS set only accepts "XXX" or "https://github.com/SemiAnalysisAI/InferenceX/pull/XXX" (validate_added_pr_link, line 142-145); "PRLINK_PLACEHOLDER" matches neither and isn't the expected pull/<pr_number> URL either. Fix: replace pr-link with the documented XXX placeholder (or the real PR URL) so utils/merge_with_reuse.sh's prepare_perf_changelog_merge step can canonicalize it at merge time instead of raising ChangelogValidationError.

Why this was flagged

perf-changelog.yaml:8970 sets pr-link: PRLINK_PLACEHOLDER for the new dsv41flash-fp4-b200-vllm-agentic-dspark entry. When this PR is merged via utils/merge_with_reuse.sh, prepare_perf_changelog_merge.py calls compare_entries -> validate_added_pr_link (infx/workflows/validate_perf_changelog.py:134-145), which only tolerates "XXX"/".../pull/XXX" or the exact expected pull/<pr_number> URL for a new entry. "PRLINK_PLACEHOLDER" is neither, so validate_added_pr_link raises ChangelogValidationError("new PR entry must use ... found 'PRLINK_PLACEHOLDER'"), blocking the reuse-merge path/gate that main relies on for append-only changelog integrity, unlike the base branch where no such stray placeholder exists in this file.

Verification: normal. The new tail entry sets pr-link: PRLINK_PLACEHOLDER (git diff perf-changelog.yaml, added lines under config-keys dsv41flash-fp4-b200-vllm-agentic-dspark). The supported merge command utils/merge_with_reuse.sh <pr> runs python -m infx.workflows.prepare_perf_changelog_merge canonicalize --pr-number "$PR" (merge_with_reuse.sh:169-174). That calls canonicalize_bytes →… | normal.…

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

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant