-
Notifications
You must be signed in to change notification settings - Fork 305
Qualify B200 DeepSeek-V4.1-Flash on vLLM nightly 0961bbae / 在 B200 上验证 DeepSeek-V4.1-Flash 的 vLLM nightly 0961bbae #3393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -77,6 +77,15 @@ if (( TP == 2 || (TP < 8 && GPU_MEM_MIB < 150000) )); then | |
| LOW_TP_ARGS=(--max-num-batched-tokens 4096 --max-num-seqs "$MAX_NUM_SEQS") | ||
| fi | ||
|
|
||
| # The SKU launcher opts into the Blackwell sparse indexer settings only | ||
| # with an image that contains these backends. This script also serves H200. | ||
| # TP2 and TP4 use FlashInfer sparse attention; fp8 resolves the backend KV layout. | ||
| ATTENTION_ARGS=() | ||
| if [[ "${DSV41_BLACKWELL_ATTENTION:-}" == true ]]; then | ||
| ATTENTION_CONFIG='{"backend":"FLASHINFER_MLA_SPARSE_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}' | ||
| ATTENTION_ARGS=(--attention-config "$ATTENTION_CONFIG" --kv-cache-dtype fp8) | ||
| fi | ||
|
Comment on lines
+83
to
+87
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 GB200/GB300 agentic runs pick up the new sparse-indexer attention flags via this shared script, even though those images weren't bumped for it. The GPU_MEM_MIB>=150000 gate at line 84 also fires for gb200-nv (256GB) and gb300-nv (277GB), since dsv41flash_fp4_gb200_vllm_mtp.sh and dsv41flash_fp4_gb300_vllm_mtp.sh are symlinks to this file. But configs/nvidia-master.yaml leaves their images unchanged: gb200 stays on nightly-cd10ed6f9f6b37a8ace9cf380007e66fe12ec0c3 (the exact build b200 is moving off in this PR) and gb300 on nightly-af1c01499b289be555c475669ba50a88e96d846e. If either predates the new FLASHINFER_MLA_SPARSE_DSV41/FLASHMLA_MEGA_ATTN_DSV41 backends, vllm serve rejects --attention-config on the next gb200/gb300 sweep. … Why this was flagged…Fix: gate ATTENTION_ARGS on the vLLM image/version that actually ships the backend, not on GPU memory alone, or bump gb200/gb300 images together with b200. dsv41flash_fp4_gb200_vllm_mtp.sh and dsv41flash_fp4_gb300_vllm_mtp.sh are symlinks to dsv41flash_fp4_vllm_mtp.sh (verified via ls -la), so the new ATTENTION_ARGS block (lines 83-91) runs for them too. Its only gate is GPU_MEM_MIB>=150000 at line 84, true for GB200 (256GB) and GB300 (277GB) per the script's own comments at lines 50-51. configs/nvidia-master.yaml:8093 pins gb200-vllm-agentic-dspark to nightly-cd10ed6f9f6b37a8ace9cf380007e66fe12ec0c3, unbumped by this PR and identical to b200's pre-bump image; gb300 (line 8196) stays on nightly-af1c01499b289be555c475669ba50a88e96d846e, also untouched. On base, this script never passed --attention-config, so gb200/gb300 ran unaffected; now, if either nightly lacks the new backend keys, vllm serve fails to start for those SKUs on the next sweep. Verification: Severity: normal. The gb200/gb300 agentic vLLM arms regress because the shared script now injects new attention flags onto their un-bumped images. Structural chain (all verified): - dsv41flash_fp4_gb200_vllm_mtp.sh and dsv41flash_fp4_gb300_vllm_mtp.sh are symlinks to dsv41flash_fp4_vllm_mtp.sh (ls -la: both "-> dsv41flash_fp4_vllm_mtp.sh"). So the new block added by the diff at lines 83-91… |
||
|
|
||
| # Pyxis shares the host network; port 8888 can already belong to a host service. | ||
| select_available_server_port | ||
| export AIPERF_SERVER_URL="http://localhost:${PORT}" | ||
|
|
@@ -99,6 +108,7 @@ VLLM_CMD=( | |
| --tool-call-parser deepseek_v41 --enable-auto-tool-choice | ||
| --reasoning-parser deepseek_v41 | ||
| --engram-config '{"cpu_offload":true}' | ||
| "${ATTENTION_ARGS[@]}" | ||
| --speculative-config "$SPEC_CONFIG" | ||
| --max-model-len 1048576 | ||
| --max-cudagraph-capture-size "$CAPTURE_SIZE" | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 BLOCKING: This gate also fires on GB200 and GB300, which are not part of this PR.
Why it matters:
dsv41flash_fp4_gb200_vllm_mtp.sh,dsv41flash_fp4_gb300_vllm_mtp.shanddsv41flash_fp4_h200_vllm_mtp.share symlinks to this file. The GB200 arm (256 GiB per GPU,nightly-cd10ed6f, 2026-09-15) and the GB300 arm (277 GiB per GPU,nightly-af1c0149, 2026-09-16) both clearGPU_MEM_MIB >= 150000, and both run TP2 and TP4, so every one of their points now gets--attention-config {...DSV41...,"indexer_sparse_logits":true} --kv-cache-dtype fp8. The PR description says these settings need the 2026-09-22 nightly; on the older images an unknown backend name orindexer_sparse_logitskey would fail at argument parsing, and even if they happen to parse, the GB200/GB300 recipes change without aperf-changelog.yamlentry (onlydsv41flash-fp4-b200-vllm-agentic-dsparkis listed). I could not confirm the flag availability atcd10ed6f/af1c0149from this sandbox (no network, source MCP server timed out), so please treat the crash as unverified but the scope leak as certain.Fix: Gate on a launcher-exported variable, the same way this script already handles
VLLM_SAFETENSORS_LOAD_STRATEGY, and export it only fromrunners/launch_b200-nscale-slurm.shnext to the newVLLM_ENGINE_READY_TIMEOUT_Sline:and in
runners/launch_b200-nscale-slurm.shinside theMODEL_PREFIX == "dsv41flash"block:export DSV41_BLACKWELL_SPARSE_INDEXER=1(Update the comment on lines 80-82 accordingly; it currently only mentions excluding H200.) If the intent really is to roll these settings out to GB200/GB300 as well, those images need bumping to a nightly that carries them and the changelog needs entries for both config keys.
Fix this →