|
| 1 | +schema: 2 |
| 2 | +name: "mi355x-dsv4-disagg-1p1d-dep8-mtp-fixed-seq" |
| 3 | + |
| 4 | +model: |
| 5 | + path: "hf:deepseek-ai/DeepSeek-V4-Pro" |
| 6 | + container: "lmsysorg/sglang-rocm:v0.5.15-rocm720-mi35x-20260713" |
| 7 | + precision: "fp4" |
| 8 | + |
| 9 | +identity: |
| 10 | + model: {repo: "deepseek-ai/DeepSeek-V4-Pro"} |
| 11 | + container: {image: "lmsysorg/sglang-rocm:v0.5.15-rocm720-mi35x-20260713"} |
| 12 | + frameworks: |
| 13 | + sglang-router: "0.3.2" |
| 14 | + |
| 15 | +slurm: {time_limit: "08:00:00"} |
| 16 | + |
| 17 | +resources: |
| 18 | + gpu_type: "mi355x" |
| 19 | + gpus_per_node: 8 |
| 20 | +frontend: |
| 21 | + type: sglang-router |
| 22 | + enable_multiple_frontends: false |
| 23 | + args: |
| 24 | + policy: random |
| 25 | + prefill-policy: random |
| 26 | + decode-policy: random |
| 27 | + cb-timeout-duration-secs: 15 |
| 28 | + retry-max-retries: 3 |
| 29 | + |
| 30 | +engine: sglang |
| 31 | +roles: |
| 32 | + prefill: |
| 33 | + nodes: 1 |
| 34 | + workers: 1 |
| 35 | + gpus: 8 |
| 36 | + env: &common_environment |
| 37 | + HF_HOME: "/hf_hub_cache" |
| 38 | + HF_HUB_CACHE: "/hf_hub_cache/hub" |
| 39 | + HUGGINGFACE_HUB_CACHE: "/hf_hub_cache/hub" |
| 40 | + PYTHONUNBUFFERED: "1" |
| 41 | + TORCH_NCCL_BLOCKING_WAIT: "1" |
| 42 | + NCCL_BLOCKING_WAIT: "1" |
| 43 | + NCCL_IB_HCA: "rdma0,rdma1,rdma2,rdma3,rdma4,rdma5,rdma6,rdma7" |
| 44 | + HSA_NO_SCRATCH_RECLAIM: "0" |
| 45 | + GPU_MAX_HW_QUEUES: "5" |
| 46 | + AITER_LOG_LEVEL: "ERROR" |
| 47 | + SGLANG_AITER_MLA_PERSIST: "0" |
| 48 | + SGLANG_ENABLE_UNIFIED_RADIX_TREE: "1" |
| 49 | + SGLANG_OPT_UNIFIED_CACHE_FREE_OUT_OF_WINDOW_SLOTS: "1" |
| 50 | + SGLANG_MORI_DISPATCH_DTYPE: "auto" |
| 51 | + SGLANG_MORI_QP_PER_TRANSFER: "4" |
| 52 | + SGLANG_MORI_NUM_WORKERS: "4" |
| 53 | + SGLANG_MORI_DISPATCH_INTER_KERNEL_SWITCH_THRESHOLD: "4096" |
| 54 | + SGLANG_OPT_DEEPGEMM_HC_PRENORM: "false" |
| 55 | + SGLANG_USE_AITER: "1" |
| 56 | + SGLANG_USE_ROCM700A: "0" |
| 57 | + SGLANG_OPT_USE_FUSED_COMPRESS: "true" |
| 58 | + SGLANG_HACK_FLASHMLA_BACKEND: "unified_kv_triton" |
| 59 | + SGLANG_OPT_FP8_WO_A_GEMM: "false" |
| 60 | + SGLANG_OPT_USE_JIT_INDEXER_METADATA: "false" |
| 61 | + SGLANG_OPT_USE_TOPK_V2: "false" |
| 62 | + SGLANG_OPT_USE_AITER_INDEXER: "true" |
| 63 | + SGLANG_OPT_USE_TILELANG_INDEXER: "false" |
| 64 | + SGLANG_OPT_USE_TILELANG_MHC_PRE: "false" |
| 65 | + SGLANG_OPT_USE_TILELANG_MHC_POST: "false" |
| 66 | + SGLANG_FP8_PAGED_MQA_LOGITS_TORCH: "1" |
| 67 | + SGLANG_OPT_USE_FUSED_COMPRESS_TRITON: "true" |
| 68 | + SGLANG_OPT_USE_MULTI_STREAM_OVERLAP: "false" |
| 69 | + SGLANG_ROCM_USE_MULTI_STREAM: "false" |
| 70 | + AITER_BF16_FP8_MOE_BOUND: "0" |
| 71 | + SGLANG_DEFAULT_THINKING: "1" |
| 72 | + SGLANG_DSV4_REASONING_EFFORT: "high" |
| 73 | + SGLANG_EAGER_INPUT_NO_COPY: "true" |
| 74 | + SGLANG_SHARED_EXPERT_TP1: "1" |
| 75 | + SGLANG_DP_SHARED_EXPERT_LOCAL: "1" |
| 76 | + SGLANG_DP_USE_GATHERV: "1" |
| 77 | + SGLANG_DP_USE_REDUCE_SCATTER: "1" |
| 78 | + IBDEVICES: "rdma0,rdma1,rdma2,rdma3,rdma4,rdma5,rdma6,rdma7" |
| 79 | + MORI_RDMA_TC: "104" |
| 80 | + MORI_IO_SQ_BACKOFF_TIMEOUT_US: "50000" |
| 81 | + MORI_IO_QP_MAX_SEND_WR: "32767" |
| 82 | + MORI_IO_QP_MAX_CQE: "32768" |
| 83 | + MORI_IO_QP_MAX_SGE: "2" |
| 84 | + MORI_IO_TC_DISABLE: "0" |
| 85 | + MORI_SHMEM_MODE: "ISOLATION" |
| 86 | + MORI_EP_LAUNCH_CONFIG_MODE: "AUTO" |
| 87 | + MORI_APP_LOG_LEVEL: "WARNING" |
| 88 | + SGLANG_MORI_COMBINE_DTYPE: "auto" |
| 89 | + SGLANG_MORI_NUM_MAX_DISPATCH_TOKENS_PER_RANK: "16384" |
| 90 | + SGLANG_ENABLE_SPEC_V2: "1" |
| 91 | + SGLANG_ENABLE_OVERLAP_PLAN_STREAM: "0" |
| 92 | + SGLANG_LOG_MS: "true" |
| 93 | + SGLANG_DISAGGREGATION_NUM_PRE_ALLOCATE_REQS: "32" |
| 94 | + SGLANG_HEALTH_CHECK_TIMEOUT: "600" |
| 95 | + SGLANG_DISAGGREGATION_BOOTSTRAP_TIMEOUT: "3600" |
| 96 | + SGLANG_DISAGGREGATION_WAITING_TIMEOUT: "3600" |
| 97 | + args: &common_server |
| 98 | + served-model-name: "deepseek-ai/DeepSeek-V4-Pro" |
| 99 | + trust-remote-code: true |
| 100 | + tp-size: 8 |
| 101 | + ep-size: 8 |
| 102 | + dp-size: 8 |
| 103 | + enable-dp-attention: true |
| 104 | + ep-dispatch-algorithm: fake |
| 105 | + moe-a2a-backend: mori |
| 106 | + deepep-mode: normal |
| 107 | + moe-dense-tp-size: 1 |
| 108 | + enable-dp-lm-head: true |
| 109 | + watchdog-timeout: 3600 |
| 110 | + decode-log-interval: 100 |
| 111 | + load-balance-method: round_robin |
| 112 | + kv-cache-dtype: fp8_e4m3 |
| 113 | + attention-backend: dsv4 |
| 114 | + page-size: 256 |
| 115 | + swa-full-tokens-ratio: 0.1 |
| 116 | + disable-shared-experts-fusion: true |
| 117 | + tool-call-parser: deepseekv4 |
| 118 | + reasoning-parser: deepseek-v4 |
| 119 | + disaggregation-transfer-backend: mori |
| 120 | + disaggregation-ib-device: rdma0,rdma1,rdma2,rdma3,rdma4,rdma5,rdma6,rdma7 |
| 121 | + speculative-algorithm: EAGLE |
| 122 | + speculative-eagle-topk: 1 |
| 123 | + speculative-num-steps: 1 |
| 124 | + speculative-num-draft-tokens: 2 |
| 125 | + log-level: info |
| 126 | + context-length: 9217 |
| 127 | + mem-fraction-static: 0.80 |
| 128 | + max-running-requests: 1024 |
| 129 | + chunked-prefill-size: 131072 |
| 130 | + max-total-tokens: 2097152 |
| 131 | + disable-radix-cache: true |
| 132 | + disable-cuda-graph: true |
| 133 | + decode: |
| 134 | + nodes: 1 |
| 135 | + workers: 1 |
| 136 | + gpus: 8 |
| 137 | + |
| 138 | + env: |
| 139 | + <<: *common_environment |
| 140 | + SGLANG_MORI_NUM_MAX_DISPATCH_TOKENS_PER_RANK: "128" |
| 141 | + args: |
| 142 | + <<: *common_server |
| 143 | + mem-fraction-static: 0.85 |
| 144 | + max-total-tokens: |
| 145 | + chunked-prefill-size: |
| 146 | + disable-radix-cache: false |
| 147 | + disable-cuda-graph: false |
| 148 | + prefill-round-robin-balance: true |
| 149 | + cuda-graph-bs: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, |
| 150 | + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 151 | + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, |
| 152 | + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, |
| 153 | + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128] |
| 154 | + |
| 155 | +sbatch_directives: |
| 156 | + cpus-per-task: "128" |
| 157 | + mem: "0" |
| 158 | + |
| 159 | +srun_options: |
| 160 | + mem: "0" |
| 161 | + container-writable: "" |
| 162 | + container-remap-root: "" |
| 163 | + |
| 164 | +health_check: {max_attempts: 720, interval_seconds: 5} |
| 165 | + |
| 166 | +benchmark: |
| 167 | + type: custom |
| 168 | + command: | |
| 169 | + set -eo pipefail |
| 170 | + source /infmax-workspace/benchmarks/benchmark_lib.sh --validation-only |
| 171 | + check_env_vars SLURM_JOB_ID SRT_FRONTEND_HOST SRT_FRONTEND_PORT CONC_LIST RANDOM_RANGE_RATIO |
| 172 | + result_root="/results/${SLURM_JOB_ID}/fixed-seq" |
| 173 | + mkdir -p "${result_root}" |
| 174 | + trap 'tar -C /logs -czf "'"${result_root}"'/runtime-logs.tar.gz" . 2>/dev/null || true' EXIT |
| 175 | + for concurrency in ${CONC_LIST}; do |
| 176 | + python3 /infmax-workspace/utils/bench_serving/benchmark_serving.py \ |
| 177 | + --backend openai \ |
| 178 | + --base-url "http://${SRT_FRONTEND_HOST}:${SRT_FRONTEND_PORT}" \ |
| 179 | + --endpoint /v1/completions \ |
| 180 | + --model deepseek-ai/DeepSeek-V4-Pro \ |
| 181 | + --tokenizer deepseek-ai/DeepSeek-V4-Pro \ |
| 182 | + --dataset-name random \ |
| 183 | + --random-input-len 8192 \ |
| 184 | + --random-output-len 1024 \ |
| 185 | + --random-range-ratio "${RANDOM_RANGE_RATIO}" \ |
| 186 | + --use-chat-template \ |
| 187 | + --dsv4 \ |
| 188 | + --num-warmups "$((concurrency * 2))" \ |
| 189 | + --num-prompts "$((concurrency * 10))" \ |
| 190 | + --max-concurrency "${concurrency}" \ |
| 191 | + --request-rate inf \ |
| 192 | + --ignore-eos \ |
| 193 | + --percentile-metrics ttft,tpot,itl,e2el \ |
| 194 | + --save-result \ |
| 195 | + --result-dir "${result_root}" \ |
| 196 | + --result-filename "dsv4-fp4-disagg-mtp1-dep8-isl8192-osl1024-c${concurrency}.json" |
| 197 | + done |
| 198 | + env: |
| 199 | + TRANSFORMERS_VERBOSITY: error |
| 200 | + TOKENIZERS_PARALLELISM: "false" |
| 201 | + HF_HOME: /hf_hub_cache |
| 202 | + HF_HUB_CACHE: /hf_hub_cache/hub |
| 203 | + HUGGINGFACE_HUB_CACHE: /hf_hub_cache/hub |
0 commit comments