Skip to content

Commit 40da599

Browse files
Wei Zhao (Engrg-Hardware 1)ivanium
authored andcommitted
Re-add tp8 config with patch
1 parent a43af12 commit 40da599

11 files changed

Lines changed: 92 additions & 45 deletions

benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/agg-gb200-tp8-agentic.yaml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ slurm:
1818
time_limit: "8:00:00"
1919

2020
health_check:
21-
max_attempts: 2160
21+
max_attempts: 720
2222
interval_seconds: 10
2323

2424
resources:
@@ -63,7 +63,11 @@ backend:
6363
VLLM_ENGINE_READY_TIMEOUT_S: "3600"
6464
VLLM_RPC_TIMEOUT: "600000"
6565
TILELANG_CLEANUP_TEMP_FILES: "1"
66-
VLLM_USE_NCCL_SYMM_MEM: "1"
66+
# Off: the c188b96 container's CUDA-graph capture path enters vLLM's
67+
# nccl_symm_mem_context without set_graph_pool_id, so capture asserts
68+
# "graph_pool_id is not set under graph capture". Re-enable once this recipe
69+
# moves to a container built from a vLLM with the cuda_graph.py fix.
70+
VLLM_USE_NCCL_SYMM_MEM: "0"
6771
TORCH_SYMMMEM: "NVSHMEM"
6872
NCCL_CUMEM_ENABLE: "1"
6973
NCCL_MNNVL_ENABLE: "1"
@@ -97,7 +101,11 @@ backend:
97101
tensor-parallel-size: 8
98102
pipeline-parallel-size: 1
99103
enable-cumem-allocator: true
100-
numa-bind: true
104+
# numa-bind disabled: srt-slurm's cpus-per-task/cgroup already constrains
105+
# CPU affinity, so vLLM's auto-NUMA detection bails and --numa-bind hard-
106+
# errors ("could not detect the GPU-to-NUMA topology"). Re-enable only with
107+
# an explicit --numa-bind-nodes mapping for this cluster.
108+
# numa-bind: true
101109
attention-config: '{"backend": "FLASHINFER_MLA_SPARSE_DSV4", "use_prefill_query_quantization": true, "use_fp4_indexer_cache": true}'
102110
max-model-len: 1048576
103111
# AgentX session fan-out can exceed the configured live-session

benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/disagg-gb200-1p1d-dep8-dep12-agentic.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ slurm:
1818
time_limit: "8:00:00"
1919

2020
health_check:
21-
max_attempts: 2160
21+
max_attempts: 720
2222
interval_seconds: 10
2323

2424
resources:

benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/disagg-gb200-1p1d-dep8-dep8-agentic.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ slurm:
1818
time_limit: "8:00:00"
1919

2020
health_check:
21-
max_attempts: 2160
21+
max_attempts: 720
2222
interval_seconds: 10
2323

2424
resources:

benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/disagg-gb200-2p1d-dep8-dep12-agentic.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ slurm:
1818
time_limit: "8:00:00"
1919

2020
health_check:
21-
max_attempts: 2160
21+
max_attempts: 720
2222
interval_seconds: 10
2323

2424
resources:

benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/disagg-gb200-2p1d-dep8-dep8-agentic.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ slurm:
2020
time_limit: "8:00:00"
2121

2222
health_check:
23-
max_attempts: 1440
23+
max_attempts: 720
2424
interval_seconds: 10
2525

2626
resources:

benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/disagg-gb200-3p1d-dep8-dep16-agentic.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ slurm:
1818
time_limit: "8:00:00"
1919

2020
health_check:
21-
max_attempts: 2160
21+
max_attempts: 720
2222
interval_seconds: 10
2323

2424
resources:

benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/disagg-gb200-3p2d-tep8-tp8-agentic.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ slurm:
2121
time_limit: "8:00:00"
2222

2323
health_check:
24-
max_attempts: 1440
24+
max_attempts: 720
2525
interval_seconds: 10
2626

2727
resources:

configs/nvidia-master.yaml

Lines changed: 29 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7663,41 +7663,35 @@ dsv4-fp4-gb200-dynamo-vllm-agentic-2p1d-dep8-dep8:
76637663
ep: 8
76647664
dp-attn: true
76657665

