[PD] Allow decode radix cache and HiCache L1/L2 with DCP (#40263)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -63,16 +63,6 @@ def handle_pd_disaggregation(server_args: ServerArgs) -> None:
|
||||
"mooncake, nixl, or fake for synthetic benchmarking, got "
|
||||
f"{cfg.disaggregation_transfer_backend!r}."
|
||||
)
|
||||
if cfg.disaggregation_decode_enable_radix_cache:
|
||||
raise ValueError(
|
||||
"PD decode DCP currently requires chunk cache; "
|
||||
"--disaggregation-decode-enable-radix-cache is not supported."
|
||||
)
|
||||
if cfg.enable_hierarchical_cache:
|
||||
raise ValueError(
|
||||
"PD decode DCP currently requires chunk cache; "
|
||||
"--enable-hierarchical-cache is not supported."
|
||||
)
|
||||
|
||||
if cfg.disaggregation_mode == "decode":
|
||||
if cfg.disaggregation_decode_enable_radix_cache:
|
||||
@@ -86,7 +76,7 @@ def handle_pd_disaggregation(server_args: ServerArgs) -> None:
|
||||
"--disaggregation-decode-enable-radix-cache is incompatible "
|
||||
"with --disaggregation-transfer-backend fake"
|
||||
)
|
||||
if cfg.speculative_algorithm is not None:
|
||||
if cfg.speculative_algorithm not in (None, "DSPARK"):
|
||||
raise ValueError(
|
||||
"--disaggregation-decode-enable-radix-cache is incompatible "
|
||||
"with speculative decoding "
|
||||
|
||||
@@ -257,8 +257,8 @@ def build_kv_cache(
|
||||
|
||||
# Decode-side radix cache supports SWA only through the unified tree, whose
|
||||
# component pools preserve the full-attention prefix while transferring the
|
||||
# SWA window fresh. The legacy SWA cache and hybrid SSM pools remain
|
||||
# incompatible with the prefix-match-and-lock allocation path.
|
||||
# SWA window fresh. Hybrid SSM/KDA uses UnifiedRadixCache's Mamba
|
||||
# component (match + lock + CoW), the same path as colocated serving.
|
||||
if (
|
||||
get_disagg().disaggregation_decode_enable_radix_cache
|
||||
and get_disagg().disaggregation_mode == "decode"
|
||||
@@ -287,11 +287,6 @@ def build_kv_cache(
|
||||
"--disaggregation-decode-enable-radix-cache does not support "
|
||||
"SWA-compress models (e.g. Gemma4 / MiMo-V2) yet."
|
||||
)
|
||||
if is_hybrid_ssm:
|
||||
raise ValueError(
|
||||
"--disaggregation-decode-enable-radix-cache is incompatible "
|
||||
"with Mamba/SSM models"
|
||||
)
|
||||
|
||||
effective_chunked_prefill_size = get_schedule().chunked_prefill_size
|
||||
if model_config.is_multimodal and uses_transformers_backend:
|
||||
|
||||
Reference in New Issue
Block a user