Add dsv4f-fp8-b200-vllm: DeepSeek-V4-Flash-0731 FP8 B200 vLLM single-node recipe - #2535
Open
stewtong wants to merge 2 commits into
Open
Add dsv4f-fp8-b200-vllm: DeepSeek-V4-Flash-0731 FP8 B200 vLLM single-node recipe#2535stewtong wants to merge 2 commits into
stewtong wants to merge 2 commits into
Conversation
stewtong
requested review from
Ankur-singh,
chunfangamd and
kedarpotdar-nv
as code owners
August 8, 2026 18:48
stewtong
force-pushed
the
add-dsv4f-fp8-b200-vllm
branch
from
August 8, 2026 19:07
26e838c to
cacb02c
Compare
…node 8x B200) First Flash-on-B200 config key: TP8+EP8 and DP8 (dp-attn)+EP8 arms in the single-turn 8k1k scenario, vLLM v0.25.0, on the new cluster:b200-nb label (Nebius fleet). Recipe validated on Nebius 8x B200 SXM; report upstream at vllm-project/vllm#51454.
stewtong
force-pushed
the
add-dsv4f-fp8-b200-vllm
branch
from
August 9, 2026 16:15
cacb02c to
f37fa26
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
dsv4f-fp8-b200-vllm: the first DeepSeek-V4-Flash config key on B200. The repo covers DeepSeek-V4-Pro on B200 (dsv4-fp4-b200-vllmand siblings) but ships no Flash key on any hardware, and no public Flash recipe on 8x B200 exists anywhere I can find; every published Flash serving configuration is 4 GPUs.The recipe is the one I validated on an 8x B200 SXM6 node and reported upstream:
What's here
benchmarks/single_node/fixed_seq_len/dsv4f_fp8_b200_vllm.shdsv4_fp4_b200_vllm.sh.configs/nvidia-master.yamlconfigs/runners.yamlcluster:b200-nblabel (b200-nb_0,b200-nb_1).MODELS.md/MODELS_zh.mddsv4f.perf-changelog.yamlpr-linkcarries the XXX placeholder until this PR has a number).Recipe
vllm/vllm-openai:v0.25.0, digestsha256:e1c1ff1af9a15921bfa11d1d95047258c1797392cdbfa296e7639da446b23f97, vLLM builddd10e03f95f94edbea1975c67ace3a35ec9a8a40.deepseek-ai/DeepSeek-V4-Flash-0731, snapshot7872f01b1d1fe23eabc4c98b48bffcef5a386062, pinned in the script asMODEL_REVISION(passed tohf downloadand--revisionwhenMODELis a bare HF id; inert when a launcher hands a pre-staged path).--kv-cache-dtype fp8 --block-size 256 --moe-backend deep_gemm_mega_moe --attention_config.use_fp4_indexer_cache=True, thedeepseek_v4tokenizer / tool-call / reasoning parsers,--max-num-batched-tokens 8192,--max-num-seqs 256,--gpu-memory-utilization 0.95.Two arms, one key
Both arms run expert parallel because vLLM v0.25.0's MegaMoE backend refuses engine init without it (
NotImplementedErrorbefore weight load, reproduced twice on purpose in the supporting runs). Following the shape ofdsv4-fp4-b200-vllm, TP and DP are search-space entries in one key, not two keys:TP8 is the single-stream and latency arm: at 1M the TP8 vs DP8 break-even is c=3, and TP8 carries c=1 to c=2. DP8 (attention DP + EP8, eight TP1 replicas) is the concurrency and long-context arm, capped at conc 256 by
--max-num-seqs.Runner label
cluster:b200-nbpoints at the two Nebius B200 nodes already registered under the broadb200label. A new model prefix needs this: the broad label also schedulesb200-dgxcnodes, whose launcher hard-fails on an unknown prefix, and every search-space point should land on the same fleet anyway. Theb200-nblauncher is prefix-agnostic (HF-hub cache mount plus in-script download guard), so no launcher change is required.Validation
bash -nclean on the new script; all three YAML files parse.generate_sweep_configs.py full-sweepon the whole master config andtest-config --config-keys dsv4f-fp8-b200-vllmboth pass; the key generates exactly 11 jobs (TP8 conc 1-64, DP8 conc 64-256) oncluster:b200-nb.pytest utils/matrix_logic/224 passed; the full changelog-gate pytest set 171 passed.utils/validate_perf_changelog.py --base-ref origin/main --head-ref HEAD: clean; new entry at file tail, additions-only diff.Sweep results to follow.