7666-
# TEMPORARILY DISABLED: the TP8 aggregate is a single vLLM engine with TP=8
7667-
# spanning 2 GB200 nodes (4 GPUs each). It hits a vLLM shm-broadcast port race
7668-
# on the follower node -- the 4 remote-node TP workers all call get_open_port()
7669-
# from the same VLLM_PORT and collide (EADDRINUSE) with no retry, crashing the
7670-
# engine. Re-enable once that vLLM race is fixed. The disagg configs below use
7671-
# per-node DEP (not cross-node single-engine TP8) and are unaffected.
7672-
# dsv4-fp4-gb200-dynamo-vllm-agentic-agg:
7673-
# image: vllm/vllm-openai:nightly-dev-arm64-cu13.0.1-c188b96
7674-
# model: deepseek-ai/DeepSeek-V4-Pro
7675-
# model-prefix: dsv4
7676-
# runner: cluster:gb200-nv
7677-
# precision: fp4
7678-
# framework: dynamo-vllm
7679-
# router: { name: dynamo-router, version: "1.3.0.dev20260618" }
7680-
# multinode: true
7681-
# disagg: false
7682-
# scenarios:
7683-
# agentic-coding:
7684-
# - search-space:
7685-
# - spec-decoding: none
7686-
# conc-list: [1, 4, 8, 16]
7687-
# prefill:
7688-
# num-worker: 1
7689-
# tp: 8
7690-
# ep: 1
7691-
# dp-attn: false
7692-
# additional-settings:
7693-
# - "CONFIG_FILE=recipes/vllm/deepseek-v4/agentic/agg-gb200-tp8-agentic.yaml"
7694-
# # The aggregate worker also performs decode; keep the decode worker
7695-
# # count at zero so result aggregation counts eight GPUs only once.
7696-
# decode:
7697-
# num-worker: 0
7698-
# tp: 8
7699-
# ep: 1
7700-
# dp-attn: false
7666+
dsv4-fp4-gb200-dynamo-vllm-agentic-agg:
7667+
image: vllm/vllm-openai:nightly-dev-arm64-cu13.0.1-c188b96
7668+
model: deepseek-ai/DeepSeek-V4-Pro
7669+
model-prefix: dsv4
7670+
runner: cluster:gb200-nv
7671+
precision: fp4
7672+
framework: dynamo-vllm
7673+
router: { name: dynamo-router, version: "1.3.0.dev20260618" }
7674+
multinode: true
7675+
disagg: false
7676+
scenarios:
7677+
agentic-coding:
7678+
- search-space:
7679+
- spec-decoding: none
7680+
conc-list: [1, 4, 8, 16]
7681+
prefill:
7682+
num-worker: 1
7683+
tp: 8
7684+
ep: 1
7685+
dp-attn: false
7686+
additional-settings:
7687+
- "CONFIG_FILE=recipes/vllm/deepseek-v4/agentic/agg-gb200-tp8-agentic.yaml"
7688+
# The aggregate worker also performs decode; keep the decode worker
7689+
# count at zero so result aggregation counts eight GPUs only once.
7690+
decode:
7691+
num-worker: 0
7692+
tp: 8
7693+
ep: 1
7694+
dp-attn: false
77017695

77027696
dsv4-fp4-gb200-dynamo-vllm-agentic-1p1d-dep8-dep8:
77037697
image: vllm/vllm-openai:nightly-dev-arm64-cu13.0.1-c188b96

perf-changelog.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4952,11 +4952,12 @@
49524952
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2256
49534953

49544954
- config-keys:
4955+
- dsv4-fp4-gb200-dynamo-vllm-agentic-agg
49554956
- dsv4-fp4-gb200-dynamo-vllm-agentic-1p1d-dep8-dep8
49564957
- dsv4-fp4-gb200-dynamo-vllm-agentic-1p1d-dep8-dep12
49574958
- dsv4-fp4-gb200-dynamo-vllm-agentic-2p1d-dep8-dep12
49584959
- dsv4-fp4-gb200-dynamo-vllm-agentic-3p1d-dep8-dep16
49594960
description:
4960-
- "Add GB200 Dynamo-vLLM AgentX disaggregated topologies: 1P/1D DEP8/DEP8 at [64,128,256,320], 1P/1D DEP8/DEP12 at [128,256,320], 2P/1D DEP8/DEP12 at [480,640,768], and 3P/1D DEP8/DEP16 at [640,800,960,1280]."
4961+
- "Add GB200 Dynamo-vLLM AgentX aggregate TP8 at conc [1,4,8,16] and disaggregated topologies: 1P/1D DEP8/DEP8 at [64,128,256,320], 1P/1D DEP8/DEP12 at [128,256,320], 2P/1D DEP8/DEP12 at [480,640,768], and 3P/1D DEP8/DEP16 at [640,800,960,1280]."
49614962
- "Image: vllm/vllm-openai:nightly-dev-arm64-cu13.0.1-c188b96"
49624963
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2260

runners/launch_gb200-nv.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,14 @@ if [[ "$IS_AGENTIC" == "1" ]]; then
319319
fi
320320
git cherry-pick --no-commit "$SRT_SLURM_PER_NODE_DP_SHA" || exit 1
321321

322+
# Pin VLLM_PORT only for single-GPU processes. Multi-GPU worker processes
323+
# (multi-node tensor parallel, e.g. the TP8 aggregate spanning two 4-GPU
324+
# nodes) run vLLM's internal multiproc executor whose same-node subprocesses
325+
# otherwise all read one VLLM_PORT and race to bind the shm-broadcast port
326+
# (EADDRINUSE crash). Not yet in an srt-slurm release, so apply it here as a
327+
# patch until it lands upstream.
328+
git apply "$GITHUB_WORKSPACE/runners/patches/srt-slurm-vllm-port-single-gpu.patch" || exit 1
329+
322330
# ai-dynamo/dynamo#11303 is merged into ai-dynamo/dynamo main, so the
323331
# recipe-pinned dynamo hash resolves against upstream directly -- no
324332
# esmeetu/dynamo fork redirect of srt-slurm's schema.py needed anymore.

0 commit comments

Comments
 (0)