Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
5d6326b
fix(launch): cap single-node srun steps at their GPUs' share of node …
adibarra Oct 7, 2026
dcb6c9e
fix(agentx): keep single-node DRAM pools 32 GiB under the srun step cap
adibarra Oct 7, 2026
de54f80
fix(srt): request --mem=0 for exclusive single-node jobs
adibarra Oct 8, 2026
8c9da40
fix(runners): set available-cpu-dram-mib to what Slurm can allocate
adibarra Oct 8, 2026
0d8bb77
fix(recipes): match TOTAL_CPU_DRAM_GB to measured node DRAM
adibarra Oct 8, 2026
aa9df04
fix(recipes): keep single-node DRAM pools within the 3 TB policy share
adibarra Oct 8, 2026
8d1dc34
fix(srt): cap single-node steps only on shared nodes
adibarra Oct 9, 2026
ccc8b87
fix(runners): restore h100-dgxc DRAM; earlier value was measured on a…
adibarra Oct 9, 2026
164cbd7
refactor(srt): tighten single-node DRAM test, comments and docs
adibarra Oct 9, 2026
dea255e
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 9, 2026
f99e35d
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 10, 2026
37aec3b
Merge remote-tracking branch 'origin/main' into up-tmp
adibarra Oct 10, 2026
e5aafe0
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 12, 2026
056a7b9
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 12, 2026
d4b7221
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 12, 2026
7e719c7
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 12, 2026
27c2403
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 13, 2026
c713967
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 13, 2026
9a96a14
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 14, 2026
65223cb
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 14, 2026
e026073
Merge remote-tracking branch 'origin/main' into HEAD
adibarra Oct 14, 2026
d2a638f
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 14, 2026
56d83f3
chore: drop comments that break the code comment rules
adibarra Oct 14, 2026
6ff24a7
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 14, 2026
571813e
test(srt): give the DRAM-cap test cluster a GPU exporter
adibarra Oct 14, 2026
e503cd6
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 15, 2026
f8a6373
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 15, 2026
f6b5276
fix(recipes): size minimaxm3 b200 host pools to their whole-node DRAM…
adibarra Oct 16, 2026
d7f493c
Merge remote-tracking branch 'origin/main' into fix/single-node-dram-mem
adibarra Oct 16, 2026
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
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ override_tp8_hicache_c8:
env:
CONC: '8'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'

override_tp8_hicache_c10:
roles:
Expand All @@ -181,7 +181,7 @@ override_tp8_hicache_c10:
env:
CONC: '10'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'

override_tp8_hicache_c16:
roles:
Expand All @@ -202,7 +202,7 @@ override_tp8_hicache_c16:
env:
CONC: '16'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'

override_dep8_hicache_c64:
frontend:
Expand Down Expand Up @@ -248,7 +248,7 @@ override_dep8_hicache_c64:
env:
CONC: '64'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'
AIPERF_HTTP_X_SMG_ROUTING_KEY_FROM_CORRELATION_ID: 'true'
AIPERF_HTTP_X_DYNAMO_SESSION_ID_FROM_CORRELATION_ID: 'true'

Expand Down Expand Up @@ -296,7 +296,7 @@ override_dep8_hicache_c96:
env:
CONC: '96'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'
AIPERF_HTTP_X_SMG_ROUTING_KEY_FROM_CORRELATION_ID: 'true'
AIPERF_HTTP_X_DYNAMO_SESSION_ID_FROM_CORRELATION_ID: 'true'

Expand Down Expand Up @@ -344,7 +344,7 @@ override_dep8_hicache_c128:
env:
CONC: '128'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'
AIPERF_HTTP_X_SMG_ROUTING_KEY_FROM_CORRELATION_ID: 'true'
AIPERF_HTTP_X_DYNAMO_SESSION_ID_FROM_CORRELATION_ID: 'true'

Expand Down Expand Up @@ -393,6 +393,6 @@ override_dep8_hicache_c160:
env:
CONC: '160'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'
AIPERF_HTTP_X_SMG_ROUTING_KEY_FROM_CORRELATION_ID: 'true'
AIPERF_HTTP_X_DYNAMO_SESSION_ID_FROM_CORRELATION_ID: 'true'
Original file line number Diff line number Diff line change
Expand Up @@ -184,15 +184,15 @@ override_dep8_c32:
max-num-batched-tokens: 8248
max-num-seqs: 8
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[7,14,21,28,35,42,49,56],"mode":0}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":243375000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":241500000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
env:
PYTORCH_ALLOC_CONF: 'expandable_segments:True'
PYTHONHASHSEED: '42'
benchmark:
env:
CONC: '32'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1947'
TOTAL_CPU_DRAM_GB: '1932'
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: '1'

override_dep8_c64:
Expand Down Expand Up @@ -220,15 +220,15 @@ override_dep8_c64:
max-num-batched-tokens: 8304
max-num-seqs: 16
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[7,14,21,28,35,42,49,56,63,70,77,84,91,98,105,112],"mode":0}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":243375000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":241500000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
env:
PYTORCH_ALLOC_CONF: 'expandable_segments:True'
PYTHONHASHSEED: '42'
benchmark:
env:
CONC: '64'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1947'
TOTAL_CPU_DRAM_GB: '1932'
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: '1'

override_dep8_c96:
Expand Down Expand Up @@ -256,15 +256,15 @@ override_dep8_c96:
max-num-batched-tokens: 8360
max-num-seqs: 24
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[7,14,21,28,35,42,49,56,63,70,77,84,91,98,105,112,119,126,133,140,147,154,161,168],"mode":0}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":243375000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":241500000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
env:
PYTORCH_ALLOC_CONF: 'expandable_segments:True'
PYTHONHASHSEED: '42'
benchmark:
env:
CONC: '96'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1947'
TOTAL_CPU_DRAM_GB: '1932'
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: '1'

