Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ base:
speculative-algorithm: DSPARK
speculative-dspark-block-size: 7
speculative-use-block-verification: true
# FP8 draft KV, as vLLM's DSpark drafter uses; bf16 costs ~10 GB of HBM per rank.
speculative-draft-kv-cache-dtype: fp8_e4m3
cuda-graph-backend-prefill: breakable
tokenizer-worker-num: 8
watchdog-timeout: 3600
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ base:
speculative-algorithm: DSPARK
speculative-dspark-block-size: 7
speculative-use-block-verification: true
# FP8 draft KV, as vLLM's DSpark drafter uses; bf16 costs ~10 GB of HBM per rank.
speculative-draft-kv-cache-dtype: fp8_e4m3
Comment on lines +36 to +37

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.

🔴 After merging, the GB300 MiniMax-M3.1-Flash SGLang AgentX curve runs its DSpark draft below shipped precision, which CONTRIBUTING.md#draft-model-precision forbids. speculative-draft-kv-cache-dtype: fp8_e4m3 targets only the draft. No target kv-cache-dtype is set, so target KV stays at the bf16 default. Fix: drop the draft-only override in both recipes and their changelog line, or use one upstream-supported KV dtype for target and draft alike. Same pattern at 2 sites (gb300-fp4-mtp/agentic.yaml:37, gb300-fp4-mtp/agentic-tp2.yaml:37).

Why this was flagged

The base agg role args of agentic.yaml:37 and agentic-tp2.yaml:37 now set speculative-draft-kv-cache-dtype: fp8_e4m3. Neither recipe sets a target kv-cache-dtype. The PR's own changelog entry (perf-changelog.yaml, new block) says this replaces "the bf16 default", so the effective draft KV precision drops below the pinned image's default for this checkpoint. On the base branch the draft KV runs at the shipped bf16 default and is compliant. CONTRIBUTING.md lists "Dtype or KV-cache dtype overrides aimed at the draft that lower its precision below the framework's default for that checkpoint" as forbidden. It says matching an upstream recipe (here, vLLM's DSpark drafter) and passing evals or synthetic AL do not exempt this. The allowed case is FP8 draft KV inherited from an FP8 target KV, which does not apply here. Every point except agentic-low-latency.yaml in config key minimaxm31flash-fp4-gb300-sglang-agentic-dspark would publish non-compliant throughput gained by cheapening the draft.

Verification: agentic.yaml:36-37 and agentic-tp2.yaml:36-37 add speculative-draft-kv-cache-dtype: fp8_e4m3 to the base agg args, and no SGLang minimaxm31flash recipe sets kv-cache-dtype. So the effective draft KV precision drops from the pinned image's default (bf16) to FP8, which CONTRIBUTING.md lines 86-87 forbid. On the base branch the draft runs at the default bf16 KV and is compliant.

cuda-graph-backend-prefill: breakable
tokenizer-worker-num: 8
watchdog-timeout: 3600
Expand Down
8 changes: 8 additions & 0 deletions inferencex-e2e/perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11489,3 +11489,11 @@
- "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image from lmsysorg/sglang-rocm:v0.5.22-rocm720-mi35x-20261019 to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261026, the latest published MI35x ROCm 10 nightly (digest sha256:edabad83728ab04e3eae39f315eb16261eeb64dbdb051112bd22fc88560b60c4)."
- "Preserve all eight concurrency points (1, 16, 32, 48, 192, 256, 384, 512), prefill/decode topology, DSpark settings, UMBP offload, MoRI transfer, and benchmark client image. The workload binder supplies the serving image to every selected recipe variant."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4571

- config-keys:
- minimaxm31flash-fp4-gb300-sglang-agentic-dspark
description:
- "Store the DSpark draft KV cache in FP8 (speculative-draft-kv-cache-dtype fp8_e4m3) on every point except the batch-size-1 MonoKernel Low-Latency point, instead of the bf16 default, matching the vLLM DSpark drafter; this frees HBM and HiCache host pool space for target KV."
- "Rerun the whole curve so it is measured on one recipe revision."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4600
scenario-type: [agentic-coding]
Loading