[BugFix]Backport validate pd mode feature gates no fused mc2 v0.18.0 clean (#8583)

### What this PR does / why we need it?
Backport validate pd mode feature gates no fused mc2 v0.18.0 clean
backport #8582
---------
Signed-off-by: wangxiaoteng <wangxiaoteng@huawei.com>
This commit is contained in:
wangxiaoteng888
2026-04-23 19:44:07 +08:00
committed by GitHub
parent 1fc7bc056d
commit c47371c1af
3 changed files with 0 additions and 141 deletions

View File

@@ -94,8 +94,6 @@ env_variables: dict[str, Callable[[], Any]] = {
# Whether to anbale dynamic EPLB
"DYNAMIC_EPLB": lambda: os.getenv("DYNAMIC_EPLB", "false").lower(),
# Whether to enable fused MC2 (`dispatch_gmm_combine_decode` / `dispatch_ffn_combine`).
# Platform validation: only PD-disaggregated **decode** instances (`kv_role='kv_consumer'`).
# Not supported in PD-mixed mode (`kv_both` or no kv_transfer_config) or on prefill nodes (`kv_producer`).
# 0, or not set: default ALLTOALL and MC2 will be used.
# 1: ALLTOALL and MC2 might be replaced by `dispatch_ffn_combine` operator.
# `dispatch_ffn_combine` can be used only for moe layer with W8A8, EP<=32, non-mtp, non-dynamic-eplb.

View File

@@ -448,17 +448,6 @@ class NPUPlatform(Platform):
if get_ascend_device_type() != AscendDeviceType._310P:
compilation_config.custom_ops = ["all"]
if envs_ascend.VLLM_ASCEND_ENABLE_FUSED_MC2:
kv_transfer_config = vllm_config.kv_transfer_config
kv_role = getattr(kv_transfer_config, "kv_role", None)
if kv_transfer_config is None or kv_role != "kv_consumer":
raise ValueError(
"VLLM_ASCEND_ENABLE_FUSED_MC2 (fused mc2) only supports PD-disaggregated "
"decode nodes (D-side) with kv_role='kv_consumer'. It is not supported "
"in PD-mixed mode (no kv_transfer_config / kv_role='kv_both') nor on "
"prefill nodes (P-side) with kv_role='kv_producer'."
)
if envs_ascend.VLLM_ASCEND_BALANCE_SCHEDULING:
kv_transfer_config = vllm_config.kv_transfer_config
kv_role = getattr(kv_transfer_config, "kv_role", None)