init v0.23.0

Signed-off-by: Sun Ruoxi <sunruoxi@4paradigm.com>
This commit is contained in:
2026-08-27 15:11:51 +08:00
parent b582a8e7d1
commit 7f8a1b1f7a
2849 changed files with 712887 additions and 22001 deletions

View File

@@ -0,0 +1,324 @@
test_name: "DeepSeek-V4-Pro-w4a8-PD-no-prefix"
model: "Eco-Tech/DeepSeek-V4-Pro-w4a8-mtp"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 16
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 16
dp_size_local: 8
dp_rank_start: 8
tp_size: 2
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
env_prefill: &env_prefill
<<: *env_common
HCCL_CONNECT_TIMEOUT: "6000"
HCCL_BUFFSIZE: "1024"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
env_decode: &env_decode
<<: *env_common
HCCL_CONNECT_TIMEOUT: "1200"
HCCL_BUFFSIZE: "1800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --no-disable-hybrid-kv-cache-manager
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --block-size
- "128"
- --enforce-eager
- --speculative-config
- '{"num_speculative_tokens": 1,"method": "mtp"}'
- --additional-config
- '{"enable_cpu_binding": true, "enable_dsa_cp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --no-disable-hybrid-kv-cache-manager
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --block-size
- "128"
- --enforce-eager
- --speculative-config
- '{"num_speculative_tokens": 1,"method": "mtp"}'
- --additional-config
- '{"enable_cpu_binding": true, "enable_dsa_cp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "120"
- --max-num-seqs
- "30"
- --async-scheduling
- --block-size
- "128"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --no-disable-hybrid-kv-cache-manager
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --speculative-config
- '{"num_speculative_tokens": 3,"method": "mtp"}'
- --gpu-memory-utilization
- "0.95"
- --quantization
- "ascend"
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_consumer", "kv_port": "30800", "engine_id": "8", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- --additional-config
- '{"ascend_compilation_config":{"enable_npugraph_ex":true,"enable_static_kernel":false},"enable_cpu_binding":true,"multistream_overlap_shared_expert":true,"recompute_scheduler_enable":true}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "120"
- --max-num-seqs
- "30"
- --async-scheduling
- --block-size
- "128"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --no-disable-hybrid-kv-cache-manager
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --speculative-config
- '{"num_speculative_tokens": 3,"method": "mtp"}'
- --gpu-memory-utilization
- "0.95"
- --quantization
- "ascend"
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_consumer", "kv_port": "30800", "engine_id": "8", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- --additional-config
- '{"ascend_compilation_config":{"enable_npugraph_ex":true,"enable_static_kernel":false},"enable_cpu_binding":true,"multistream_overlap_shared_expert":true,"recompute_scheduler_enable":true}'
benchmarks:
perf_TPOT50_3_5_1_5:
case_type: performance
dataset_path_local: vllm-ascend/GSM8K-in3500-bs4096-prefix0-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1024
max_out_len: 1500
batch_size: 256
request_rate: 3
baseline: 3822.66
threshold: 0.95
perf_TPOT20_3_5_1_5:
case_type: performance
dataset_path_local: vllm-ascend/GSM8K-in3500-bs4096-prefix0-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 16
max_out_len: 1500
batch_size: 4
request_rate: 0
baseline: 170.83
threshold: 0.95
perf_TPOT50_64_1:
case_type: performance
dataset_path_local: GSM8K_prefix0_in65536_bs400_deepseek
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 64
max_out_len: 1024
batch_size: 16
request_rate: 0.25
baseline: 223.8
threshold: 0.95

View File

@@ -0,0 +1,346 @@
test_name: "DeepSeek-V4-Pro-w4a8-prefix-cache-PD"
model: "Eco-Tech/DeepSeek-V4-Pro-w4a8-mtp"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 16
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 16
dp_size_local: 8
dp_rank_start: 8
tp_size: 2
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
env_prefill: &env_prefill
<<: *env_common
HCCL_CONNECT_TIMEOUT: "6000"
HCCL_BUFFSIZE: "1024"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "4096"
env_decode: &env_decode
<<: *env_common
HCCL_CONNECT_TIMEOUT: "1200"
HCCL_BUFFSIZE: "1800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "204800"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --no-disable-hybrid-kv-cache-manager
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --gpu-memory-utilization
- "0.95"
- --quantization
- "ascend"
- --block-size
- "32"
- --enforce-eager
- --speculative-config
- '{"num_speculative_tokens": 1,"method": "mtp"}'
- --additional-config
- '{"enable_cpu_binding": true, "enable_dsa_cp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "204800"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --no-disable-hybrid-kv-cache-manager
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --gpu-memory-utilization
- "0.95"
- --quantization
- "ascend"
- --block-size
- "32"
- --enforce-eager
- --speculative-config
- '{"num_speculative_tokens": 1,"method": "mtp"}'
- --additional-config
- '{"enable_cpu_binding": true, "enable_dsa_cp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "204800"
- --max-num-batched-tokens
- "120"
- --max-num-seqs
- "30"
- --async-scheduling
- --block-size
- "32"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --no-disable-hybrid-kv-cache-manager
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --speculative-config
- '{"num_speculative_tokens": 3,"method": "mtp"}'
- --gpu-memory-utilization
- "0.96"
- --quantization
- "ascend"
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_consumer", "kv_port": "30800", "engine_id": "8", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- --additional-config
- '{"ascend_compilation_config":{"enable_npugraph_ex":true,"enable_static_kernel":false},"enable_cpu_binding":true,"multistream_overlap_shared_expert":true,"recompute_scheduler_enable":true}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "204800"
- --max-num-batched-tokens
- "120"
- --max-num-seqs
- "30"
- --async-scheduling
- --block-size
- "32"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --no-disable-hybrid-kv-cache-manager
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --speculative-config
- '{"num_speculative_tokens": 3,"method": "mtp"}'
- --gpu-memory-utilization
- "0.96"
- --quantization
- "ascend"
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_consumer", "kv_port": "30800", "engine_id": "8", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
- --additional-config
- '{"ascend_compilation_config":{"enable_npugraph_ex":true,"enable_static_kernel":false},"enable_cpu_binding":true,"multistream_overlap_shared_expert":true,"recompute_scheduler_enable":true}'
benchmarks:
perf_TPOT50_64_1_prefix90_warmup:
case_type: performance
dataset_path_local: vllm-ascend/GSM8K-in65536-bs512-prefix90-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 4
max_out_len: 1
batch_size: 4
request_rate: 0
baseline: 0
threshold: 0.95
perf_TPOT50_64_1_prefix90:
case_type: performance
dataset_path_local: vllm-ascend/GSM8K-in65536-bs512-prefix90-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 384
max_out_len: 1024
batch_size: 96
request_rate: 2.5
baseline: 1951.6
threshold: 0.95
perf_TPOT50_128k_1_prefix_warmup:
case_type: performance
dataset_path_local: vllm-ascend/GSM8K-in128k-bs512-prefix90-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 4
max_out_len: 1
batch_size: 4
request_rate: 0
baseline: 0
threshold: 0.95
perf_TPOT50_128k_1_prefix90:
case_type: performance
dataset_path_local: vllm-ascend/GSM8K-in128k-bs512-prefix90-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 192
max_out_len: 1024
batch_size: 48
request_rate: 1
baseline: 869.13
threshold: 0.95
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
temperature: 1.0
top_p: 1.0
thinking: "true"
max_out_len: 65536
batch_size: 32
baseline: 90
threshold: 10

View File

@@ -0,0 +1,201 @@
test_name: "DeepSeek-V4-Flash-w8a8-PD-no-prefix"
model: "Eco-Tech/DeepSeek-V4-Flash-w8a8-mtp"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 16
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "1024"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "4096"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1500"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "1048576"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --no-enable-prefix-caching
- --no-disable-hybrid-kv-cache-manager
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --speculative-config
- '{"num_speculative_tokens": 1,"method": "mtp"}'
- --trust-remote-code
- --block-size
- "32"
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --enforce-eager
- --additional-config
- '{"enable_cpu_binding": true, "enable_dsa_cp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 4}, "decode": {"dp_size": 16, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "1048576"
- --max-num-batched-tokens
- "240"
- --max-num-seqs
- "60"
- --async-scheduling
- --block-size
- "32"
- --no-enable-prefix-caching
- --no-disable-hybrid-kv-cache-manager
- --model-loader-extra-config
- '{"enable_multithread_load": true, "num_threads": 128}'
- --trust-remote-code
- --tokenizer-mode
- "deepseek_v4"
- --tool-call-parser
- "deepseek_v4"
- --enable-auto-tool-choice
- --reasoning-parser
- "deepseek_v4"
- --gpu-memory-utilization
- "0.95"
- --quantization
- "ascend"
- --speculative-config
- '{"num_speculative_tokens": 3,"method": "mtp"}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_consumer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 4}, "decode": {"dp_size": 16, "tp_size": 1}}}'
- --additional-config
- '{"ascend_compilation_config":{"enable_npugraph_ex":true,"enable_static_kernel":false},"enable_cpu_binding":true,"multistream_overlap_shared_expert":true,"recompute_scheduler_enable":true}'
benchmarks:
perf_TPOT50_3_5_1_5:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs4096-prefix0-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 4096
max_out_len: 1500
batch_size: 1024
request_rate: 12
baseline: 15569.48
threshold: 0.95
perf_TPOT20_3_5_1_5:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs4096-prefix0-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 400
max_out_len: 1500
batch_size: 100
request_rate: 12
baseline: 4071.471
threshold: 0.95
perf_TPOT20_3_5_1_5_top_k:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs4096-prefix0-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
temperature: 0.6
top_k: -1
top_p: 0.95
num_prompts: 400
max_out_len: 1500
batch_size: 100
request_rate: 12
baseline: 4071.471
threshold: 0.95

View File

