### What this PR does / why we need it?
This PR adds the 2P1D multi node func/acc/perf test cases, we need test
them daily
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
by running the test
- vLLM version: v0.11.0rc3
- vLLM main:
c9461e05a4
---------
Signed-off-by: jiangyunfan1 <jiangyunfan1@h-partners.com>
Signed-off-by: wangli <wangli858794774@gmail.com>
Co-authored-by: wangli <wangli858794774@gmail.com>
100 lines
3.6 KiB
YAML
100 lines
3.6 KiB
YAML
# 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:
|
|
VLLM_USE_MODELSCOPE: true
|
|
OMP_PROC_BIND: false
|
|
OMP_NUM_THREADS: 100
|
|
HCCL_BUFFSIZE: 1024
|
|
SERVER_PORT: 8080
|
|
disaggregated_prefill:
|
|
enabled: true
|
|
prefiller_host_index: [0]
|
|
decoder_host_index: [1]
|
|
|
|
deployment:
|
|
-
|
|
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": "MooncakeConnector",
|
|
"kv_role": "kv_producer",
|
|
"kv_port": "30000",
|
|
"engine_id": "0",
|
|
"kv_connector_module_path": "vllm_ascend.distributed.mooncake_connector",
|
|
"kv_connector_extra_config": {
|
|
"prefill": {
|
|
"dp_size": 2,
|
|
"tp_size": 8
|
|
},
|
|
"decode": {
|
|
"dp_size": 2,
|
|
"tp_size": 8
|
|
}
|
|
}
|
|
}'
|
|
|
|
-
|
|
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
|
|
--additional-config '{"torchair_graph_config":{"enabled":true}}'
|
|
--kv-transfer-config
|
|
'{"kv_connector": "MooncakeConnector",
|
|
"kv_role": "kv_consumer",
|
|
"kv_port": "30200",
|
|
"engine_id": "1",
|
|
"kv_connector_module_path": "vllm_ascend.distributed.mooncake_connector",
|
|
"kv_connector_extra_config": {
|
|
"prefill": {
|
|
"dp_size": 2,
|
|
"tp_size": 8
|
|
},
|
|
"decode": {
|
|
"dp_size": 2,
|
|
"tp_size": 8
|
|
}
|
|
}
|
|
}'
|
|
benchmarks:
|