{"record":{"id":"58f6db0acb10fb5d","repo":"sgl-project/sglang","slug":"kimi-k3-dcp-with-decode-attention-backend-cutedsl-58f6db","errorCode":null,"errorMessage":"Kimi-K3 DCP with decode_attention_backend='cutedsl_mla' requires enable_dcp in the signature of flashinfer.decode.trtllm_batch_decode_with_kv_cache_mla; upgrade to FlashInfer 0.6.17 or newer.","messagePattern":"Kimi-K3 DCP with decode_attention_backend='cutedsl_mla' requires enable_dcp in the signature of flashinfer\\.decode\\.trtllm_batch_decode_with_kv_cache_mla; upgrade to FlashInfer 0\\.6\\.17 or newer\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/arg_groups/overrides.py","lineNumber":605,"sourceCode":"        # >= 0.6.15 (older builds reject q_len >= 5).\n        return True\n    return False\n\n\ndef _require_kimi_k3_cutedsl_dcp_support() -> None:\n    try:\n        from flashinfer.decode import trtllm_batch_decode_with_kv_cache_mla\n\n        parameters = inspect.signature(trtllm_batch_decode_with_kv_cache_mla).parameters\n    except (ImportError, TypeError, ValueError) as exc:\n        raise RuntimeError(\n            \"Kimi-K3 DCP with decode_attention_backend='cutedsl_mla' requires \"\n            \"FlashInfer 0.6.17 or newer with \"\n            \"trtllm_batch_decode_with_kv_cache_mla exposing enable_dcp.\"\n        ) from exc\n\n    if \"enable_dcp\" not in parameters:\n        raise RuntimeError(\n            \"Kimi-K3 DCP with decode_attention_backend='cutedsl_mla' requires \"\n            \"enable_dcp in the signature of \"\n            \"flashinfer.decode.trtllm_batch_decode_with_kv_cache_mla; upgrade \"\n            \"to FlashInfer 0.6.17 or newer.\"\n        )\n\n\n@_register_for(\"KimiK3ForConditionalGeneration\")\ndef _kimi_k3_overrides(server_args: Any, hf_config: Any) -> dict:\n    cfg = resolving_view(server_args)\n    if cfg.dcp_size > 1:\n        overrides = {}\n        if cfg.enable_symm_mem:\n            logger.warning(\n                \"Kimi-K3 DCP disables --enable-symm-mem due to decode CUDA \"\n                \"graph correctness issues.\"\n            )\n            overrides[\"enable_symm_mem\"] = False","sourceCodeStart":587,"sourceCodeEnd":623,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/arg_groups/overrides.py#L587-L623","documentation":"Even when flashinfer's trtllm_batch_decode_with_kv_cache_mla is importable, Kimi-K3 DCP needs the enable_dcp parameter in its signature. Older FlashInfer builds expose the function without enable_dcp, so SGLang inspects the signature and raises this RuntimeError when the kwarg is absent.","triggerScenarios":"FlashInfer installed with the symbol present but predating enable_dcp support (between versions), running Kimi-K3 DCP + cutedsl_mla; raised from _require_kimi_k3_cutedsl_dcp_support.","commonSituations":"A flashinfer version that added the function before adding enable_dcp; locally built flashinfer from an older branch; partial upgrade of the wheel.","solutions":["Upgrade flashinfer to >= 0.6.17: pip install -U 'flashinfer-python>=0.6.17'","Check: python -c \"import inspect, flashinfer.decode as d; print('enable_dcp' in inspect.signature(d.trtllm_batch_decode_with_kv_cache_mla).parameters)\"","Otherwise switch decode_attention_backend or disable DCP"],"exampleFix":"# before\n# flashinfer 0.6.15 (function exists, no enable_dcp)\n# after\npip install -U 'flashinfer-python>=0.6.17'","handlingStrategy":"validation","validationCode":"import inspect\nfrom flashinfer.decode import trtllm_batch_decode_with_kv_cache_mla as f\nassert 'enable_dcp' in inspect.signature(f).parameters, 'need flashinfer>=0.6.17'","typeGuard":null,"tryCatchPattern":"except RuntimeError as e:\n    if 'enable_dcp' in str(e): upgrade_flashinfer(); retry()\n    raise","preventionTips":["Verify signature kwargs after any flashinfer upgrade/downgrade","Freeze the flashinfer version known to expose enable_dcp"],"tags":["kimi-k3","flashinfer","signature-check","dcp","sglang"],"backgroundTag":"library-version-too-old","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}