@@ -0,0 +1,265 @@
test_name: "DeepSeek_V3.1T_MTP1_128K_1K_PD"
model: "Eco-Tech/DeepSeek-V3.1-Terminus-w8a8-mtp-QuaRot"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: 1
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "256"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1200"
VLLM_ASCEND_ENABLE_MLAPO: "1"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "135000"
- --max-num-batched-tokens
- "1024"
- --max-num-seqs
- "1"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.93"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":false,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "135000"
- --max-num-batched-tokens
- "1024"
- --max-num-seqs
- "1"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.93"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":false,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "135000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "1"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "135000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "1"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
perf_wram_up:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in1024-bs210
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 100
max_out_len: 1
batch_size: 100
request_rate: 0
baseline: 1
threshold: 0.97
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in128k-bs512-prefix90-ds
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1
max_out_len: 1024
batch_size: 1
request_rate: 0
baseline: 7
threshold: 0.97

View File

@@ -0,0 +1,255 @@
test_name: "DeepSeek_V3.1T_MTP1_3_5K_1_5K_PD"
model: "Eco-Tech/DeepSeek-V3.1-Terminus-w8a8-mtp-QuaRot"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
ASCEND_LOG_DEVICE_FLUSH_TIMEOUT: "0"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: 1
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "256"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1200"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 2400
max_out_len: 1500
batch_size: 700
request_rate: 0
baseline: 9800
threshold: 0.97

View File

@@ -0,0 +1,257 @@
test_name: "DeepSeek_V3.1T_MTP1_PD"
model: "Eco-Tech/DeepSeek-V3.1-Terminus-w8a8-mtp-QuaRot"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
ASCEND_LOG_DEVICE_FLUSH_TIMEOUT: "0"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: 1
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "256"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1200"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/gsm8k
request_conf: vllm_api_general_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_chat_prompt
max_out_len: 32768
batch_size: 64
baseline: 96.29
threshold: 1
temperature: 0.6
top_p: 0.95
ignore_eos: false
thinking: true

View File

@@ -0,0 +1,257 @@
test_name: "DeepSeek_V3.1T_MTP3_PD"
model: "Eco-Tech/DeepSeek-V3.1-Terminus-w8a8-mtp-QuaRot"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
ASCEND_LOG_DEVICE_FLUSH_TIMEOUT: "0"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: 1
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "256"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1200"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/gsm8k
request_conf: vllm_api_general_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_chat_prompt
max_out_len: 32768
batch_size: 64
baseline: 96.29
threshold: 1
temperature: 0.6
top_p: 0.95
ignore_eos: false
thinking: true

View File

@@ -0,0 +1,262 @@
test_name: "DeepSeek_V3.1T_layerwise_PD"
model: "Eco-Tech/DeepSeek-V3.1-Terminus-w8a8-mtp-QuaRot"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_USE_MODELSCOPE: "true"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
ASCEND_LOG_DEVICE_FLUSH_TIMEOUT: "0"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: 1
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
PYTHONHASHSEED: "0"
ASCEND_CONNECT_TIMEOUT: "10000"
ASCEND_TRANSFER_TIMEOUT: "10000"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "256"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1100"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeLayerwiseConnector", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --additional-config
- '{"recompute_scheduler_enable":true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeLayerwiseConnector", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "28"
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --async-scheduling
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_sizes":[3,4,8,16,24,32,48,56]}'
- --additional-config
- '{"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeLayerwiseConnector", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "28"
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --async-scheduling
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 1}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_sizes":[3,4,8,16,24,32,48,56]}'
- --additional-config
- '{"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeLayerwiseConnector", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/gpqa
request_conf: vllm_api_general_chat
dataset_conf: gpqa/gpqa_gen_0_shot_cot_chat_prompt
max_out_len: 32768
batch_size: 64
baseline: 80.3
threshold: 5
temperature: 0.6
top_p: 0.95
ignore_eos: false
thinking: true

View File

@@ -0,0 +1,280 @@
test_name: "DeepSeek_V3.2T_MTP2_PD"
model: "vllm-ascend/DeepSeek-V3.2-W8A8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 1
dp_rank_start: 0
tp_size: 16
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 1
dp_rank_start: 1
tp_size: 16
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
ASCEND_LOG_DEVICE_FLUSH_TIMEOUT: "0"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: 1
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
ASCEND_TRANSPORT_PRINT: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "360"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1100"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
DYNAMIC_EPLB: "true"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 2}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 16}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 2}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 16}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "100"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.93"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --async-scheduling
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 2}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_sizes":[3,6,9,12,15,18,21,24,27,30,33,36,39,42]}'
- --additional-config
- '{"recompute_scheduler_enable": true,"eplb_config": {"dynamic_eplb":true,"expert_heat_collection_interval":2000,"algorithm_execution_interval":50, "eplb_policy_type":3, "num_redundant_experts":0}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 16}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "100"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.93"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --async-scheduling
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 2}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_sizes":[3,6,9,12,15,18,21,24,27,30,33,36,39,42]}'
- --additional-config
- '{"recompute_scheduler_enable": true,"eplb_config": {"dynamic_eplb":true,"expert_heat_collection_interval":2000,"algorithm_execution_interval":50, "eplb_policy_type":3, "num_redundant_experts":0}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 16}, "decode": {"dp_size": 8, "tp_size": 4}}}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 65536
batch_size: 32
baseline: 89.9
threshold: 10
temperature: 1.0
top_p: 0.95
ignore_eos: false
thinking: true

View File

@@ -0,0 +1,276 @@
test_name: "DeepSeek_V3.2T_MTP3_PD"
model: "vllm-ascend/DeepSeek-V3.2-W8A8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
ASCEND_LOG_DEVICE_FLUSH_TIMEOUT: "0"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: 1
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
ASCEND_TRANSPORT_PRINT: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "360"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1200"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
DYNAMIC_EPLB: "true"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "8000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "8000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "8000"
- --max-num-batched-tokens
- "100"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --async-scheduling
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64]}'
- --additional-config
- '{"recompute_scheduler_enable": true,"eplb_config": {"dynamic_eplb":true,"expert_heat_collection_interval":2000,"algorithm_execution_interval":50, "eplb_policy_type":3, "num_redundant_experts":0}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "8000"
- --max-num-batched-tokens
- "100"
- --max-num-seqs
- "40"
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --tokenizer-mode
- "deepseek_v32"
- --reasoning-parser
- "deepseek_v3"
- --async-scheduling
- --speculative-config
- '{"method": "deepseek_mtp", "num_speculative_tokens": 3}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64]}'
- --additional-config
- '{"recompute_scheduler_enable": true,"eplb_config": {"dynamic_eplb":true,"expert_heat_collection_interval":2000,"algorithm_execution_interval":50, "eplb_policy_type":3, "num_redundant_experts":0}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 8, "tp_size": 4}}}'
benchmarks:
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K_in2048_bs4000_deepseek3_2
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 128
max_out_len: 2048
batch_size: 32
request_rate: 0
baseline: 1460.4861
threshold: 0.97

View File

@@ -0,0 +1,335 @@
test_name: "GLM-5.1-744B-128k-1k-90-50-PD"
model: "Eco-Tech/GLM-5.1-w8a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true,"c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30000",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true,"c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30000",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --enable-prefix-caching
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --enable-prefix-caching
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in131072-bs500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1024
batch_size: 64
request_rate: 1.52
baseline: 1294.76
threshold: 0.97

View File

@@ -0,0 +1,334 @@
test_name: "GLM-5.1-744B-3.5k-1.5k-0-20"
model: "Eco-Tech/GLM-5.1-w8a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false}'
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
benchmarks:
perf_TPOT20:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 160
max_out_len: 1500
batch_size: 40
request_rate: 6.87
baseline: 1456.52
threshold: 0.97

View File

@@ -0,0 +1,336 @@
test_name: "GLM-5.1-744B-3.5k-1.5k-0-50"
model: "Eco-Tech/GLM-5.1-w8a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "finegrained_tp_config": {"lmhead_tensor_parallel_size":16}}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "finegrained_tp_config": {"lmhead_tensor_parallel_size":16}}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
benchmarks:
perf_TPOT50:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1920
max_out_len: 1500
batch_size: 480
request_rate: 6.5
baseline: 8240.61
threshold: 0.97

View File

@@ -0,0 +1,343 @@
test_name: "GLM-5.1-744B-64k-1k-90-50"
model: "Eco-Tech/GLM-5.1-w8a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --quantization
- "ascend"
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
benchmarks:
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 32768
batch_size: 32
baseline: 93.33
threshold: 10
temperature: 1.0
top_p: 0.95
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in65536-bs1500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 512
max_out_len: 1024
batch_size: 128
request_rate: 3.15
baseline: 2722.60
threshold: 0.97

View File

@@ -0,0 +1,339 @@
test_name: "GLM-5.2-w4a8c8-128k-1k-90-50-PD"
model: "Eco-Tech/GLM-5.2-w4a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true,"c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30000",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true,"c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30000",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --enable-prefix-caching
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "202752"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --enable-prefix-caching
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in131072-bs500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1024
batch_size: 64
request_rate: 1.52
baseline: 1294.76
threshold: 0.97

View File

@@ -0,0 +1,334 @@
test_name: "GLM-5.2-w4a8c8-3.5k-1.5k-0-20"
model: "Eco-Tech/GLM-5.2-w4a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false}'
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
benchmarks:
perf_TPOT20:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 160
max_out_len: 1500
batch_size: 40
request_rate: 6.87
baseline: 1456.52
threshold: 0.97

View File

@@ -0,0 +1,336 @@
test_name: "Eco-Tech/GLM-5.2-w4a8c8-3.5k-1.5k-0-50"
model: "Eco-Tech/GLM-5.2-w4a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "c8_enable_reshape_optim":false}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --no-enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "finegrained_tp_config": {"lmhead_tensor_parallel_size":16}}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "18432"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": false, "finegrained_tp_config": {"lmhead_tensor_parallel_size":16}}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30203",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
benchmarks:
perf_TPOT50:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1920
max_out_len: 1500
batch_size: 480
request_rate: 6.5
baseline: 8240.61
threshold: 0.97

