Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ecede7b
perf(gb300): refresh AgentX vLLM MTP P/D recipes
ivanium Aug 19, 2026
9bfb59e
perf(gb300): add AgentX c512 P/D point
ivanium Aug 19, 2026
8825754
perf(gb300): restore AgentX aggregate TP sweeps
ivanium Aug 19, 2026
62f2955
perf(gb300): align AgentX runtime tuning
ivanium Aug 19, 2026
bb4c9ae
fix(recipes): restore aggregate GPU memory utilization
ivanium Aug 19, 2026
bb0d6cf
Update agg-gb300-tp4-mtp-agentic.yaml
esmeetu Aug 19, 2026
40a87df
Remove no-enable-flashinfer-autotune setting
esmeetu Aug 19, 2026
3b11180
Update agg-gb300-tp4-vllm-simple-offload-mtp-agentic.yaml
esmeetu Aug 19, 2026
242ae2f
Update agg-gb300-tp8-mtp-agentic.yaml
esmeetu Aug 19, 2026
9998456
Update agg-gb300-tp8-vllm-simple-offload-mtp-agentic.yaml
esmeetu Aug 19, 2026
7f0e9dd
Update agg-gb300-tp4-vllm-simple-offload-mtp-agentic.yaml
esmeetu Aug 19, 2026
7023b0f
Update agg-gb300-tp8-mtp-agentic.yaml
esmeetu Aug 19, 2026
aa1b773
Update agg-gb300-tp8-vllm-simple-offload-mtp-agentic.yaml
esmeetu Aug 19, 2026
435a2ac
fix(recipes): keep aggregate MTP verification real
ivanium Aug 19, 2026
1fd4b55
perf(agentx): tune aggregate KV connectors
ivanium Aug 19, 2026
7e3919c
perf(agentx): raise aggregate DRAM budget
ivanium Aug 19, 2026
6f8f76c
perf(agentx): delay aggregate CPU offload
ivanium Aug 19, 2026
5b274e7
fix(agentx): use Mooncake aggregate offload
ivanium Aug 19, 2026
62ab34b
fix(agentx): pin Mooncake hash seed
ivanium Aug 19, 2026
2171291
perf(gb300): cap TP sweeps and add c388 P/D point
ivanium Aug 19, 2026
c041fdf
perf(gb300): reduce c388 decode Mooncake threads
ivanium Aug 19, 2026
0c01661
perf(gb300): change AgentX DEP32 point to c384
ivanium Aug 19, 2026
75e1819
perf(gb300): raise AgentX DEP32 point to c448
ivanium Aug 19, 2026
09f1920
perf(gb300): add AgentX DEP32 c256 point
ivanium Aug 20, 2026
2a8bf7b
perf(gb300): make AgentX additions append-only
ivanium Aug 20, 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
@@ -0,0 +1,215 @@
# Source: https://github.com/SemiAnalysisAI/InferenceX/blob/0c33d4615792705ed12bfc204e3a54cfa436cf02/benchmarks/multi_node/srt-slurm-recipes/vllm/deepseek-v4/agentic/disagg-gb300-1p1d-dep8-dep16-c512-mtp-agentic.yaml
# Runtime and performance arguments follow the current DEP8/DEP16 GB300 P/D
# recipes; throughput-only synthetic MTP acceptance is injected at launch.
name: "svf-vllm-disagg-gb300-1p1d-dep8-dep16-c512-mtp-agentic"

# GB300 AgentX MTP3 topology: one DEP8 prefill worker feeds one
# DEP16 decode worker at concurrency 512. Decode consumes P/D KV through NIXL
# and MooncakeStore but skips Mooncake prefix lookup to avoid CPU overhead.

model:
path: "deepseek-v4-pro"
container: "vllm/vllm-openai:nightly-dev-arm64-cu13.0.1-426e59f"
precision: "fp4"

identity:
model:
repo: "deepseek-ai/DeepSeek-V4-Pro"
container:
image: "vllm/vllm-openai:nightly-dev-arm64-cu13.0.1-426e59f"
frameworks:
dynamo: "1.4.0"

dynamo:
wheel: "1.4.0"
install: true

environment:
# Mooncake prefix-block hashes must match across processes and nodes.
PYTHONHASHSEED: "0"

setup_script: vllm-container-deps.sh

slurm:
time_limit: "8:00:00"

health_check:
max_attempts: 2160
interval_seconds: 10

resources:
gpu_type: "gb300"
gpus_per_node: 4
het_jobs: false
spread_workers: false
prefill_nodes: 2
decode_nodes: 4
prefill_workers: 1
decode_workers: 1
gpus_per_prefill: 8
gpus_per_decode: 16

