|
| 1 | +name: "svf-vllm-disagg-gb200-1p1d-dep8-tp8-agentic" |
| 2 | + |
| 3 | +# High-throughput experiment: one DEP8 prefill worker and one TP8 decode |
| 4 | +# worker. DEP exposes eight independent attention ranks behind one vLLM worker |
| 5 | +# while EP8 retains full-system MoE execution. This trades cache-affinity and |
| 6 | +# rank-balance simplicity for higher raw prefill parallelism. |
| 7 | + |
| 8 | +model: |
| 9 | + path: "deepseek-v4-pro" |
| 10 | + container: "vllm/vllm-openai:v0.23.0" |
| 11 | + precision: "fp4" |
| 12 | + |
| 13 | +dynamo: |
| 14 | + install: true |
| 15 | + wheel: "1.3.0.dev20260618" |
| 16 | + |
| 17 | +setup_script: vllm-container-deps.sh |
| 18 | + |
| 19 | +slurm: |
| 20 | + time_limit: "8:00:00" |
| 21 | + |
| 22 | +health_check: |
| 23 | + max_attempts: 1440 |
| 24 | + interval_seconds: 10 |
| 25 | + |
| 26 | +resources: |
| 27 | + gpu_type: "gb200" |
| 28 | + gpus_per_node: 4 |
| 29 | + prefill_nodes: 2 |
| 30 | + decode_nodes: 2 |
| 31 | + prefill_workers: 1 |
| 32 | + decode_workers: 1 |
| 33 | + gpus_per_prefill: 8 |
| 34 | + gpus_per_decode: 8 |
| 35 | + |
| 36 | +infra: |
| 37 | + etcd_nats_dedicated_node: true |
| 38 | + nats_max_payload_mb: 32 |
| 39 | + |
| 40 | +frontend: |
| 41 | + type: dynamo |
| 42 | + enable_multiple_frontends: false |
| 43 | + env: |
| 44 | + DYN_REQUEST_PLANE: "tcp" |
| 45 | + args: |
| 46 | + router-mode: "kv" |
| 47 | + router-reset-states: true |
| 48 | + |
| 49 | +backend: |
| 50 | + type: vllm |
| 51 | + connector: null |
| 52 | + prefill_environment: |
| 53 | + DYN_REQUEST_PLANE: "tcp" |
| 54 | + TILELANG_CLEANUP_TEMP_FILES: "1" |
| 55 | + VLLM_USE_NCCL_SYMM_MEM: "1" |
| 56 | + TORCH_SYMMMEM: "NVSHMEM" |
| 57 | + NCCL_CUMEM_ENABLE: "1" |
| 58 | + NCCL_MNNVL_ENABLE: "1" |
| 59 | + NCCL_NVLS_ENABLE: "1" |
| 60 | + VLLM_SERVER_DEV_MODE: "1" |
| 61 | + VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "32768" |
| 62 | + VLLM_SPARSE_INDEXER_MAX_LOGITS_MB: "1024" |
| 63 | + VLLM_MAX_TOKENS_PER_EXPERT_FP4_MOE: "2048" |
| 64 | + UCX_MEMTYPE_CACHE: "n" |
| 65 | + UCX_MEMTYPE_REG_WHOLE: "n" |
| 66 | + UCX_RCACHE_MAX_UNRELEASED: "1024" |
| 67 | + UCX_TLS: "cuda_copy,rc" |
| 68 | + NCCL_P2P_LEVEL: NVL |
| 69 | + decode_environment: |
| 70 | + DYN_REQUEST_PLANE: "tcp" |
| 71 | + TILELANG_CLEANUP_TEMP_FILES: "1" |
| 72 | + VLLM_USE_NCCL_SYMM_MEM: "1" |
| 73 | + TORCH_SYMMMEM: "NVSHMEM" |
| 74 | + NCCL_CUMEM_ENABLE: "1" |
| 75 | + NCCL_MNNVL_ENABLE: "1" |
| 76 | + NCCL_NVLS_ENABLE: "1" |
| 77 | + VLLM_SERVER_DEV_MODE: "1" |
| 78 | + VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "32768" |
| 79 | + UCX_MEMTYPE_CACHE: "n" |
| 80 | + UCX_MEMTYPE_REG_WHOLE: "n" |
| 81 | + UCX_RCACHE_MAX_UNRELEASED: "1024" |
| 82 | + UCX_TLS: "cuda_copy,rc" |
| 83 | + NCCL_P2P_LEVEL: NVL |
| 84 | + |
| 85 | + vllm_config: |
| 86 | + prefill: |
| 87 | + kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}' |
| 88 | + kv-events-config: '{"publisher":"zmq","topic":"kv-events","endpoint":"tcp://*:20080","enable_kv_cache_events":true}' |
| 89 | + served-model-name: "deepseek-ai/DeepSeek-V4-Pro" |
| 90 | + kv-cache-dtype: "fp8" |
| 91 | + tensor-parallel-size: 1 |
| 92 | + pipeline-parallel-size: 1 |
| 93 | + data-parallel-size: 8 |
| 94 | + data-parallel-rpc-port: 13345 |
| 95 | + enable-expert-parallel: true |
| 96 | + enable-ep-weight-filter: true |
| 97 | + attention-config: '{"use_fp4_indexer_cache": true}' |
| 98 | + moe-backend: "deep_gemm_mega_moe" |
| 99 | + enforce-eager: true |
| 100 | + max-num-seqs: 256 |
| 101 | + max-num-batched-tokens: 32768 |
| 102 | + trust-remote-code: true |
| 103 | + no-enable-flashinfer-autotune: true |
| 104 | + no-async-scheduling: true |
| 105 | + block-size: 256 |
| 106 | + gpu-memory-utilization: 0.9 |
| 107 | + no-disable-hybrid-kv-cache-manager: true |
| 108 | + tokenizer-mode: deepseek_v4 |
| 109 | + decode: |
| 110 | + kv-transfer-config: '{"kv_connector": "NixlConnector", "kv_role": "kv_both"}' |
| 111 | + served-model-name: "deepseek-ai/DeepSeek-V4-Pro" |
| 112 | + kv-cache-dtype: "fp8" |
| 113 | + tensor-parallel-size: 8 |
| 114 | + pipeline-parallel-size: 1 |
| 115 | + attention-config: '{"use_fp4_indexer_cache": true}' |
| 116 | + max-num-seqs: 512 |
| 117 | + max-cudagraph-capture-size: 512 |
| 118 | + max-num-batched-tokens: 512 |
| 119 | + trust-remote-code: true |
| 120 | + no-enable-flashinfer-autotune: true |
| 121 | + block-size: 256 |
| 122 | + compilation-config: '{"cudagraph_mode":"FULL_DECODE_ONLY","mode":0}' |
| 123 | + gpu-memory-utilization: 0.9 |
| 124 | + stream-interval: 50 |
| 125 | + all2all-backend: "flashinfer_nvlink_one_sided" |
| 126 | + no-disable-hybrid-kv-cache-manager: true |
| 127 | + tokenizer-mode: deepseek_v4 |
| 128 | + |
| 129 | +sbatch_directives: |
| 130 | + cpus-per-task: "72" |
| 131 | + |
| 132 | +srun_options: |
| 133 | + container-remap-root: "" |
| 134 | + |
| 135 | +benchmark: |
| 136 | + type: custom |
| 137 | + aiperf_server_metrics: true |
| 138 | + command: bash /infmax-workspace/benchmarks/multi_node/agentic_srt.sh |
| 139 | + env: |
| 140 | + INFMAX_CONTAINER_WORKSPACE: /infmax-workspace |
| 141 | + RESULT_DIR: /logs/agentic |
| 142 | + PORT: "8000" |
| 143 | + IS_MULTINODE: "true" |
| 144 | + AIPERF_DYNAMO_SESSION_TIMEOUT_SECONDS: "14400" |
| 145 | + AIPERF_DATASET_MMAP_CACHE_DIR: "/aiperf_mmap_cache" |
| 146 | + HF_HUB_CACHE: "/hf_hub_cache" |
| 147 | + WEKA_LOADER_OVERRIDE: "semianalysis_cc_traces_weka_061526" |
0 commit comments