View File

@@ -0,0 +1,347 @@
test_name: "GLM-5.2-w4a8c8-64k-1k-90-50"
model: "Eco-Tech/GLM-5.2-w4a8c8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "400"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable" : false,"multistream_overlap_shared_expert": true, "enable_dsa_cp":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "c8_enable_reshape_optim":true}'
- --max-num-batched-tokens
- "8192"
- --trust-remote-code
- --enable-prefix-caching
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30001",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --quantization
- "ascend"
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 3
envs:
<<: *env_common
HCCL_BUFFSIZE: "256"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --hf-overrides
- '{"use_index_cache": true, "index_topk_freq": 4}'
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "164"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"deepseek_mtp","enforce_eager":true}'
- --additional-config
- '{"fuse_muls_add":true,"recompute_scheduler_enable":true,"multistream_overlap_shared_expert":true,"enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --quantization
- "ascend"
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
benchmarks:
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 32768
batch_size: 32
baseline: 93.33
threshold: 10
temperature: 1.0
top_p: 0.95
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in65536-bs1500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 512
max_out_len: 1024
batch_size: 128
request_rate: 3.15
baseline: 2722.60
threshold: 0.97

View File

@@ -0,0 +1,334 @@
test_name: "GLM_5_1_PD-32k-0.5k-64-0"
model: "Eco-Tech/GLM-5.1-w8a8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
HCCL_BUFFSIZE: "256"
VLLM_TORCH_PROFILER_WITH_STACK: "0"
ASCEND_AGGREGATE_ENABLE: "1"
ASCEND_TRANSPORT_PRINT: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
VLLM_ENGINE_READY_TIMEOUT_S: "7200"
HCCL_CONNECT_TIMEOUT: "1200"
HCCL_INTRA_PCIE_ENABLE: "1"
HCCL_INTRA_ROCE_ENABLE: "0"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- --seed
- "1024"
- --max-model-len
- "65536"
- --additional-config
- '{"enable_dsa_cp": true}'
- --max-num-batched-tokens
- "4096"
- --no-enable-prefix-caching
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.95"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "32121",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- --seed
- "1024"
- --max-model-len
- "65536"
- --additional-config
- '{"enable_dsa_cp": true}'
- --max-num-batched-tokens
- "4096"
- --no-enable-prefix-caching
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.95"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "32121",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method": "mtp"}'
- "--seed"
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "128"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --no-enable-prefix-caching
- --quantization
- ascend
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --tool-call-parser
- glm47
- --reasoning-parser
- glm45
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "32123",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}}'
- node_index: 3
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method": "mtp"}'
- "--seed"
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "128"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "32123",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in32768_bs100_glm
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 64
max_out_len: 512
batch_size: 16
request_rate: 0
baseline: 1
threshold: 0.97

View File

@@ -0,0 +1,330 @@
test_name: "GLM_5_1_PD-32k-0.5k-80-90"
model: "Eco-Tech/GLM-5.1-w8a8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
HCCL_BUFFSIZE: "256"
VLLM_TORCH_PROFILER_WITH_STACK: "0"
ASCEND_AGGREGATE_ENABLE: "1"
ASCEND_TRANSPORT_PRINT: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
VLLM_ENGINE_READY_TIMEOUT_S: "7200"
HCCL_CONNECT_TIMEOUT: "1200"
HCCL_INTRA_PCIE_ENABLE: "1"
HCCL_INTRA_ROCE_ENABLE: "0"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- --seed
- "1024"
- --max-model-len
- "65536"
- --additional-config
- '{"enable_dsa_cp": true}'
- --max-num-batched-tokens
- "4096"
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.95"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "32120",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- --seed
- "1024"
- --max-model-len
- "65536"
- --additional-config
- '{"enable_dsa_cp": true}'
- --max-num-batched-tokens
- "4096"
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.95"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "32120",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}
}'
- node_index: 2
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method": "mtp"}'
- "--seed"
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "128"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "32122",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}}'
- node_index: 3
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method": "mtp"}'
- "--seed"
- "1024"
- --max-model-len
- "150000"
- --max-num-batched-tokens
- "128"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "32122",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in32768_bs100_glm
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 80
max_out_len: 512
batch_size: 20
request_rate: 0
baseline: 1
threshold: 0.97

View File

@@ -0,0 +1,344 @@
#131072-1024-90-32
#65536-1024-90-64
test_name: "GLM_5_1_PD-in64k_in128k_bs16_bs8"
model: "Eco-Tech/GLM-5.1-w8a8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2, 3]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 2
dp_rank_start: 2
tp_size: 8
dp_address: "${NODE_2_IP}"
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
HCCL_BUFFSIZE: "900"
VLLM_TORCH_PROFILER_WITH_STACK: "0"
ASCEND_AGGREGATE_ENABLE: "1"
ASCEND_TRANSPORT_PRINT: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
VLLM_ENGINE_READY_TIMEOUT_S: "7200"
HCCL_CONNECT_TIMEOUT: "1200"
HCCL_INTRA_PCIE_ENABLE: "1"
HCCL_INTRA_ROCE_ENABLE: "0"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- --seed
- "1024"
- --max-model-len
- "140000"
- --additional-config
- '{"enable_dsa_cp": true}'
- --max-num-batched-tokens
- "4096"
- --trust-remote-code
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.95"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "32120",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 4,
"tp_size": 8
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- --seed
- "1024"
- --max-model-len
- "140000"
- --additional-config
- '{"enable_dsa_cp": true}'
- --max-num-batched-tokens
- "4096"
- --trust-remote-code
- --max-num-seqs
- "64"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.95"
- --enforce-eager
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "32120",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 4,
"tp_size": 8
}
}
}'
- node_index: 2
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- "--seed"
- "1024"
- --max-model-len
- "140000"
- --max-num-batched-tokens
- "128"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,64,96,128]}'
- --additional-config
- '{"recompute_scheduler_enable":true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "32122",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 4,
"tp_size": 8
}
}}'
- node_index: 3
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --speculative-config
- '{"num_speculative_tokens": 3, "method":"mtp"}'
- "--seed"
- "1024"
- --max-model-len
- "140000"
- --max-num-batched-tokens
- "128"
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY","cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,64,96,128]}'
- --additional-config
- '{"recompute_scheduler_enable":true}'
- --trust-remote-code
- --max-num-seqs
- "32"
- --quantization
- "ascend"
- --gpu-memory-utilization
- "0.92"
- --async-scheduling
- --enable-auto-tool-choice
- --tool-call-parser
- "glm47"
- --reasoning-parser
- "glm45"
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "32122",
"engine_id": "3",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 8
},
"decode": {
"dp_size": 4,
"tp_size": 8
}
}}'
benchmarks:
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in65536_bs100_glm
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 64
max_out_len: 1024
batch_size: 16
request_rate: 0
baseline: 1
threshold: 0.97
perf_2:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in131072_bs100_glm
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 32
max_out_len: 1024
batch_size: 8
request_rate: 0
baseline: 1
threshold: 0.97

View File

@@ -0,0 +1,269 @@
test_name: "multi-node-kimi-k2.5-w4a8-ep-128k-1k-TPOT50"
model: "Eco-Tech/Kimi-K2.5-W4A8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "1536"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
VLLM_ASCEND_ENABLE_MLAPO: "1"
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "1"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --additional-config
- '{"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"use_ascend_direct": true, "prefill": {"dp_size": 4, "tp_size": 4}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "1"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --additional-config
- '{"enable_shared_expert_dp": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"use_ascend_direct": true, "prefill": {"dp_size": 4, "tp_size": 4}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "133720"
- --max-num-batched-tokens
- "32"
- --max-num-seqs
- "8"
- --trust-remote-code
- --gpu-memory-utilization
- "0.91"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "eagle3", "model": "lightseekorg/kimi-k2.5-eagle3", "num_speculative_tokens": 3}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"use_ascend_direct": true, "prefill": {"dp_size": 4, "tp_size": 4}, "decode": {"dp_size": 8, "tp_size": 4}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "133720"
- --max-num-batched-tokens
- "32"
- --max-num-seqs
- "8"
- --trust-remote-code
- --gpu-memory-utilization
- "0.91"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --speculative-config
- '{"method": "eagle3", "model": "lightseekorg/kimi-k2.5-eagle3", "num_speculative_tokens": 3}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"use_ascend_direct": true, "prefill": {"dp_size": 4, "tp_size": 4}, "decode": {"dp_size": 8, "tp_size": 4}}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in131072_bs1000_kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
trust_remote_code: true
num_prompts: 512
max_out_len: 1024
batch_size: 128
request_rate: 3
baseline: 1
threshold: 0.95
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 65536
temperature: 0.0
top_p: 1
top_k: -1
repetition_penalty: 1.0
batch_size: 32
baseline: 95
threshold: 10
acc_GPQA:
case_type: accuracy
dataset_path: vllm-ascend/gpqa
request_conf: vllm_api_general_chat
dataset_conf: gpqa/gpqa_gen_0_shot_cot_chat_prompt
max_out_len: 65536
batch_size: 32
baseline: 87.6
threshold: 5

View File

