diff --git a/benchmarks/single_node/agentic/dsv41flash_fp4_vllm_mtp.sh b/benchmarks/single_node/agentic/dsv41flash_fp4_vllm_mtp.sh index 0a0a32629..2a0e8c584 100644 --- a/benchmarks/single_node/agentic/dsv41flash_fp4_vllm_mtp.sh +++ b/benchmarks/single_node/agentic/dsv41flash_fp4_vllm_mtp.sh @@ -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 + # 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" diff --git a/configs/nvidia-master.yaml b/configs/nvidia-master.yaml index 7ee2ca0be..e6ffcf981 100644 --- a/configs/nvidia-master.yaml +++ b/configs/nvidia-master.yaml @@ -8433,7 +8433,7 @@ dsv41flash-fp4-b300-vllm-agentic-dspark: - { tp: 2, kv-offloading: none, spec-decoding: mtp, conc-list: [2, 4, 8, 16, 32, 64, 128] } dsv41flash-fp4-b200-vllm-agentic-dspark: - image: vllm/vllm-openai:nightly-cd10ed6f9f6b37a8ace9cf380007e66fe12ec0c3 + image: vllm/vllm-openai:nightly-0961bbae2894d574be790d219651824eb199318e model: deepseek-ai/DeepSeek-V4.1-Flash model-prefix: dsv41flash runner: cluster:b200-nscale diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 89f152cac..74111b2f6 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -8887,3 +8887,11 @@ - "Add DeepSeek-V4-Pro-0813 golden AL for draft lengths 4, 5, 7 and 8 (3.36 / 3.61 / 3.73 / 3.47)." - "Agentic PD router: pin --decode-policy round_robin so decode no longer inherits the prefill --policy (consistent_hashing)." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3256 + +- config-keys: + - dsv41flash-fp4-b200-vllm-agentic-dspark + scenario-type: + - agentic-coding + description: + - "Pin B200 DeepSeek-V4.1-Flash vLLM to the 2026-09-22 nightly 0961bbae and opt in from its launcher to Blackwell sparse indexer logits, MXFP4 indexer KV, and fp8 KV cache; use FlashInfer sparse attention at TP2 and MegaAttention at TP4." + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/3393 diff --git a/runners/launch_b200-nscale-slurm.sh b/runners/launch_b200-nscale-slurm.sh index f010f7676..61342b3ef 100755 --- a/runners/launch_b200-nscale-slurm.sh +++ b/runners/launch_b200-nscale-slurm.sh @@ -804,6 +804,10 @@ run_agentic() { if [[ "$MODEL_PREFIX" == "dsv41flash" ]]; then # Cover DSpark5 verification for concurrent AgentX subagents at c1/c2/c4. export DSV41_MIN_CUDAGRAPH_CAPTURE_SIZE=64 + export VLLM_ENGINE_READY_TIMEOUT_S=7200 + if [[ "$FRAMEWORK" == "vllm" ]]; then + export DSV41_BLACKWELL_ATTENTION=true + fi CONTAINER_MOUNT_DIR=/ix export INFMAX_CONTAINER_WORKSPACE=/ix export RESULT_DIR=/ix/results