sgl-project/sglang · error · ValueError

CuteDSL MLA backend is only supported on Blackwell GPUs (SM1

Error message

CuteDSL MLA backend is only supported on Blackwell GPUs (SM100). Please use a different backend.

What it means

The CuteDSL MLA prefill backend (cutedsl_mla) uses SM100-specific CUTLASS DSL kernels, so SGLang refuses to start when it is selected on non-SM100 hardware (including SM12x Blackwell variants).

Source

Thrown at python/sglang/srt/arg_groups/overrides.py:2541


@register_post_process
def _cutedsl_prefill_backend_fill(view: Any) -> dict:
    """Slot pass in the attention-backend compatibility handler: CuteDSL MLA
    is decode-only, so validate the combination and default the prefill side
    to trtllm_mla. The trtllm_mha check that follows at the legacy slot reads
    the resolved value through the view."""
    if not (
        view.attention_backend == "cutedsl_mla"
        or view.decode_attention_backend == "cutedsl_mla"
        or view.prefill_attention_backend == "cutedsl_mla"
    ):
        return {}
    assert (
        view.prefill_attention_backend != "cutedsl_mla"
    ), "CuteDSL MLA only supports decoding for now"
    if not is_sm100_supported():
        raise ValueError(
            "CuteDSL MLA backend is only supported on Blackwell GPUs (SM100). Please use a different backend."
        )
    if view.kv_cache_dtype not in [
        "fp8_e4m3",
        "bf16",
        "bfloat16",
        "auto",
    ]:
        raise ValueError(
            "CuteDSL MLA backend only supports kv-cache-dtype of fp8_e4m3, bf16, or auto."
        )
    if view.prefill_attention_backend is None:
        return {"prefill_attention_backend": "trtllm_mla"}
    return {}


@register_post_process
def _attention_backend_fa3_fp8_fallback(view: Any) -> dict:

View on GitHub (pinned to 0132848349)

Solutions

  1. Run on an SM100 (B200/GB200) GPU
  2. Switch prefill backend, e.g. --prefill-attention-backend trtllm_mla or leave default

Example fix

# before (on H100)
--prefill-attention-backend cutedsl_mla
# after
--prefill-attention-backend trtllm_mla
Defensive patterns

Strategy: validation

Validate before calling

import torch
assert torch.cuda.get_device_capability()[0] == 10 and torch.cuda.get_device_capability()[1] == 0, "cutedsl_mla requires SM100"

Prevention

When it happens

Trigger: Setting --prefill-attention-backend cutedsl_mla on a GPU without SM100 compute capability (H100, A100, or SM120-class parts).

Common situations: Enabling cutedsl_mla for DeepSeek prefill on a mixed cluster where some nodes are Hopper; note this check is stricter than the TRTLLM one (SM100 only, not SM12x).

Related errors


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/bcb79228700f4cda. Report an issue: GitHub.