@@ -0,0 +1,246 @@
test_name: "multi-node-kimi-k2.5-w4a8-ep-16k-1k-TPOT50"
model: "Eco-Tech/Kimi-K2.5-W4A8"
num_nodes: 4
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0, 1 ]
decoder: [ 2, 3 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_2_IP}"
- node_index: 3
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_2_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
TASK_QUEUE_ENABLE: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "256"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "1800"
VLLM_ASCEND_ENABLE_MLAPO: "1"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --quantization
- "ascend"
- --trust-remote-code
- --max-num-seqs
- "8"
- --max-model-len
- "32768"
- --max-num-batched-tokens
- "16384"
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.8"
- --enforce-eager
- --speculative-config
- '{"method": "eagle3", "model":"lightseekorg/kimi-k2.5-eagle3", "num_speculative_tokens": 3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --quantization
- "ascend"
- --trust-remote-code
- --max-num-seqs
- "8"
- --max-model-len
- "32768"
- --max-num-batched-tokens
- "16384"
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.8"
- --enforce-eager
- --speculative-config
- '{"method": "eagle3", "model":"lightseekorg/kimi-k2.5-eagle3", "num_speculative_tokens": 3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --quantization
- "ascend"
- --trust-remote-code
- --max-num-seqs
- "48"
- --max-model-len
- "32768"
- --max-num-batched-tokens
- "256"
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.95"
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY", "cudagraph_capture_sizes":[4,8,16,32,48,64,80,96,112,128,144,160]}'
- --additional-config
- '{"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": false}'
- --speculative-config
- '{"method": "eagle3", "model":"lightseekorg/kimi-k2.5-eagle3", "num_speculative_tokens": 3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 3
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --quantization
- "ascend"
- --trust-remote-code
- --max-num-seqs
- "48"
- --max-model-len
- "32768"
- --max-num-batched-tokens
- "256"
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.95"
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY", "cudagraph_capture_sizes":[4,8,16,32,48,64,80,96,112,128,144,160]}'
- --additional-config
- '{"recompute_scheduler_enable":true,"multistream_overlap_shared_expert": false}'
- --speculative-config
- '{"method": "eagle3", "model":"lightseekorg/kimi-k2.5-eagle3", "num_speculative_tokens": 3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in16384_bs1024_kimi25
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
trust_remote_code: true
num_prompts: 1024
max_out_len: 1024
batch_size: 256
request_rate: 3
baseline: 2099.9
threshold: 0.95

View File

@@ -0,0 +1,160 @@
test_name: "Kimi-K2.6-W4A8-128k-1k-TPOT50-PD"
model: "Eco-Tech/Kimi-K2.6-w4a8"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "512"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --safetensors-load-strategy
- 'prefetch'
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 1}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_producer","kv_port": "30000","engine_id": "0","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --safetensors-load-strategy
- 'prefetch'
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "16"
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 15}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true, "lmhead_tensor_parallel_size":16}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_consumer","kv_port": "30100","engine_id": "1","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 32768
batch_size: 8
baseline: 93.33
threshold: 10
temperature: 1.0
top_p: 1
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in131072_bs1000_kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 40
max_out_len: 1024
batch_size: 10
request_rate: 0.3
baseline: 220.503
threshold: 0.97

View File

@@ -0,0 +1,150 @@
test_name: "Kimi-K2.6-W4A8-254k-1k-TPOT20-PD"
model: "Eco-Tech/Kimi-K2.6-w4a8"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 1
dp_size_local: 1
dp_rank_start: 0
tp_size: 16
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 1
dp_size_local: 1
dp_rank_start: 0
tp_size: 16
dp_address: "${NODE_1_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_SERVER_DEV_MODE: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "512"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --safetensors-load-strategy
- 'prefetch'
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "262144"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "1"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.95"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 1}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_producer","kv_port": "30000","engine_id": "0","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 1,"tp_size": 16},"decode": {"dp_size": 1,"tp_size": 16}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --safetensors-load-strategy
- 'prefetch'
- --seed
- "1024"
- --max-model-len
- "262144"
- --max-num-batched-tokens
- "64"
- --max-num-seqs
- "1"
- --trust-remote-code
- --gpu-memory-utilization
- "0.95"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 7}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true, "lmhead_tensor_parallel_size":16}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_consumer","kv_port": "30100","engine_id": "1","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 1,"tp_size": 16},"decode": {"dp_size": 1,"tp_size": 16}}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in254k-bs16-prefix99-kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1
max_out_len: 1024
batch_size: 1
request_rate: 0
baseline: 50.9973
threshold: 0.97

View File

@@ -0,0 +1,152 @@
test_name: "Kimi-K2.6-W4A8-3.5k-1.5k-TPOT50-PD"
model: "Eco-Tech/Kimi-K2.6-w4a8"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_SERVER_DEV_MODE: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "512"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --safetensors-load-strategy
- 'prefetch'
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "20000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "32"
- --enforce-eager
- --trust-remote-code
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.94"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 1}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_producer","kv_port": "30000","engine_id": "0","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --safetensors-load-strategy
- 'prefetch'
- --seed
- "1024"
- --max-model-len
- "20000"
- --max-num-batched-tokens
- "2048"
- --max-num-seqs
- "32"
- --trust-remote-code
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.92"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 7}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true, "lmhead_tensor_parallel_size":16}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_consumer","kv_port": "30100","engine_id": "1","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs4096-prefix0-kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 512
max_out_len: 1500
batch_size: 128
request_rate: 2.5
baseline: 3206.8964
threshold: 0.97

View File

@@ -0,0 +1,160 @@
test_name: "Kimi-K2.7-W4A8-128k-1k-TPOT50-PD"
model: "Eco-Tech/Kimi-K2.7-Code-w4a8"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "512"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --safetensors-load-strategy
- 'prefetch'
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 1}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_producer","kv_port": "30000","engine_id": "0","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --safetensors-load-strategy
- 'prefetch'
- --seed
- "1024"
- --max-model-len
- "133120"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "16"
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 15}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true, "lmhead_tensor_parallel_size":16}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_consumer","kv_port": "30100","engine_id": "1","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 32768
batch_size: 8
baseline: 93.33
threshold: 10
temperature: 1.0
top_p: 1
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in131072_bs1000_kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 40
max_out_len: 1024
batch_size: 10
request_rate: 0.3
baseline: 220.503
threshold: 0.97

View File

@@ -0,0 +1,150 @@
test_name: "Kimi-K2.7-W4A8-254k-1k-TPOT20-PD"
model: "Eco-Tech/Kimi-K2.7-Code-w4a8"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 1
dp_size_local: 1
dp_rank_start: 0
tp_size: 16
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 1
dp_size_local: 1
dp_rank_start: 0
tp_size: 16
dp_address: "${NODE_1_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_SERVER_DEV_MODE: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "512"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --safetensors-load-strategy
- 'prefetch'
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "262144"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "1"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.95"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 1}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_producer","kv_port": "30000","engine_id": "0","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 1,"tp_size": 16},"decode": {"dp_size": 1,"tp_size": 16}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --safetensors-load-strategy
- 'prefetch'
- --seed
- "1024"
- --max-model-len
- "262144"
- --max-num-batched-tokens
- "64"
- --max-num-seqs
- "1"
- --trust-remote-code
- --gpu-memory-utilization
- "0.95"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 7}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true, "lmhead_tensor_parallel_size":16}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_consumer","kv_port": "30100","engine_id": "1","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 1,"tp_size": 16},"decode": {"dp_size": 1,"tp_size": 16}}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in254k-bs16-prefix99-kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1
max_out_len: 1024
batch_size: 1
request_rate: 0
baseline: 50.9973
threshold: 0.97

View File

@@ -0,0 +1,152 @@
test_name: "Kimi-K2.7-W4A8-3.5k-1.5k-TPOT50-PD"
model: "Eco-Tech/Kimi-K2.7-Code-w4a8"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_SERVER_DEV_MODE: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "512"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --safetensors-load-strategy
- 'prefetch'
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "20000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "32"
- --enforce-eager
- --trust-remote-code
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.94"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 1}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_producer","kv_port": "30000","engine_id": "0","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --safetensors-load-strategy
- 'prefetch'
- --seed
- "1024"
- --max-model-len
- "20000"
- --max-num-batched-tokens
- "2048"
- --max-num-seqs
- "32"
- --trust-remote-code
- --no-enable-prefix-caching
- --gpu-memory-utilization
- "0.92"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 7}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true, "lmhead_tensor_parallel_size":16}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_consumer","kv_port": "30100","engine_id": "1","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs4096-prefix0-kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 512
max_out_len: 1500
batch_size: 128
request_rate: 2.5
baseline: 3206.8964
threshold: 0.97

View File

@@ -0,0 +1,150 @@
test_name: "Kimi-K2.7-W4A8-64k-1k-TPOT50-PD"
model: "Eco-Tech/Kimi-K2.7-Code-w4a8"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
env_common: &env_common
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "120"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_SERVER_DEV_MODE: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_USE_MODELSCOPE: "true"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "512"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "800"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --safetensors-load-strategy
- 'prefetch'
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "68000"
- --max-num-batched-tokens
- "8192"
- --max-num-seqs
- "16"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.94"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 1}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_producer","kv_port": "30000","engine_id": "0","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --allowed-local-media-path
- "/"
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --safetensors-load-strategy
- 'prefetch'
- --seed
- "1024"
- --max-model-len
- "68000"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "16"
- --trust-remote-code
- --gpu-memory-utilization
- "0.92"
- --speculative-config
- '{"method": "dflash","model": "z-lab/Kimi-K2.5-DFlash", "num_speculative_tokens": 15}'
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true, "lmhead_tensor_parallel_size":16}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1","kv_role": "kv_consumer","kv_port": "30100","engine_id": "1","kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2,"tp_size": 8},"decode": {"dp_size": 4,"tp_size": 4}}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in65536_bs1000_kimi
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 60
max_out_len: 1024
batch_size: 15
request_rate: 0.4
baseline: 347.4475
threshold: 0.97

View File

