Skip to content

Commit 95f5dd8

Browse files
committed
chore: port basic settings from gb200 disagg
1 parent 0094291 commit 95f5dd8

3 files changed

Lines changed: 29 additions & 11 deletions

File tree

benchmarks/benchmark_lib.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1794,7 +1794,11 @@ build_replay_cmd() {
17941794
# X-Correlation-ID is useful tracing metadata but does not establish that
17951795
# binding by itself. AIPerf emits nvext.session_control bind/close actions
17961796
# keyed by the stable conversation correlation ID when this flag is set.
1797-
if [[ "${FRAMEWORK:-}" == dynamo-* ]]; then
1797+
# Opt-out: recipes set AIPERF_USE_DYNAMO_CONV_AWARE_ROUTING=0 to skip this.
1798+
# aiperf's conv-aware routing emits nvext.session_control, a removed POC field
1799+
# (dynamo #9920 / v1.3.0-dev) that current dynamo builds reject with a 400
1800+
# (they moved to router/routing_constraints/agent_context). Default stays on.
1801+
if [[ "${FRAMEWORK:-}" == dynamo-* && "${AIPERF_USE_DYNAMO_CONV_AWARE_ROUTING:-1}" != "0" ]]; then
17981802
REPLAY_CMD+=" --use-dynamo-conv-aware-routing"
17991803
# The upstream 300s affinity TTL is shorter than an overloaded
18001804
# high-concurrency agentic request. Keep bindings alive across long

utils/matrix_logic/generate_sweep_configs.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424

2525
MIN_EVAL_CONC = 16
2626
# Bound how many multinode agentic conc points share one server allocation.
27-
MAX_MULTINODE_AGENTIC_CONCURRENCIES_PER_ALLOCATION = 4
27+
# One task/Slurm allocation per concurrency gives each benchmark point a
28+
# fresh server deployment, matching single-node agentic sweep isolation.
29+
MAX_MULTINODE_AGENTIC_CONCURRENCIES_PER_ALLOCATION = 1
2830
BYTES_PER_MIB = 1024 * 1024
2931
BYTES_PER_GB = 1_000_000_000
3032
# 3 TB decimal DRAM cap, expressed in MiB, before utilization scaling.

utils/matrix_logic/test_generate_sweep_configs.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2253,8 +2253,8 @@ def test_agentic_node_dram_rejects_tp_above_runner_gpus(self, sample_runner_conf
22532253
with pytest.raises(ValueError, match="exceeds gpus-per-node"):
22542254
generate_test_config_sweep(args, config, runner_config)
22552255

2256-
def test_multinode_agentic_groups_concurrencies_per_search_entry(self):
2257-
"""One server allocation should run the selected concurrency batch."""
2256+
def test_multinode_agentic_uses_one_allocation_per_concurrency(self):
2257+
"""Each concurrency should get its own server allocation."""
22582258
config = {
22592259
"dsv4-agentic-2p1d": {
22602260
"image": "vllm/vllm-openai:v0.23.0",
@@ -2292,17 +2292,27 @@ def test_multinode_agentic_groups_concurrencies_per_search_entry(self):
22922292

22932293
result = generate_test_config_sweep(args, config)
22942294

2295-
assert len(result) == 2
2296-
assert result[0]["conc"] == [16, 32, 64, 128]
2297-
assert result[0]["exp-name"] == "dsv4_p2x4_d1x4_conc16x32x64x128"
2295+
assert len(result) == 5
2296+
assert [entry["conc"] for entry in result] == [
2297+
[16],
2298+
[32],
2299+
[64],
2300+
[128],
2301+
[256],
2302+
]
2303+
assert [entry["exp-name"] for entry in result] == [
2304+
"dsv4_p2x4_d1x4_conc16",
2305+
"dsv4_p2x4_d1x4_conc32",
2306+
"dsv4_p2x4_d1x4_conc64",
2307+
"dsv4_p2x4_d1x4_conc128",
2308+
"dsv4_p2x4_d1x4_conc256",
2309+
]
22982310
assert result[0]["prefill"]["pp"] == 2
22992311
assert result[0]["prefill"]["dcp-size"] == 2
23002312
assert result[0]["prefill"]["pcp-size"] == 2
23012313
assert result[0]["decode"]["pp"] == 2
23022314
assert result[0]["decode"]["dcp-size"] == 2
23032315
assert result[0]["decode"]["pcp-size"] == 1
2304-
assert result[1]["conc"] == [256]
2305-
assert result[1]["exp-name"] == "dsv4_p2x4_d1x4_conc256"
23062316
assert all(entry["router"] == {"name": "dynamo-router", "version": "1.3.0"} for entry in result)
23072317
assert all(entry["kv-p2p-transfer"] == "nixl" for entry in result)
23082318

@@ -2493,9 +2503,11 @@ def test_node_type_filters_apply_to_agentic_configs(
24932503
assert "prefill" not in single_result[0]
24942504
assert single_result[0]["runner"] == "cluster:b300-nv"
24952505
assert single_result[0]["pp"] == 2
2496-
assert len(multi_result) == 1
2497-
assert "prefill" in multi_result[0]
2506+
assert len(multi_result) == 2
2507+
assert [entry["conc"] for entry in multi_result] == [[16], [32]]
2508+
assert all("prefill" in entry for entry in multi_result)
24982509
assert multi_result[0]["runner"] == "cluster:gb200-nv"
2510+
assert multi_result[1]["runner"] == multi_result[0]["runner"]
24992511
assert (
25002512
multi_result[0]["prefill"]["pp"],
25012513
multi_result[0]["prefill"]["dcp-size"],

0 commit comments

Comments
 (0)