override_dep8_c128:
Expand Down Expand Up @@ -292,15 +292,15 @@ override_dep8_c128:
max-num-batched-tokens: 8416
max-num-seqs: 32
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[7,14,21,28,35,42,49,56,63,70,77,84,91,98,105,112,119,126,133,140,147,154,161,168,175,182,189,196,203,210,217,224],"mode":0}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":243375000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":241500000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
env:
PYTORCH_ALLOC_CONF: 'expandable_segments:True'
PYTHONHASHSEED: '42'
benchmark:
env:
CONC: '128'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1947'
TOTAL_CPU_DRAM_GB: '1932'
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: '1'

override_dep8_c160:
Expand Down Expand Up @@ -328,15 +328,15 @@ override_dep8_c160:
max-num-batched-tokens: 8472
max-num-seqs: 40
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[7,14,21,28,35,42,49,56,63,70,77,84,91,98,105,112,119,126,133,140,147,154,161,168,175,182,189,196,203,210,217,224,231,238,245,252,259,266,273,280],"mode":0}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":243375000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":241500000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
env:
PYTORCH_ALLOC_CONF: 'expandable_segments:True'
PYTHONHASHSEED: '42'
benchmark:
env:
CONC: '160'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1947'
TOTAL_CPU_DRAM_GB: '1932'
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: '1'

override_dep8_c192:
Expand Down Expand Up @@ -364,13 +364,13 @@ override_dep8_c192:
max-num-batched-tokens: 8528
max-num-seqs: 48
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[7,14,21,28,35,42,49,56,63,70,77,84,91,98,105,112,119,126,133,140,147,154,161,168,175,182,189,196,203,210,217,224,231,238,245,252,259,266,273,280,287,294,301,308,315,322,329,336],"mode":0}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":243375000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
kv-transfer-config: '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use_per_rank":241500000000,"enable_cross_layers_blocks":"true","lazy_offload":false}}'
env:
PYTORCH_ALLOC_CONF: 'expandable_segments:True'
PYTHONHASHSEED: '42'
benchmark:
env:
CONC: '192'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1947'
TOTAL_CPU_DRAM_GB: '1932'
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: '1'
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ base:
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'

# One variant per point. Admission is 2x CONC and the graph batch matches it,
# capped at 64. MLA ranks hold complete per-token KV, so ratio 0.75 gives too
# few host slots past C8; C12/C16 pin a 169 GB/rank pool (~1,662 GB across TP8
# with the DSA indexer, within the 1,731 GB budget).
# with the DSA indexer, within the 1,717 GB budget).
override_c1:
roles:
agg:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ base:
AIPERF_HTTP_TCP_USER_TIMEOUT: '900000'
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: 'sglang:'
KV_OFFLOADING: dram
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'

# One variant per point. Admission is 2x CONC and the graph batch matches it,
# capped at 64. MLA ranks hold complete per-token KV, so ratio 0.75 gives too
# few host slots past C8; C12/C16 pin a 169 GB/rank pool (~1,662 GB across TP8
# with the DSA indexer, within the 1,731 GB budget).
# with the DSA indexer, within the 1,717 GB budget).
override_c1:
roles:
agg:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ base:
KV_OFFLOADING: dram

# One variant per point. The batch cap is CONC; graphs capture every batch up
# to 20 and a thinned ladder above. The host pool is 250 GiB at TP4 and
# 200 GiB at TP8.
# to 20 and a thinned ladder above. The per-rank host pool is TOTAL_CPU_DRAM_GB / 4
# at TP4 and 200 GiB at TP8.
override_tp4_c5:
roles:
agg:
Expand All @@ -111,11 +111,11 @@ override_tp4_c5:
- 4
- 5
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '5'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c10:
roles:
Expand All @@ -137,11 +137,11 @@ override_tp4_c10:
- 9
- 10
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '10'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c15:
roles:
Expand All @@ -168,11 +168,11 @@ override_tp4_c15:
- 14
- 15
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '15'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c20:
roles:
Expand Down Expand Up @@ -204,11 +204,11 @@ override_tp4_c20:
- 19
- 20
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '20'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c25:
roles:
Expand Down Expand Up @@ -240,11 +240,11 @@ override_tp4_c25:
- 23
- 25
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '25'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c30:
roles:
Expand Down Expand Up @@ -276,11 +276,11 @@ override_tp4_c30:
- 27
- 30
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '30'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c35:
roles:
Expand Down Expand Up @@ -311,11 +311,11 @@ override_tp4_c35:
- 32
- 35
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '35'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c40:
roles:
Expand Down Expand Up @@ -347,11 +347,11 @@ override_tp4_c40:
- 38
- 40
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '40'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp4_c45:
roles:
Expand Down Expand Up @@ -381,11 +381,11 @@ override_tp4_c45:
- 42
- 45
kv_cache_config:
host_cache_size: 268435456000
host_cache_size: 268250000000
benchmark:
env:
CONC: '45'
TOTAL_CPU_DRAM_GB: '865'
TOTAL_CPU_DRAM_GB: '1073'

override_tp8_c1:
roles:
Expand All @@ -402,7 +402,7 @@ override_tp8_c1:
benchmark:
env:
CONC: '1'
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'

override_tp8_c5:
roles:
Expand All @@ -423,4 +423,4 @@ override_tp8_c5:
benchmark:
env:
CONC: '5'
TOTAL_CPU_DRAM_GB: '1731'
TOTAL_CPU_DRAM_GB: '1717'
Loading
Loading