@@ -0,0 +1,221 @@
test_name: "MiniMax-PD-in32k-bs4-1"
model: "Eco-Tech/MiniMax-M2.5-w8a8-QuaRot"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0]
decoder: [1, 2]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 4
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_2_IP}"
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_NUM_THREADS: "1"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_USE_MODELSCOPE: "true"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
HCCL_BUFFSIZE: "1200"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- ${PORT}
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40960"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "32"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --quantization
- "ascend"
- --enforce-eager
- --no-enable-prefix_caching
- --speculative-config
- '{"method":"eagle3","model":"vllm-ascend/MiniMax-M2.5-eagle-model-0318","num_speculative_tokens":3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": 30000,
"kv_connector_extra_config": {
"prefill": {
"dp_size": 4,
"tp_size": 4
},
"decode": {
"dp_size": 4,
"tp_size": 4
}
}}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "0"
HCCL_BUFFSIZE: "512"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- ${PORT}
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40960"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "16"
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix_caching
- --speculative-config
- '{"method":"eagle3","model":"vllm-ascend/MiniMax-M2.5-eagle-model-0318","num_speculative_tokens":3}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": 30100,
"kv_connector_extra_config": {
"prefill": {
"dp_size": 4,
"tp_size": 4
},
"decode": {
"dp_size": 4,
"tp_size": 4
}
}}'
- node_index: 2
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "0"
HCCL_BUFFSIZE: "512"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- ${PORT}
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40960"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "16"
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix_caching
- --speculative-config
- '{"method":"eagle3","model":"vllm-ascend/MiniMax-M2.5-eagle-model-0318","num_speculative_tokens":3}'
- --compilation-config
- '{"cudagraph_mode":"FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": 30200,
"kv_connector_extra_config": {
"prefill": {
"dp_size": 4,
"tp_size": 4
},
"decode": {
"dp_size": 4,
"tp_size": 4
}
}}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in32768_bs1000_Minimax
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 4
max_out_len: 512
batch_size: 1
request_rate: 1
baseline: 28.77
threshold: 0.97

View File

@@ -0,0 +1,235 @@
test_name: "Minimax_m2.7_in3_5_tpot50"
model: "vllm-ascend/MiniMax-M2.7-w8a8-QuaRot"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1, 2 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_NUM_THREADS: "1"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
PYTHONHASHSEED: "0"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "1024"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "2048"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "0"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "300"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --enforce-eager
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "55880",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 8,
"tp_size": 4
}} }'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "75"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --async-scheduling
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true, "ascend_compilation_config":{"enable_npugraph_ex": true, "enable_static_kernel": false}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "56900",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "75"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --async-scheduling
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true, "ascend_compilation_config":{"enable_npugraph_ex": true, "enable_static_kernel": false}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "56900",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 4,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 4
}
}}'
benchmarks:
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K_in3500_bs4000_minimax
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 800
max_out_len: 1500
batch_size: 200
request_rate: 0
baseline: 7603.536
threshold: 0.97

View File

@@ -0,0 +1,236 @@
test_name: "Minimax_m2.7_in3_5_tpot50"
model: "vllm-ascend/MiniMax-M2.7-w8a8-QuaRot"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1, 2 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 16
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 16
dp_size_local: 8
dp_rank_start: 8
tp_size: 2
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_NUM_THREADS: "1"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
PYTHONHASHSEED: "0"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "1024"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "2048"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "0"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "300"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --enforce-eager
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "55880",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 16,
"tp_size": 2
}} }'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "75"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --async-scheduling
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true, "ascend_compilation_config":{"enable_npugraph_ex": true, "enable_static_kernel": false}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "56900",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 16,
"tp_size": 2
}
}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "40000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "75"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --no-enable-prefix-caching
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --async-scheduling
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true, "ascend_compilation_config":{"enable_npugraph_ex": true, "enable_static_kernel": false}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "56900",
"engine_id": "2",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 16,
"tp_size": 2
}
}}'
benchmarks:
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K_in3500_bs4000_minimax
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 3440
max_out_len: 1500
batch_size: 860
request_rate: 0
baseline: 15006.5581
threshold: 0.97

View File

@@ -0,0 +1,173 @@
test_name: "Minimax_m2.7_in3_5_tpot50"
model: "vllm-ascend/MiniMax-M2.7-w8a8-QuaRot"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_NUM_THREADS: "1"
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
PYTHONHASHSEED: "0"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "1024"
env_decode: &env_decode
<<: *env_common
HCCL_BUFFSIZE: "2048"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "0"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "48"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --enforce-eager
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "55880",
"engine_id": "0",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 2,
"tp_size": 8
}} }'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "48"
- --trust-remote-code
- --gpu-memory-utilization
- "0.8"
- --quantization
- "ascend"
- --speculative-config
- '{"method": "eagle3","model":"Eco-Tech/MiniMax-M2.7-eagle-model-short","num_speculative_tokens":3}'
- --async-scheduling
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
- --additional-config
- '{"recompute_scheduler_enable":true,"enable_cpu_binding": true, "ascend_compilation_config":{"enable_npugraph_ex": true, "enable_static_kernel": false}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "56900",
"engine_id": "1",
"kv_connector_extra_config": {
"use_ascend_direct": true,
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 2,
"tp_size": 8
}
}}'
benchmarks:
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in65536_bs1000_Minimax
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 72
max_out_len: 1024
batch_size: 18
request_rate: 0
baseline: 284.9
threshold: 0.97

View File

@@ -0,0 +1,210 @@
test_name: "QWEN3_235B_PD"
model: "vllm-ascend/Qwen3-235B-A22B-W8A8"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1, 2 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 1
dp_size_local: 1
dp_rank_start: 0
tp_size: 16
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
HCCL_ENTRY_LOG_ENABLE: 1
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
ASCEND_A3_ENABLE: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_TRANSPORT_PRINT: "0"
ASCEND_AGGREGATE_ENABLE: "1"
env_prefill: &env_prefill
<<: *env_common
ASCEND_RT_VISIBLE_DEVICES: "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
HCCL_BUFFSIZE: "256"
env_decode: &env_decode
<<: *env_common
DISABLE_L2_CACHE: "1"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_TORCH_PROFILER_WITH_STACK: 0
EXPERT_MAP_RECORD: "true"
DYNAMIC_EPLB: "true"
HCCL_BUFFSIZE: "1024"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- "7100"
- --data-parallel-size
- "1"
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --data-parallel-address
- "12321"
- --tensor-parallel-size
- "16"
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "36864"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "8"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --additional-config
- '{"ascend_scheduler_config":{"enabled":true,"enable_chunked_prefill":true}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 1, "tp_size": 16}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "36864"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "28"
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --async-scheduling
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY","cudagraph_capture_sizes":[6,12,18]}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"dynamic_eplb":true,"num_iterations_eplb_update":4000,"num_wait_worker_iterations":200,"init_redundancy_expert":0,"gate_eplb":false}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "1", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 1, "tp_size": 16}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "36864"
- --max-num-batched-tokens
- "256"
- --max-num-seqs
- "28"
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --async-scheduling
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY","cudagraph_capture_sizes":[6,12,18]}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"dynamic_eplb":true,"num_iterations_eplb_update":4000,"num_wait_worker_iterations":200,"init_redundancy_expert":0,"gate_eplb":false}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "1", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 1, "tp_size": 16}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/gsm8k
request_conf: vllm_api_general_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_chat_prompt
max_out_len: 32768
batch_size: 64
baseline: 96.74
threshold: 1
temperature: 0.6
top_p: 0.95
ignore_eos: false
thinking: true

View File

@@ -0,0 +1,206 @@
test_name: "QWEN3_235B_PD_3_5K_1_5k"
model: "vllm-ascend/Qwen3-235B-A22B-W8A8"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [ 0 ]
decoder: [ 1, 2 ]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_RPC_TIMEOUT: "3600000"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "204"
HCCL_CONNECT_TIMEOUT: "400"
HCCL_ENTRY_LOG_ENABLE: 1
LD_PRELOAD: "/usr/lib/aarch64-linux-gnu/libjemalloc.so.2:$LD_PRELOAD"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "10"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_MLAPO: "1"
TASK_QUEUE_ENABLE: "1"
HCCL_OP_EXPANSION_MODE: "AIV"
VLLM_USE_V1: "1"
LD_LIBRARY_PATH: "/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/mooncake:$LD_LIBRARY_PATH"
ASCEND_A3_ENABLE: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_TRANSPORT_PRINT: "0"
ASCEND_AGGREGATE_ENABLE: "1"
env_prefill: &env_prefill
<<: *env_common
HCCL_BUFFSIZE: "256"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
env_decode: &env_decode
<<: *env_common
VLLM_TORCH_PROFILER_WITH_STACK: 0
EXPERT_MAP_RECORD: "true"
DYNAMIC_EPLB: "true"
HCCL_BUFFSIZE: "1024"
templates:
- node_index: 0
envs:
<<: *env_prefill
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "6000"
- --max-num-batched-tokens
- "16384"
- --max-num-seqs
- "16"
- --enforce-eager
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --additional-config
- '{"ascend_scheduler_config": {"enabled": true,"enable_chunked_prefill":true}}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_producer", "kv_port": "30000", "engine_id": "0", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 1
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "6000"
- --max-num-batched-tokens
- "4096"
- --max-num-seqs
- "15"
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY","cudagraph_capture_sizes":[5,10,15]}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"dynamic_eplb":true,"num_iterations_eplb_update":4000,"num_wait_worker_iterations":200,"init_redundancy_expert":0,"gate_eplb":false}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
- node_index: 2
envs:
<<: *env_decode
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "6000"
- --max-num-batched-tokens
- "4096"
- --max-num-seqs
- "15"
- --trust-remote-code
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --no-enable-prefix-caching
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY","cudagraph_capture_sizes":[5,10,15]}'
- --additional-config
- '{"finegrained_tp_config": {"lmhead_tensor_parallel_size":8},"dynamic_eplb":true,"num_iterations_eplb_update":4000,"num_wait_worker_iterations":200,"init_redundancy_expert":0,"gate_eplb":false}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1", "kv_role": "kv_consumer", "kv_port": "30200", "engine_id": "2", "kv_connector_extra_config": {"use_ascend_direct": true,"prefill": {"dp_size": 2, "tp_size": 8}, "decode": {"dp_size": 32, "tp_size": 1}}}'
benchmarks:
perf_1:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs8000-qwen3
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 760
max_out_len: 1500
batch_size: 190
request_rate: 0
baseline: 3583.8747
threshold: 0.97