infra:
etcd_nats_dedicated_node: false
nats_max_payload_mb: 32

frontend:
type: dynamo
enable_multiple_frontends: false
args:
router-mode: "random"
router-session-affinity-ttl-secs: 900
env:
DYN_ROUTER_ACTIVE_REQUEST_EXPIRY_SECS: "3600"
DYN_TCP_CHANNEL_BUFFER: "128"
DYN_TCP_REQUEST_TIMEOUT: "60"

backend:
type: vllm
connector: null
dp_launch_mode: per_node
mooncake_kv_store:
store_config:
metadata_server: "P2PHANDSHAKE"
global_segment_size: "180GB"
local_buffer_size: "4GB"
protocol: "rdma"
device_name: "mlx5_0,mlx5_1,mlx5_2,mlx5_3"
mode: "embedded"
enable_offload: false
vllm_config:
prefill:
kv-transfer-config: '{"kv_connector":"MultiConnector","kv_role":"kv_both","kv_connector_extra_config":{"connectors":[{"kv_connector":"NixlConnector","kv_role":"kv_both","kv_load_failure_policy":"fail","kv_buffer_device":"cuda","kv_connector_extra_config":{"enforce_handshake_compat":false,"enable_cross_layers_blocks":false}},{"kv_connector":"MooncakeStoreConnector","kv_role":"kv_both","kv_connector_extra_config":{"load_async":true,"lookup_async":true,"enable_cross_layers_blocks":false,"enable_offload":false}}]}}'
served-model-name: "deepseek-ai/DeepSeek-V4-Pro"
safetensors-load-strategy: "prefetch"
kv-cache-dtype: "fp8"
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 8
data-parallel-rpc-port: 13345
enable-cumem-allocator: true
enable-expert-parallel: true
enable-ep-weight-filter: true
max-model-len: 1048576
max-num-seqs: 64
max-num-batched-tokens: 16384
long-prefill-token-threshold: 1024
trust-remote-code: true
no-enable-flashinfer-autotune: true
block-size: 256
gpu-memory-utilization: 0.90
no-disable-hybrid-kv-cache-manager: true
tokenizer-mode: "deepseek_v4"
attention-config: '{"backend":"FLASHINFER_MLA_SPARSE_DSV4","use_prefill_query_quantization":true,"use_fp4_indexer_cache":true}'
speculative-config: '{"method":"mtp","num_speculative_tokens":3}'
moe-backend: "deep_gemm_amxf4_mega_moe"
numa-bind: true
numa-bind-nodes: [0, 0, 1, 1]
decode:
kv-transfer-config: '{"kv_connector":"MultiConnector","kv_role":"kv_consumer","kv_connector_extra_config":{"connectors":[{"kv_connector":"NixlConnector","kv_role":"kv_consumer","kv_load_failure_policy":"fail","kv_buffer_device":"cuda","kv_connector_extra_config":{"enforce_handshake_compat":false,"enable_cross_layers_blocks":false}},{"kv_connector":"MooncakeStoreConnector","kv_role":"kv_consumer","kv_connector_extra_config":{"load_async":true,"lookup_async":false,"enable_lookup":false,"enable_cross_layers_blocks":false,"enable_offload":false}}]}}'
served-model-name: "deepseek-ai/DeepSeek-V4-Pro"
safetensors-load-strategy: "prefetch"
kv-cache-dtype: "fp8"
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 16
data-parallel-rpc-port: 13345
enable-cumem-allocator: true
enable-expert-parallel: true
enable-ep-weight-filter: true
max-model-len: 1048576
max-num-seqs: 64
max-num-batched-tokens: 256
trust-remote-code: true
no-enable-flashinfer-autotune: true
block-size: 256
compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","mode":0}'
max-cudagraph-capture-size: 256
gpu-memory-utilization: 0.90
no-disable-hybrid-kv-cache-manager: true
tokenizer-mode: "deepseek_v4"
attention-config: '{"backend":"FLASHINFER_MLA_SPARSE_DSV4","use_prefill_query_quantization":true,"use_fp4_indexer_cache":true}'
speculative-config: '{"method":"mtp","num_speculative_tokens":3}'
moe-backend: "deep_gemm_amxf4_mega_moe"
numa-bind: true
numa-bind-nodes: [0, 0, 1, 1]
prefill_environment:
HF_HUB_CACHE: "/hf_hub_cache"
HUGGINGFACE_HUB_CACHE: "/hf_hub_cache"
TRANSFORMERS_CACHE: "/hf_hub_cache"
VLLM_ENGINE_READY_TIMEOUT_S: "3600"
VLLM_RPC_TIMEOUT: "600000"
VLLM_LOG_STATS_INTERVAL: "1"
VLLM_V2_WARMUP_MAX_NUM_SEQS: "20"
VLLM_SERVER_DEV_MODE: "1"
VLLM_USE_V2_MODEL_RUNNER: "1"
VLLM_MOONCAKE_LOAD_RECV_THREADS: "20"
VLLM_MOONCAKE_STORE_SEND_THREADS: "8"
VLLM_ALLREDUCE_USE_SYMM_MEM: "0"
UCX_MEMTYPE_CACHE: "n"
UCX_NET_DEVICES: "mlx5_0:1,mlx5_1:1,mlx5_2:1,mlx5_3:1"
UCX_TLS: "rc,cuda_copy"
NCCL_CUMEM_ENABLE: "1"
NCCL_MNNVL_ENABLE: "1"
NCCL_NVLS_ENABLE: "1"
VLLM_RANDOMIZE_DP_DUMMY_INPUTS: "1"
NCCL_IB_HCA: "mlx5_0,mlx5_1,mlx5_2,mlx5_3"
VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "0"
VLLM_USE_BREAKABLE_CUDAGRAPH: "0"
VLLM_CONNECTOR_PREFETCH_DEPTH: "8"
VLLM_DSV4_MEGA_FP8_COMBINE: "1"
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-1p1d-dep8-prefill-c512-{job_id}"
MC_ENABLE_DEST_DEVICE_AFFINITY: "1"
MC_STORE_CLIENT_METRIC: "1"
MC_STORE_CLIENT_METRIC_INTERVAL: "5"
MC_TE_METRIC: "0"
decode_environment:
HF_HUB_CACHE: "/hf_hub_cache"
HUGGINGFACE_HUB_CACHE: "/hf_hub_cache"
TRANSFORMERS_CACHE: "/hf_hub_cache"
VLLM_ENGINE_READY_TIMEOUT_S: "3600"
VLLM_RPC_TIMEOUT: "600000"
VLLM_LOG_STATS_INTERVAL: "1"
VLLM_V2_WARMUP_MAX_NUM_SEQS: "20"
VLLM_SERVER_DEV_MODE: "1"
VLLM_USE_V2_MODEL_RUNNER: "1"
VLLM_MOONCAKE_LOAD_RECV_THREADS: "20"
VLLM_ALLREDUCE_USE_SYMM_MEM: "0"
UCX_MEMTYPE_CACHE: "n"
UCX_NET_DEVICES: "mlx5_0:1,mlx5_1:1,mlx5_2:1,mlx5_3:1"
UCX_TLS: "rc,cuda_copy"
NCCL_CUMEM_ENABLE: "1"
NCCL_MNNVL_ENABLE: "1"
NCCL_NVLS_ENABLE: "1"
VLLM_RANDOMIZE_DP_DUMMY_INPUTS: "1"
NCCL_IB_HCA: "mlx5_0,mlx5_1,mlx5_2,mlx5_3"
VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "0"
VLLM_DSV4_MEGA_FP8_COMBINE: "1"
DG_JIT_CACHE_DIR: "/tmp/dg-cache-dsv4-gb300-1p1d-dep16-decode-c512-{job_id}"
MC_ENABLE_DEST_DEVICE_AFFINITY: "1"
MC_STORE_CLIENT_METRIC: "1"
MC_STORE_CLIENT_METRIC_INTERVAL: "5"
MC_TE_METRIC: "0"

sbatch_directives:
cpus-per-task: "72"
mem: "0"

srun_options:
container-remap-root: ""

benchmark:
type: custom
command: bash /infmax-workspace/benchmarks/multi_node/agentic_srt.sh
env:
INFMAX_CONTAINER_WORKSPACE: "/infmax-workspace"
RESULT_DIR: "/logs/agentic"
PORT: "8000"
IS_MULTINODE: "true"
AIPERF_USE_DYNAMO_CONV_AWARE_ROUTING: "0"
AIPERF_HTTP_X_DYNAMO_SESSION_ID_FROM_CORRELATION_ID: "true"
# Avoid concurrent readers observing a mismatched mmap data/index pair.
AIPERF_DATASET_MMAP_CACHE_ENABLED: "false"
AIPERF_DATASET_MMAP_CACHE_DIR: "/aiperf_mmap_cache"
HF_HUB_CACHE: "/hf_hub_cache"
WEKA_LOADER_OVERRIDE: "semianalysis_cc_traces_weka_062126"
Loading
Loading