Files
xc-llm-ascend/.github/workflows/scripts/config.yaml
Shanshan Shen 5c0d02f689 [Bugfix] Fix multi-instance serving OOM on single card (#7427)
### What this PR does / why we need it?
Fix https://github.com/vllm-project/vllm-ascend/issues/7308.

Subtracting `init_non_torch_memory` (maybe used by the first instance)
from the total `non_torch_memory` when calculating
`available_kv_cache_memory`.

Directly use `non_torch_memory_increase` (contained in
`non_kv_cache_memory`) to calculate `available_kv_cache_memory`.

### Does this PR introduce _any_ user-facing change?
No.

### How was this patch tested?
Launch tow vllm-ascend instances sequentially on single card.

```bash
# Launch first instance
vllm serve /root/.cache/modelscope/hub/models/Qwen/Qwen3-0.6B \
--port 8100 \
--host 0.0.0.0 \
--additional-config='{"enable_cpu_binding":true}'  \
--gpu-memory-utilization 0.3 \
--max-num-seqs 1 \
--max-model-len 2048 \
--max-num-batched-tokens 2048 \
--no-enable-prefix-caching \
--enforce-eager

# Launch second instance
vllm serve /root/.cache/modelscope/hub/models/Qwen/Qwen3-0.6B \
--port 8101 \
--host 0.0.0.0 \
--additional-config='{"enable_cpu_binding":true}'  \
--gpu-memory-utilization 0.3 \
--max-num-seqs 1 \
--max-model-len 2048 \
--max-num-batched-tokens 2048 \
--no-enable-prefix-caching \
--enforce-eager
```

**Before this PR:**

```bash
# First instance:
------------------------------------------------------------------
requested_memory: 18.287109375 GiB
non_kv_cache_memory: 1.2340388298034668 GiB
init_non_torch_memory: 0.3616676330566406 GiB
non_torch_memory_before_empty_cache: 0.3896217346191406 GiB
non_torch_memory_increase: 0.0279541015625 GiB
non_torch_memory_cleared_by_empty_cache: 0.3616676330566406 GiB
------------------------------------------------------------------

# Second instance:
------------------------------------------------------------------
requested_memory: 18.287109375 GiB
non_kv_cache_memory: 1.2336344718933105 GiB
init_non_torch_memory: 18.37220001220703 GiB
non_torch_memory_before_empty_cache: 18.399906158447266 GiB
non_torch_memory_increase: 0.02754974365234375 GiB
non_torch_memory_cleared_by_empty_cache: 18.372356414794922 GiB
------------------------------------------------------------------
# available_kv_cache_memory = requested_memory - non_kv_cache_memory - non_torch_memory_cleared_by_empty_cache
Available KV cache memory: -1.32 GiB
```

**After this PR:**

```bash
# First instance:
------------------------------------------------------------------
requested_memory: 18.287109375 GiB
non_kv_cache_memory: 1.2340540885925293 GiB
init_non_torch_memory: 0.36182403564453125 GiB
non_torch_memory_before_empty_cache: 0.38979339599609375 GiB
non_torch_memory_increase: 0.0279693603515625 GiB
non_torch_memory_cleared_by_empty_cache: 0.0 GiB
------------------------------------------------------------------

# Second instance:
------------------------------------------------------------------
requested_memory: 18.287109375 GiB
non_kv_cache_memory: 1.233344554901123 GiB
init_non_torch_memory: 18.74309539794922 GiB
non_torch_memory_before_empty_cache: 18.770355224609375 GiB
non_torch_memory_increase: 0.02725982666015625 GiB
non_torch_memory_cleared_by_empty_cache: 0.0 GiB
------------------------------------------------------------------
# available_kv_cache_memory = requested_memory - non_kv_cache_memory - non_torch_memory_cleared_by_empty_cache
Available KV cache memory: 17.05 GiB
```

- vLLM version: v0.17.0
- vLLM main:
4497431df6

---------

Signed-off-by: shen-shanshan <467638484@qq.com>
Signed-off-by: Shanshan Shen <87969357+shen-shanshan@users.noreply.github.com>
2026-03-23 14:22:59 +08:00

168 lines
7.1 KiB
YAML

e2e-singlecard:
- name: tests/e2e/singlecard/compile/test_graphex_norm_quant_fusion.py
estimated_time: 83
- name: tests/e2e/singlecard/compile/test_graphex_qknorm_rope_fusion.py
estimated_time: 69
- name: tests/e2e/singlecard/test_auto_fit_max_mode_len.py
estimated_time: 70
- name: tests/e2e/singlecard/test_eager_mode_acc.py
estimated_time: 255
- name: tests/e2e/singlecard/test_aclgraph_accuracy.py
estimated_time: 839
- name: tests/e2e/singlecard/test_aclgraph_batch_invariant.py
estimated_time: 515
- name: tests/e2e/singlecard/test_aclgraph_mem.py
estimated_time: 187
- name: tests/e2e/singlecard/test_async_scheduling.py
estimated_time: 252
- name: tests/e2e/singlecard/test_batch_invariant.py
estimated_time: 506
- name: tests/e2e/singlecard/test_camem.py
estimated_time: 149
- name: tests/e2e/singlecard/test_completion_with_prompt_embeds.py
estimated_time: 136
- name: tests/e2e/singlecard/test_cpu_offloading.py
estimated_time: 166
- name: tests/e2e/singlecard/test_guided_decoding.py
estimated_time: 407
- name: tests/e2e/singlecard/test_ilama_lora.py
estimated_time: 112
- name: tests/e2e/singlecard/test_llama32_lora.py
estimated_time: 239
- name: tests/e2e/singlecard/test_qwen3_multi_loras.py
estimated_time: 140
- name: tests/e2e/singlecard/test_models.py
estimated_time: 320
- name: tests/e2e/singlecard/test_multistream_overlap_shared_expert.py
estimated_time: 292
- name: tests/e2e/singlecard/test_quantization.py
estimated_time: 284
- name: tests/e2e/singlecard/test_sampler.py
estimated_time: 258
- name: tests/e2e/singlecard/test_vlm.py
estimated_time: 495
- name: tests/e2e/singlecard/test_multi_instance.py
estimated_time: 120
- name: tests/e2e/singlecard/test_xlite.py
estimated_time: 135
- name: tests/e2e/singlecard/compile/test_norm_quant_fusion.py
estimated_time: 106
- name: tests/e2e/singlecard/pooling/test_classification.py
estimated_time: 148
- name: tests/e2e/singlecard/pooling/test_embedding.py
estimated_time: 324
- name: tests/e2e/singlecard/pooling/test_scoring.py
estimated_time: 553
- name: tests/e2e/singlecard/pooling/test_qwen3_reranker_lora.py
estimated_time: 280
- name: tests/e2e/singlecard/spec_decode/test_mtp_eagle_correctness.py
estimated_time: 6141
- name: tests/e2e/singlecard/spec_decode/test_v1_spec_decode.py
estimated_time: 600
- name: tests/e2e/singlecard/model_runner_v2/test_basic.py
estimated_time: 80
is_skipped: true
e2e-singlecard-light:
- name: tests/e2e/singlecard/test_aclgraph_accuracy.py::test_piecewise_res_consistency
estimated_time: 229
- name: tests/e2e/singlecard/test_quantization.py::test_qwen3_w8a8_quant
estimated_time: 183
e2e-2card-light:
- name: tests/e2e/multicard/2-cards/test_qwen3_moe.py::test_qwen3_moe_distributed_mp_tp2_ep
estimated_time: 164
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_deepseek3_2_w8a8_pruning_mtp_tp2_ep
estimated_time: 90
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_deepseek3_2_w8a8c8_pruning_mtp_tp2_ep
estimated_time: 180
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_gpt_oss_distributed_tp2
estimated_time: 352
e2e-multicard-2-cards:
- name: tests/e2e/multicard/2-cards/test_aclgraph_capture_replay.py
estimated_time: 0
is_skipped: true
- name: tests/e2e/multicard/2-cards/spec_decode/test_spec_decode.py
estimated_time: 0
is_skipped: true
- name: tests/e2e/multicard/2-cards/test_offline_weight_load.py
estimated_time: 0
is_skipped: true
- name: tests/e2e/multicard/2-cards/test_shared_expert_dp.py
estimated_time: 0
is_skipped: true
- name: tests/e2e/multicard/2-cards/test_qwen3_performance.py
estimated_time: 194
- name: tests/e2e/multicard/2-cards/test_data_parallel.py
estimated_time: 454
- name: tests/e2e/multicard/2-cards/test_expert_parallel.py
estimated_time: 220
- name: tests/e2e/multicard/2-cards/test_external_launcher.py
estimated_time: 550
- name: tests/e2e/multicard/2-cards/test_full_graph_mode.py
estimated_time: 805
- name: tests/e2e/multicard/2-cards/test_ilama_lora_tp2.py
estimated_time: 113
- name: tests/e2e/multicard/2-cards/test_llama32_lora_tp2.py
estimated_time: 410
- name: tests/e2e/multicard/2-cards/spec_decode/test_quarot_eagle.py
estimated_time: 859
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_deepseek_multistream_moe_tp2
estimated_time: 112
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_qwen3_w4a8_dynamic_tp2
estimated_time: 104
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_qwen3_moe_sp_tp2
estimated_time: 176
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_deepseek_w4a8_accuracy_tp2
estimated_time: 125
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_qwen3_moe_fc2_tp2
estimated_time: 173
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_deepseek_v2_lite_fc1_tp2
estimated_time: 124
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_qwen3_dense_fc1_tp2
estimated_time: 99
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_qwen3_dense_prefetch_mlp_weight_tp2
estimated_time: 110
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_deepseek3_2_w8a8_pruning_mtp_tp2_ep
estimated_time: 111
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_deepseek3_2_w8a8c8_pruning_mtp_tp2_ep
estimated_time: 180
- name: tests/e2e/multicard/2-cards/test_offline_inference_distributed.py::test_qwen3_w4a4_distributed_tp2
estimated_time: 202
- name: tests/e2e/multicard/2-cards/test_pipeline_parallel.py
estimated_time: 357
- name: tests/e2e/multicard/2-cards/test_prefix_caching.py
estimated_time: 470
- name: tests/e2e/multicard/2-cards/test_quantization.py
estimated_time: 511
- name: tests/e2e/multicard/2-cards/test_qwen3_moe.py
estimated_time: 986
- name: tests/e2e/multicard/2-cards/test_qwen3_moe_routing_replay.py
estimated_time: 210
- name: tests/e2e/multicard/2-cards/test_single_request_aclgraph.py
estimated_time: 290
- name: tests/e2e/multicard/2-cards/test_disaggregated_encoder.py
estimated_time: 164
- name: tests/e2e/multicard/2-cards/test_sp_pass.py
estimated_time: 198
e2e-multicard-4-cards:
- name: tests/e2e/multicard/4-cards/test_qwen3_next.py
estimated_time: 1868
- name: tests/e2e/multicard/4-cards/test_qwen3_5.py
estimated_time: 1030
- name: tests/e2e/multicard/4-cards/test_data_parallel_tp2.py
estimated_time: 306
- name: tests/e2e/multicard/4-cards/test_kimi_k2.py
estimated_time: 19
- name: tests/e2e/multicard/4-cards/long_sequence/test_accuracy.py
estimated_time: 1445
- name: tests/e2e/multicard/4-cards/long_sequence/test_basic.py
estimated_time: 2186
- name: tests/e2e/multicard/4-cards/long_sequence/test_chunked_prefill_cp.py
estimated_time: 1191
- name: tests/e2e/multicard/4-cards/long_sequence/test_prefix_caching_cp.py
estimated_time: 883
- name: tests/e2e/multicard/4-cards/long_sequence/test_mtp.py
estimated_time: 60
is_skipped: true
- name: tests/e2e/multicard/4-cards/spec_decode/test_mtp_qwen3_next.py
estimated_time: 1340