View File

@@ -0,0 +1,254 @@
test_name: "Qwen3.5-397B-w8a8-PD"
model: "Eco-Tech/Qwen3.5-397B-A17B-w8a8-mtp"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0]
decoder: [1, 2]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 12321
dp_size: 2
dp_size_local: 2
dp_rank_start: 0
tp_size: 8
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 0
tp_size: 1
dp_address: "${NODE_1_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 12321
dp_size: 32
dp_size_local: 16
dp_rank_start: 16
tp_size: 1
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
VLLM_ENGINE_READY_TIMEOUT_S: "7200"
VLLM_RPC_TIMEOUT: "3600"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
HCCL_EXEC_TIMEOUT: "2000"
HCCL_CONNECT_TIMEOUT: "1200"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
TASK_QUEUE_ENABLE: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
HCCL_BUFFSIZE: "1536"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_TORCH_PROFILER_WITH_STACK: "0"
VLLM_USE_V1: "1"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --api-server-count
- "1"
- --distributed-executor-backend
- "mp"
- --no-enable-prefix-caching
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "67000"
- --max-num-batched-tokens
- "16384"
- --trust-remote-code
- --max-num-seqs
- "16"
- --gpu-memory-utilization
- "0.9"
- --quantization
- "ascend"
- --enforce-eager
- --no-disable-hybrid-kv-cache-manager
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30000",
"engine_id": "0",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 1
envs:
<<: *env_common
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --distributed-executor-backend
- "mp"
- --no-enable-prefix-caching
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "34816"
- --max-num-batched-tokens
- "128"
- --trust-remote-code
- --max-num-seqs
- "16"
- --gpu-memory-utilization
- "0.95"
- --quantization
- "ascend"
- --no-disable-hybrid-kv-cache-manager
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY","cudagraph_capture_sizes":[4,8,16,24,32,40,48,56,64]}'
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable": true, "enable_cpu_binding": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"engine_id": "1",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
- node_index: 2
envs:
<<: *env_common
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --distributed-executor-backend
- "mp"
- --no-enable-prefix-caching
- --enable-expert-parallel
- --seed
- "1024"
- --max-model-len
- "34816"
- --max-num-batched-tokens
- "128"
- --trust-remote-code
- --max-num-seqs
- "16"
- --gpu-memory-utilization
- "0.95"
- --quantization
- "ascend"
- --no-disable-hybrid-kv-cache-manager
- --compilation-config
- '{"cudagraph_mode": "FULL_DECODE_ONLY","cudagraph_capture_sizes":[4,8,16,24,32,40,48,56,64]}'
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable": true, "enable_cpu_binding": true}'
- --kv-transfer-config
- '{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"engine_id": "2",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 32,
"tp_size": 1
}
}
}'
benchmarks:
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 32768
batch_size: 32
baseline: 90
threshold: 10
temperature: 0.6
top_p: 0.95
top_k: 20
min_p: 0.0
presence_penalty: 0.0
repetition_penalty: 1.0

View File

@@ -0,0 +1,271 @@
test_name: "Qwen3.5-397B-w4a8_128k-1k-90-50"
model: "Eco-Tech/Qwen3.5-397B-A17B-w4a8-mtp"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
TASK_QUEUE_ENABLE: "1"
HCCL_BUFFSIZE: "1024"
VLLM_USE_V1: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "0"
templates:
- node_index: 0
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "24"
- --max-model-len
- "140000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.9"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --enforce-eager
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3, "enforce_eager": true}'
- --additional-config
- '{"enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_producer",
"kv_port": "55010",
"engine_id": "0",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "24"
- --max-model-len
- "140000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.9"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --enforce-eager
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3, "enforce_eager": true}'
- --additional-config
- '{"enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_producer",
"kv_port": "55010",
"engine_id": "1",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
- node_index: 2
envs:
<<: *env_common
VLLM_ASCEND_SKIP_LOW_BLOCKS: "0"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "24"
- --max-model-len
- "140000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.9"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --compilation-config
- '{"cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96], "cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable": true, "enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_consumer",
"kv_port": "55011",
"engine_id": "2",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
benchmarks:
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 32768
batch_size: 32
baseline: 90
threshold: 10
temperature: 0.6
top_p: 0.95
top_k: 20
min_p: 0.0
presence_penalty: 0.0
repetition_penalty: 1.0
perf:
case_type: performance
dataset_path_local: vllm-ascend/GSM8K_prefix90_in131072_bs100_qwen
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1024
batch_size: 64
request_rate: 0
baseline: 657.0699
threshold: 0.97

View File

@@ -0,0 +1,195 @@
test_name: "Qwen3.5-397B-w4a8_3.5k-1.5k-0-50"
model: "Eco-Tech/Qwen3.5-397B-A17B-w4a8-mtp"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0]
decoder: [1]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
TASK_QUEUE_ENABLE: "1"
HCCL_BUFFSIZE: "1024"
VLLM_USE_V1: "1"
templates:
- node_index: 0
envs:
<<: *env_common
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "24"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.8"
- --seed
- "1024"
- --no-enable-prefix-caching
- --async-scheduling
- --enforce-eager
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 1, "enforce_eager": true}'
- --additional-config
- '{"enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_producer",
"kv_port": "55010",
"engine_id": "0",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 2
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
- node_index: 1
envs:
<<: *env_common
VLLM_ASCEND_SKIP_LOW_BLOCKS: "0"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "24"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.9"
- --seed
- "1024"
- --no-enable-prefix-caching
- --async-scheduling
- --compilation-config
- '{"cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96], "cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable": true, "enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_consumer",
"kv_port": "55010",
"engine_id": "1",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 2
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
benchmarks:
perf_50:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 512
max_out_len: 1500
batch_size: 128
request_rate: 5
baseline: 4372.606
threshold: 0.97
perf_20:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 512
max_out_len: 1500
batch_size: 128
request_rate: 5
baseline: 1
threshold: 0.97

View File

@@ -0,0 +1,256 @@
test_name: "Qwen3.5-397B-w4a8_64k-1k-90-50"
model: "Eco-Tech/Qwen3.5-397B-A17B-w4a8-mtp"
num_nodes: 3
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0, 1]
decoder: [2]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 0
tp_size: 4
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 4
dp_rank_start: 4
tp_size: 4
dp_address: "${NODE_0_IP}"
- node_index: 2
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_2_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
TASK_QUEUE_ENABLE: "1"
HCCL_BUFFSIZE: "1024"
VLLM_USE_V1: "1"
templates:
- node_index: 0
envs:
<<: *env_common
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "32"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.8"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --enforce-eager
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3, "enforce_eager": true}'
- --additional-config
- '{"enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_producer",
"kv_port": "55010",
"engine_id": "0",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
- node_index: 1
envs:
<<: *env_common
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "32"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.8"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --enforce-eager
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3, "enforce_eager": true}'
- --additional-config
- '{"enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_producer",
"kv_port": "55010",
"engine_id": "1",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
- node_index: 2
envs:
<<: *env_common
VLLM_ASCEND_SKIP_LOW_BLOCKS: "0"
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "32"
- --max-model-len
- "70000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.9"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --compilation-config
- '{"cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128], "cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable": true, "enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_consumer",
"kv_port": "55011",
"engine_id": "2",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 4
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix90_in65536_bs1000_qwen
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1000
max_out_len: 1024
batch_size: 250
request_rate: 1
baseline: 1041.18
threshold: 0.97

View File

@@ -0,0 +1,188 @@
#长序列只验功能,不做性能要求
test_name: "Qwen3.5-397B-w4a8_986k-function"
model: "Eco-Tech/Qwen3.5-397B-A17B-w4a8-mtp"
num_nodes: 2
npu_per_node: 16
routing:
type: "disaggregated_prefill"
groups:
prefiller: [0]
decoder: [1]
config:
- node_index: 0
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_0_IP}"
- node_index: 1
port_start: 7100
dp_rpc_port: 13321
dp_size: 8
dp_size_local: 8
dp_rank_start: 0
tp_size: 2
dp_address: "${NODE_1_IP}"
env_common: &env_common
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: "${PORT}"
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
OMP_PROC_BIND: "false"
OMP_NUM_THREADS: "1"
TASK_QUEUE_ENABLE: "1"
HCCL_BUFFSIZE: "1024"
VLLM_USE_V1: "1"
templates:
- node_index: 0
envs:
<<: *env_common
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "24"
- --max-model-len
- "1010000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.9"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --enforce-eager
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 1, "enforce_eager": true}'
- --additional-config
- '{"enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --hf-overrides
- '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}'
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_producer",
"kv_port": "55010",
"engine_id": "0",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 2
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
- node_index: 1
envs:
<<: *env_common
server_cmd_template:
- --host
- "0.0.0.0"
- --port
- $SERVER_PORT
- --data-parallel-size
- ${DP_SIZE}
- --data-parallel-rank
- ${DP_RANK}
- --data-parallel-address
- ${DP_ADDRESS}
- --data-parallel-rpc-port
- ${DP_RPC_PORT}
- --tensor-parallel-size
- ${TP_SIZE}
- --max-num-seqs
- "24"
- --max-model-len
- "1010000"
- --max-num-batched-tokens
- "8192"
- --gpu-memory-utilization
- "0.9"
- --seed
- "1024"
- --enable-prefix-caching
- --async-scheduling
- --compilation-config
- '{"cudagraph_capture_sizes":[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96], "cudagraph_mode":"FULL_DECODE_ONLY"}'
- --speculative-config
- '{"method": "qwen3_5_mtp", "num_speculative_tokens": 3}'
- --additional-config
- '{"recompute_scheduler_enable": true, "enable_cpu_binding": true}'
- --profiler-config
- '{"profiler": "torch", "torch_profiler_dir": "./profiling", "torch_profiler_with_stack": false}'
- --mm-processor-cache-gb
- "0"
- --mm-encoder-tp-mode
- "data"
- --distributed-executor-backend
- "mp"
- --no-disable-hybrid-kv-cache-manager
- --hf-overrides
- '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}'
- --kv-transfer-config
- '{
"kv_connector": "MooncakeConnectorV1",
"kv_buffer_device": "npu",
"kv_role": "kv_consumer",
"kv_port": "55011",
"engine_id": "1",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 8,
"tp_size": 2
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 4
max_out_len: 1500
batch_size: 2
request_rate: 0
baseline: 1
threshold: 0.97

