Skip to content
Closed
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
11 changes: 8 additions & 3 deletions benchmarks/single_node/agentic/dsv41flash_fp4_b300_vllm_mtp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ set -eo pipefail
# https://recipes.vllm.ai/deepseek-ai/DeepSeek-V4.1-Flash
source "$(dirname "$0")/../../benchmark_lib.sh"
check_env_vars MODEL TP CONC KV_OFFLOADING TOTAL_CPU_DRAM_GB RESULT_DIR DURATION
check_env_vars EVAL_ONLY VLLM_ENGINE_READY_TIMEOUT_S
require_agentic_kv_offload_none
export GPU_COUNT="$TP"

Expand All @@ -21,7 +22,6 @@ resolve_trace_source
install_agentic_deps
mkdir -p "$RESULT_DIR"
SERVER_LOG="$RESULT_DIR/server.log"
export VLLM_ENGINE_READY_TIMEOUT_S="${VLLM_ENGINE_READY_TIMEOUT_S:-3600}"
export VLLM_USE_RUST_FRONTEND=1
export PYTHONUNBUFFERED=1

Expand All @@ -46,6 +46,9 @@ MAX_NUM_SEQS=256
CAPTURE_SIZE="${GRAPH_SIZES##*,}"
COMPILATION_CONFIG="{\"mode\":\"VLLM_COMPILE\",\"cudagraph_mode\":\"FULL_AND_PIECEWISE\",\"cudagraph_capture_sizes\":[${GRAPH_SIZES}]}"

# Use FlashInfer sparse attention for both tensor-parallel sizes.
ATTENTION_CONFIG='{"backend":"FLASHINFER_MLA_SPARSE_DSV41","indexer_kv_dtype":"mxfp4","indexer_sparse_logits":true}'

# 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}"
Expand All @@ -55,7 +58,7 @@ echo "Using vLLM endpoint ${AIPERF_SERVER_URL}"

# Golden AL: golden_al_distribution/dsv41flash_dspark.yaml, thinking_on, five draft tokens.
# Accuracy evals keep real block rejection; other runs use synthetic acceptance at AL 3.51.
if [[ "${EVAL_ONLY:-false}" == true ]]; then
if [[ "${EVAL_ONLY}" == true ]]; then
SPEC_CONFIG='{"method":"dspark","num_speculative_tokens":5,"draft_sample_method":"probabilistic","rejection_sample_method":"block","enable_adaptive_verification":true}'
else
SPEC_CONFIG='{"method":"dspark","num_speculative_tokens":5,"draft_sample_method":"probabilistic","rejection_sample_method":"synthetic","synthetic_acceptance_length":3.51,"enable_adaptive_verification":false}'
Expand All @@ -68,6 +71,8 @@ VLLM_CMD=(
--tool-call-parser deepseek_v41 --enable-auto-tool-choice
--reasoning-parser deepseek_v41
--engram-config '{"cpu_offload":true}'
--attention-config "$ATTENTION_CONFIG"
--kv-cache-dtype fp8
--speculative-config "$SPEC_CONFIG"
--max-model-len 1048576
--compilation-config "$COMPILATION_CONFIG"
Expand All @@ -85,7 +90,7 @@ printf '\n' | tee -a "$RESULT_DIR/vllm_command.txt"
SERVER_PID=$!
wait_for_server_ready --port "$PORT" --server-log "$SERVER_LOG" --server-pid "$SERVER_PID"

if [[ "${EVAL_ONLY:-false}" == true ]]; then
if [[ "${EVAL_ONLY}" == true ]]; then
run_eval --port "$PORT"
else
build_replay_cmd "$RESULT_DIR"
Expand Down
2 changes: 1 addition & 1 deletion configs/nvidia-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8415,7 +8415,7 @@ dsv41flash-fp4-gb200-sglang-agentic-dspark:
- { tp: 2, ep: 1, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 64, 128] }

dsv41flash-fp4-b300-vllm-agentic-dspark:
image: vllm/vllm-openai:deepseekv41-flash-0909
image: vllm/vllm-openai:nightly-0961bbae2894d574be790d219651824eb199318e
model: deepseek-ai/DeepSeek-V4.1-Flash
model-prefix: dsv41flash
runner: cluster:b300-dsxe
Expand Down
8 changes: 8 additions & 0 deletions perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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-b300-vllm-agentic-dspark
scenario-type:
- agentic-coding
description:
- "Pin B300 DeepSeek-V4.1-Flash vLLM to the 2026-09-22 nightly 0961bbae and enable 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/3394
1 change: 1 addition & 0 deletions runners/launch_b300-dsxe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ else
export RESULT_DIR=/ix/results
# 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
fi

import_squash_image "$IMAGE" "$SQUASH_FILE"
Expand Down
Loading