{"record":{"id":"7b99b5fbf34452dc","repo":"sgl-project/sglang","slug":"currently-standalone-speculative-decoding-does-not","errorCode":null,"errorMessage":"Currently standalone speculative decoding does not support dp attention.","messagePattern":"Currently standalone speculative decoding does not support dp attention\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/arg_groups/speculative_hook.py","lineNumber":676,"sourceCode":"        logger.warning(\n            \"Mixed chunked prefill is disabled because of using \"\n            \"Frozen-KV MTP speculative decoding.\"\n        )\n\n\ndef _handle_eagle_family(server_args: ServerArgs) -> None:\n    cfg = resolving_view(server_args)\n    from sglang.srt.arg_groups.overrides import (\n        attention_backends_of,\n        resolved_view,\n    )\n\n    if (\n        cfg.speculative_algorithm == \"STANDALONE\"\n        and resolved_view(server_args).enable_dp_attention\n    ):\n        # TODO: support dp attention for standalone speculative decoding\n        raise ValueError(\n            \"Currently standalone speculative decoding does not support dp attention.\"\n        )\n\n    if cfg.max_running_requests is None:\n        declare_resolution(\n            server_args,\n            \"_handle_eagle_family\",\n            max_running_requests=48,\n        )\n        logger.warning(\n            \"Max running requests is reset to 48 for speculative decoding. You can override this by explicitly setting --max-running-requests.\"\n        )\n\n    _disable_overlap_schedule_for_cpu(server_args)\n\n    if resolved_view(server_args).disable_overlap_schedule:\n        logger.warning(\n            \"Non-overlap (synchronous) spec v2 is used for eagle/eagle3/standalone \"","sourceCodeStart":658,"sourceCodeEnd":694,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/arg_groups/speculative_hook.py#L658-L694","documentation":"The STANDALONE speculative algorithm (separate draft model run end-to-end) does not support dp attention. The eagle-family handler rejects the combo pending a TODO to implement it.","triggerScenarios":"Launching with --speculative-algorithm STANDALONE together with --enable-dp-attention.","commonSituations":"Users combining a standalone draft model (e.g. an independent small LM) with DeepSeek-style DP attention deployment flags.","solutions":["Remove --enable-dp-attention for STANDALONE runs","Use EAGLE/NEXTN instead if dp attention is required","Watch upstream for dp-attention support in STANDALONE before retrying"],"exampleFix":"# before\n--speculative-algorithm STANDALONE --enable-dp-attention\n# after\n--speculative-algorithm STANDALONE","handlingStrategy":"validation","validationCode":"if args.speculative_algorithm == 'STANDALONE' and args.enable_dp_attention:\n    raise SystemExit('STANDALONE spec decoding does not support dp attention')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep DP-attention presets and STANDALONE presets separate"],"tags":["speculative-decoding","standalone","dp-attention"],"backgroundTag":"unsupported-feature-combination","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}