View File

@@ -0,0 +1,112 @@
# For disaggregated mode, set is_disaggregated: true, and set the following parameters:
# Prefiller_index: the hosts index of the node running prefiller
# Decoder_index: the hosts index of the node running decoder
# Suppose we have **4 nodes** running a 2P1D setup (2 Prefillers + 1 Decoder):
# ┌───────────────┬───────────────┬───────────────┬───────────────┐
# │ node0 │ node1 │ node2 │ node3 │
# │ Prefiller #1 │ Prefiller #2 │ Decoder │ Decoder │
# └───────────────┴───────────────┴───────────────┴───────────────┘
# For the prefiller nodes. the hosts should be node0 and node1
# For the decoder nodes. we only have 1 decoder node(dp+tp+ep across node2 and node3. Where node3 is running with headless mode)
# So the prefiller_host_index is [0, 1], and the decoder_host_index is [2]
test_name: "test DeepSeek-V3 disaggregated_prefill"
model: "vllm-ascend/DeepSeek-V3-W8A8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
VLLM_USE_MODELSCOPE: true
OMP_PROC_BIND: false
OMP_NUM_THREADS: 1
TASK_QUEUE_ENABLE: 1
HCCL_BUFFSIZE: 1024
SERVER_PORT: 8080
NUMEXPR_MAX_THREADS: 128
DISAGGREGATED_PREFILL_PROXY_SCRIPT: "examples/disaggregated_prefill_v1/load_balance_proxy_server_example.py"
# For None kubernetes deployment, list the IPs of all nodes used in order as follow
# cluster_hosts: [10.0.0.103, 10.0.0.139]
disaggregated_prefill:
enabled: true
prefiller_host_index: [0]
decoder_host_index: [1]
deployment:
-
envs:
<<: *env_common
server_cmd: >
vllm serve "vllm-ascend/DeepSeek-V3-W8A8"
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 2
--data-parallel-size-local 2
--tensor-parallel-size 8
--seed 1024
--enforce-eager
--enable-expert-parallel
--max-num-seqs 16
--max-model-len 8192
--max-num-batched-tokens 8192
--quantization ascend
--trust-remote-code
--no-enable-prefix-caching
--gpu-memory-utilization 0.9
--kv-transfer-config
'{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30000",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 2,
"tp_size": 8
}
}
}'
-
envs:
<<: *env_common
server_cmd: >
vllm serve "vllm-ascend/DeepSeek-V3-W8A8"
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 2
--data-parallel-size-local 2
--tensor-parallel-size 8
--seed 1024
--quantization ascend
--max-num-seqs 16
--max-model-len 8192
--max-num-batched-tokens 8192
--enable-expert-parallel
--trust-remote-code
--no-enable-prefix-caching
--gpu-memory-utilization 0.9
--kv-transfer-config
'{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 2,
"tp_size": 8
}
}
}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/gsm8k-lite
request_conf: vllm_api_general_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_chat_prompt
max_out_len: 4096
batch_size: 512
baseline: 95
threshold: 10

View File

@@ -0,0 +1,198 @@
test_name: "weekly test DeepSeek-V3.2-W8A8-EP disaggregated_prefill"
model: "vllm-ascend/DeepSeek-V3.2-W8A8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
OMP_PROC_BIND: false
OMP_NUM_THREADS: 10
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_USE_V1: "1"
HCCL_BUFFSIZE: "360"
ASCEND_AGGREGATE_ENABLE: "1"
ASCEND_TRANSPORT_PRINT: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
VLLM_USE_MODELSCOPE: "true"
SERVER_PORT: 8080
disaggregated_prefill:
enabled: true
prefiller_host_index: [0]
decoder_host_index: [1]
deployment:
-
envs:
<<: *env_common
VLLM_ASCEND_ENABLE_FLASHCOMM1: 1
server_cmd: >
vllm serve vllm-ascend/DeepSeek-V3.2-W8A8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 1
--data-parallel-start-rank 0
--data-parallel-size-local 1
--data-parallel-address $LOCAL_IP
--tensor-parallel-size 16
--enable-expert-parallel
--seed 1024
--max-model-len 133000
--max-num-batched-tokens 8192
--trust-remote-code
--max-num-seqs 16
--gpu-memory-utilization 0.95
--quantization ascend
--enforce-eager
--no-enable-prefix-caching
--tokenizer-mode deepseek_v32
--reasoning-parser deepseek_v3
--speculative-config '{"num_speculative_tokens": 2, "method":"deepseek_mtp"}'
--kv-transfer-config
'{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_producer",
"kv_port": "30000",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 1,
"tp_size": 16
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
-
envs:
<<: *env_common
OMP_PROC_BIND: false
OMP_NUM_THREADS: 10
HCCL_OP_EXPANSION_MODE: "AIV"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_USE_V1: "1"
HCCL_BUFFSIZE: "1100"
ASCEND_AGGREGATE_ENABLE: "1"
ASCEND_TRANSPORT_PRINT: "1"
ACL_OP_INIT_MODE: "1"
ASCEND_A3_ENABLE: "1"
VLLM_NIXL_ABORT_REQUEST_TIMEOUT: "300000"
TASK_QUEUE_ENABLE: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
DYNAMIC_EPLB: "true"
server_cmd: >
vllm serve vllm-ascend/DeepSeek-V3.2-W8A8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 8
--data-parallel-start-rank 0
--data-parallel-address $LOCAL_IP
--data-parallel-rpc-port 13389
--tensor-parallel-size 2
--enable-expert-parallel
--seed 1024
--max-model-len 133000
--max-num-batched-tokens 100
--speculative-config '{"num_speculative_tokens": 2, "method":"deepseek_mtp"}'
--compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY", "cudagraph_capture_sizes":[3,6,9,12,15,18,21,24,27,30,33,36,39,42]}'
--additional-config '{"recompute_scheduler_enable": true,"eplb_config": {"dynamic_eplb":true,"expert_heat_collection_interval":2000,"algorithm_execution_interval":50, "eplb_policy_type":3, "num_redundant_experts":0}}'
--trust-remote-code
--max-num-seqs 14
--gpu-memory-utilization 0.92
--no-enable-prefix-caching
--quantization ascend
--tokenizer-mode deepseek_v32
--reasoning-parser deepseek_v3
--kv-transfer-config
'{"kv_connector": "MooncakeConnectorV1",
"kv_role": "kv_consumer",
"kv_port": "30200",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 1,
"tp_size": 16
},
"decode": {
"dp_size": 8,
"tp_size": 2
}
}
}'
benchmarks:
perf_16384_1024_num64:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in16384_bs1200_deepseek
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 64
max_out_len: 1024
batch_size: 16
request_rate: 1
baseline: 1
threshold: 0.97
perf_16384_1024_num256:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in16384_bs1200_deepseek
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1024
batch_size: 64
request_rate: 1
baseline: 1
threshold: 0.97
perf_32768_512_num32:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in32768_bs1000_deepseek
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 32
max_out_len: 512
batch_size: 8
request_rate: 1
baseline: 1
threshold: 0.97
perf_32768_512_num128:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in32768_bs1000_deepseek
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 128
max_out_len: 512
batch_size: 32
request_rate: 0.7
baseline: 1
threshold: 0.97
perf_65536_1024_num4:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in65536_bs400_deepseek
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 4
max_out_len: 1024
batch_size: 1
request_rate: 0.1
baseline: 1
threshold: 0.97
perf_65536_1024_num16:
case_type: performance
dataset_path: vllm-ascend/GSM8K_prefix0_in65536_bs400_deepseek
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 16
max_out_len: 1024
batch_size: 4
request_rate: 1
baseline: 1
threshold: 0.97

View File

@@ -0,0 +1,102 @@
test_name: "test GLM-4.7-W8A8C8 PD separation with mooncake layerwise connector"
model: "vllm-ascend/GLM-4.7-W8A8C8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
VLLM_USE_MODELSCOPE: true
OMP_PROC_BIND: false
HCCL_BUFFSIZE: 512
HCCL_OP_EXPANSION_MODE: "AIV"
SERVER_PORT: 8080
DISAGGREGATED_PREFILL_PROXY_SCRIPT: "examples/disaggregated_prefill_v1/load_balance_proxy_layerwise_server_example.py"
disaggregated_prefill:
enabled: true
prefiller_host_index: [0]
decoder_host_index: [1]
deployment:
-
envs:
<<: *env_common
server_cmd: >
vllm serve "vllm-ascend/GLM-4.7-W8A8C8"
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 2
--data-parallel-size-local 2
--data-parallel-address $LOCAL_IP
--data-parallel-rpc-port 13389
--tensor-parallel-size 8
--seed 1024
--enforce-eager
--enable-expert-parallel
--max-num-seqs 32
--max-model-len 8192
--max-num-batched-tokens 8192
--trust-remote-code
--no-enable-prefix-caching
--gpu-memory-utilization 0.9
--additional-config '{"enable_shared_expert_dp": true}'
--kv-transfer-config
'{"kv_connector": "MooncakeLayerwiseConnector",
"kv_role": "kv_producer",
"kv_port": "30000",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 2,
"tp_size": 8
}
}
}'
-
envs:
<<: *env_common
server_cmd: >
vllm serve "vllm-ascend/GLM-4.7-W8A8C8"
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 2
--data-parallel-size-local 2
--data-parallel-address $MASTER_IP
--data-parallel-rpc-port 13389
--tensor-parallel-size 8
--seed 1024
--max-num-seqs 16
--max-model-len 8192
--max-num-batched-tokens 8192
--enable-expert-parallel
--trust-remote-code
--no-enable-prefix-caching
--gpu-memory-utilization 0.9
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--kv-transfer-config
'{"kv_connector": "MooncakeLayerwiseConnector",
"kv_role": "kv_consumer",
"kv_port": "30200",
"kv_connector_extra_config": {
"prefill": {
"dp_size": 2,
"tp_size": 8
},
"decode": {
"dp_size": 2,
"tp_size": 8
}
}
}'
benchmarks:
acc:
case_type: accuracy
dataset_path: vllm-ascend/gsm8k-lite
request_conf: vllm_api_general_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_chat_prompt
max_out_len: 4096
batch_size: 8
baseline: 95
threshold: 10

