{"record":{"id":"e50d6af42ecbce52","repo":"sgl-project/sglang","slug":"intel-xpu-backend-is-only-supported-on-decode-for","errorCode":null,"errorMessage":"intel_xpu backend is only supported on decode for MLA models, please set --decode-attention-backend to intel_xpu and do not set --attention-backend or --prefill-attention-backend to intel_xpu for prefill instead use triton.","messagePattern":"intel_xpu backend is only supported on decode for MLA models, please set --decode-attention-backend to intel_xpu and do not set --attention-backend or --prefill-attention-backend to intel_xpu for prefill instead use triton\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/server_args.py","lineNumber":6611,"sourceCode":"\n        run_post_process_pass(self, _attention_backend_fa3_fp8_fallback)\n\n        run_post_process_pass(self, _fa4_page_constraint)\n\n        # AMD platforms backends\n        if resolved_view(self).attention_backend == \"aiter\":\n            if model_config.context_len > 8192:\n                self._declare(\n                    \"_handle_attention_backend_compatibility\",\n                    mem_fraction_static=cfg.mem_fraction_static * 0.85,\n                )\n\n        # Other platforms backends\n        run_post_process_pass(self, _attention_backend_platform_fallbacks)\n\n        prefill_backend, decode_backend = self._resolved_attention_backends()\n        if self.use_mla_backend() and prefill_backend == \"intel_xpu\":\n            raise ValueError(\n                \"intel_xpu backend is only supported on decode for MLA models, please set --decode-attention-backend to intel_xpu and do not set --attention-backend or --prefill-attention-backend to intel_xpu for prefill instead use triton.\"\n            )\n\n        run_post_process_pass(self, _intel_xpu_page_constraint)\n\n        # Dual chunk flash attention backend\n        run_post_process_pass(self, _attention_backend_dual_chunk)\n        if resolved_view(self).attention_backend == \"dual_chunk_flash_attn\":\n            logger.warning(\n                \"Mixed chunk and radix cache are disabled when using dual-chunk flash attention backend\"\n            )\n            self._declare(\n                \"_handle_attention_backend_compatibility\",\n                enable_mixed_chunk=False,\n            )\n            self._declare(\n                \"_handle_attention_backend_compatibility\",\n                disable_radix_cache=True,","sourceCodeStart":6593,"sourceCodeEnd":6629,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/server_args.py#L6593-L6629","documentation":"The intel_xpu attention backend only supports the decode side of MLA models. Selecting it for prefill (via --attention-backend or --prefill-attention-backend) on an MLA model is rejected, with guidance to pair intel_xpu decode with triton prefill.","triggerScenarios":"use_mla_backend() returns true (DeepSeek-style MLA model) and the resolved prefill backend is intel_xpu, i.e. --attention-backend intel_xpu or --prefill-attention-backend intel_xpu was passed.","commonSituations":"Running DeepSeek/V3-style MLA models on Intel GPU systems with the single unified --attention-backend flag instead of split prefill/decode backend flags.","solutions":["Set --decode-attention-backend intel_xpu and --prefill-attention-backend triton","Remove --attention-backend intel_xpu / --prefill-attention-backend intel_xpu so prefill falls back to a supported backend"],"exampleFix":"# before\npython -m sglang.launch_server --model DeepSeek-V3 --attention-backend intel_xpu\n# after\npython -m sglang.launch_server --model DeepSeek-V3 --prefill-attention-backend triton --decode-attention-backend intel_xpu","handlingStrategy":"validation","validationCode":"if prefill_backend == \"intel_xpu\":\n    # intel_xpu is decode-only; use triton for prefill\n    prefill_backend, decode_backend = \"triton\", \"intel_xpu\"","typeGuard":null,"tryCatchPattern":"try:\n    ServerArgs(**kwargs)\nexcept ValueError as e:\n    if \"intel_xpu\" in str(e) and \"MLA\" in str(e):\n        kwargs.pop(\"attention_backend\", None)\n        kwargs[\"prefill_attention_backend\"] = \"triton\"\n        kwargs[\"decode_attention_backend\"] = \"intel_xpu\"\n        ServerArgs(**kwargs)\n    else:\n        raise","preventionTips":["On Intel GPUs always specify split --prefill-attention-backend/--decode-attention-backend, never the unified flag, for MLA models","Remember intel_xpu is decode-only for MLA","Add a lint rule in deployment scripts rejecting 'attention-backend intel_xpu' for DeepSeek-family models"],"tags":["sglang","intel-xpu","mla","attention-backend","prefill-decode-split"],"backgroundTag":"attention-backend-unsupported","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}