View File

@@ -0,0 +1,104 @@
#198k长序列只验证功能
test_name: "multi-node-GLM-5.1-W8A8C8-MTP-A3_198k_function"
model: "Eco-Tech/GLM-5.1-w8a8c8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
VLLM_USE_MODELSCOPE: "true"
OMP_NUM_THREADS: "1"
HCCL_BUFFSIZE: "400"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ENGINE_READY_TIMEOUT_S: "3000"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
SERVER_PORT: 8077
deployment:
- envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.1-w8a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 0
--data-parallel-address $LOCAL_IP
--enable-expert-parallel
--data-parallel-rpc-port 12980
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 202752
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.92
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
-
envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.1-w8a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 4
--headless
--data-parallel-address $MASTER_IP
--enable-expert-parallel
--data-parallel-rpc-port 12980
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 202752
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.9
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 8
max_out_len: 1500
batch_size: 2
request_rate: 0
baseline: 1
threshold: 0.97
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 129024
batch_size: 32
baseline: 93.33
threshold: 10
temperature: 1.0
top_p: 0.95

View File

@@ -0,0 +1,105 @@
test_name: "multi-node-GLM-5.1-W8A8C8-MTP-A3_3.5k_1.5k_0_50"
model: "Eco-Tech/GLM-5.1-w8a8c8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
VLLM_USE_MODELSCOPE: "true"
OMP_NUM_THREADS: "1"
HCCL_BUFFSIZE: "400"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ENGINE_READY_TIMEOUT_S: "3000"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
SERVER_PORT: 8077
# TODO: need to identify why TP and mtp+1 divisibility rules break on dual-node case
deployment:
- envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.1-w8a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 0
--data-parallel-address $LOCAL_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 32
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.92
--quantization ascend
--enable-chunked-prefill
--no-enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
-
envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.1-w8a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 4
--headless
--data-parallel-address $MASTER_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 32
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.95
--quantization ascend
--enable-chunked-prefill
--no-enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
benchmarks:
perf_TPOT50:
case_type: performance
dataset_path: vllm-ascend/GSM8K_in3500_bs400
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1500
batch_size: 64
request_rate: 0
baseline: 1267.2573
threshold: 0.97
perf_TPOT20:
case_type: performance
dataset_path: vllm-ascend/GSM8K_in3500_bs400
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 32
max_out_len: 1500
batch_size: 8
request_rate: 0
baseline: 345.13
threshold: 0.97

View File

@@ -0,0 +1,115 @@
test_name: "multi-node-GLM-5.1-W8A8C8-MTP-A3_64k/128k"
model: "Eco-Tech/GLM-5.1-w8a8c8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
VLLM_USE_MODELSCOPE: "true"
OMP_NUM_THREADS: "1"
HCCL_BUFFSIZE: "400"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ENGINE_READY_TIMEOUT_S: "3000"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
SERVER_PORT: 8077
# TODO: need to identify why TP and mtp+1 divisibility rules break on dual-node case
deployment:
- envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.1-w8a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 0
--data-parallel-address $LOCAL_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.92
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
- envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.1-w8a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 4
--headless
--data-parallel-address $MASTER_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.9
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
benchmarks:
perf_64k:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in65536-bs1500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 128
max_out_len: 1024
batch_size: 32
request_rate: 0
baseline: 539.11
threshold: 0.97
perf_128k_warmup:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in131072-bs500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 1
max_out_len: 1
batch_size: 1
request_rate: 0
baseline: 0
threshold: 0.97
perf_128k:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in131072-bs500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1024
batch_size: 64
request_rate: 0
baseline: 290.8308
threshold: 0.97

View File

@@ -0,0 +1,104 @@
#198k长序列只验证功能
test_name: "multi-node-GLM-5.2-W4A8C8-MTP-A3_198k_function"
model: "Eco-Tech/GLM-5.2-w4a8c8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
VLLM_USE_MODELSCOPE: "true"
OMP_NUM_THREADS: "1"
HCCL_BUFFSIZE: "400"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ENGINE_READY_TIMEOUT_S: "3000"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
SERVER_PORT: 8077
deployment:
- envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.2-w4a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 0
--data-parallel-address $LOCAL_IP
--enable-expert-parallel
--data-parallel-rpc-port 12980
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 202752
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.92
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
-
envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.2-w4a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 4
--headless
--data-parallel-address $MASTER_IP
--enable-expert-parallel
--data-parallel-rpc-port 12980
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 202752
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.9
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": true, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
benchmarks:
perf:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in3500-bs2800
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 8
max_out_len: 1500
batch_size: 2
request_rate: 0
baseline: 1
threshold: 0.97
acc_aime2025:
case_type: accuracy
dataset_path: vllm-ascend/aime2025
request_conf: vllm_api_general_chat
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
max_out_len: 129024
batch_size: 32
baseline: 93.33
threshold: 10
temperature: 1.0
top_p: 0.95

View File

@@ -0,0 +1,105 @@
test_name: "multi-node-GLM-5.2-W4A8C8-MTP-A3_3.5k_1.5k_0_50"
model: "Eco-Tech/GLM-5.2-w4a8c8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
VLLM_USE_MODELSCOPE: "true"
OMP_NUM_THREADS: "1"
HCCL_BUFFSIZE: "400"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ENGINE_READY_TIMEOUT_S: "3000"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
SERVER_PORT: 8077
# TODO: need to identify why TP and mtp+1 divisibility rules break on dual-node case
deployment:
- envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.2-w4a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 0
--data-parallel-address $LOCAL_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 32
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.92
--quantization ascend
--enable-chunked-prefill
--no-enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
-
envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.2-w4a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 4
--headless
--data-parallel-address $MASTER_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 32
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.95
--quantization ascend
--enable-chunked-prefill
--no-enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
benchmarks:
perf_TPOT50:
case_type: performance
dataset_path: vllm-ascend/GSM8K_in3500_bs400
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1500
batch_size: 64
request_rate: 0
baseline: 1267.2573
threshold: 0.97
perf_TPOT20:
case_type: performance
dataset_path: vllm-ascend/GSM8K_in3500_bs400
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 32
max_out_len: 1500
batch_size: 8
request_rate: 0
baseline: 345.13
threshold: 0.97

View File

@@ -0,0 +1,105 @@
test_name: "multi-node-GLM-5.2-W4A8C8-MTP-A3_64k/128k"
model: "Eco-Tech/GLM-5.2-w4a8c8"
num_nodes: 2
npu_per_node: 16
env_common: &env_common
HCCL_OP_EXPANSION_MODE: "AIV"
OMP_PROC_BIND: "false"
VLLM_USE_MODELSCOPE: "true"
OMP_NUM_THREADS: "1"
HCCL_BUFFSIZE: "400"
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
VLLM_ASCEND_ENABLE_MLAPO: "1"
VLLM_ENGINE_READY_TIMEOUT_S: "3000"
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
SERVER_PORT: 8077
# TODO: need to identify why TP and mtp+1 divisibility rules break on dual-node case
deployment:
- envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.2-w4a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 0
--data-parallel-address $LOCAL_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.92
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
-
envs:
<<: *env_common
server_cmd: >
vllm serve Eco-Tech/GLM-5.2-w4a8c8
--host 0.0.0.0
--port $SERVER_PORT
--data-parallel-size 8
--data-parallel-size-local 4
--data-parallel-start-rank 4
--headless
--data-parallel-address $MASTER_IP
--enable-expert-parallel
--data-parallel-rpc-port 12981
--tensor-parallel-size 4
--hf-overrides '{"use_index_cache": true, "index_topk_freq": 4}'
--seed 1024
--tool-call-parser glm47
--reasoning-parser glm45
--enable-auto-tool-choice
--max-num-seqs 6
--max-model-len 133120
--max-num-batched-tokens 4096
--trust-remote-code
--gpu-memory-utilization 0.9
--quantization ascend
--enable-chunked-prefill
--enable-prefix-caching
--async-scheduling
--compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
--additional-config '{"enable_dsa_cp": true, "enable_sparse_sfa_c8": false, "enable_sparse_li_c8": true, "enable_balance_scheduling": true, "fuse_muls_add": true, "multistream_overlap_shared_expert": true}'
--speculative-config '{"num_speculative_tokens": 3, "method": "deepseek_mtp","enforce_eager":true}'
benchmarks:
perf_64k:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in65536-bs1500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 128
max_out_len: 1024
batch_size: 32
request_rate: 0
baseline: 539.11
threshold: 0.97
perf_128k:
case_type: performance
dataset_path: vllm-ascend/GSM8K-in131072-bs500-prefix90-glm51
request_conf: vllm_api_stream_chat
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
num_prompts: 256
max_out_len: 1024
batch_size: 64
request_rate: 0
baseline: 796.35
threshold: 0.97