sgl-project/sglang · error · ValueError
Humming does not support DeepEP {output_dtype} dispatch; use
Error message
Humming does not support DeepEP {output_dtype} dispatch; use --deepep-dispatcher-output-dtype=bf16 or fp8. What it means
configure_humming_deepep_dispatch resolves the DeepEP dispatcher output dtype (from --deepep-dispatcher-output-dtype, defaulting via the SGLANG_DEEPEP_BF16_DISPATCH env var) and only supports 'bf16' or 'fp8'. Any other string (typos like 'bf16 ', 'FP8', 'fp16', 'int8') raises this error during MoE weight processing or layer preparation.
Source
Thrown at python/sglang/srt/layers/quantization/humming_utils.py:62
if dispatcher is None:
return
quant_config = dict(getattr(dispatcher, "quant_config", None) or {})
quant_config["dispatcher_output_dtype"] = output_dtype
dispatcher.set_quant_config(quant_config)
def configure_humming_deepep_dispatch(layer: torch.nn.Module) -> bool:
if not get_moe_a2a_backend().is_deepep():
layer._humming_uses_deepep_fp8_dispatch = False
_set_humming_dispatcher_output_dtype(layer, "bf16")
return False
output_dtype = get_exec().moe.deepep_dispatcher_output_dtype
if output_dtype == "auto":
output_dtype = "bf16" if envs.SGLANG_DEEPEP_BF16_DISPATCH.get() else "fp8"
if output_dtype not in ("bf16", "fp8"):
raise ValueError(
f"Humming does not support DeepEP {output_dtype} dispatch; "
"use --deepep-dispatcher-output-dtype=bf16 or fp8."
)
_set_humming_dispatcher_output_dtype(layer, output_dtype)
use_fp8 = output_dtype == "fp8"
layer._humming_uses_deepep_fp8_dispatch = use_fp8
return use_fp8
def make_humming_deepep_input_schema(
sublayer_name: str, shape_k: int
) -> HummingInputSchema:
if shape_k % 128 != 0:
raise ValueError(
f"Humming FP8 dispatch requires {sublayer_name} K={shape_k} "
"to be divisible by 128."
)View on GitHub (pinned to 0132848349)
Solutions
- Set --deepep-dispatcher-output-dtype bf16 (or fp8) exactly
- Or drop the flag and let it default via SGLANG_DEEPEP_BF16_DISPATCH
- Check for trailing whitespace/case in script-provided dtype strings
Example fix
# before --deepep-dispatcher-output-dtype fp16 # after --deepep-dispatcher-output-dtype bf16
Defensive patterns
Strategy: validation
Validate before calling
dtype = server_args.deepep_dispatcher_output_dtype or "auto"
assert dtype in ("auto", "bf16", "fp8"), f"unsupported dispatch dtype {dtype}" Prevention
- Restrict dispatch dtype choices in launcher scripts to bf16/fp8
- Strip whitespace and lowercase env-provided dtype strings
When it happens
Trigger: Passing --deepep-dispatcher-output-dtype fp16 or any non-bf16/fp8 value on a Humming model with DeepEP enabled; env-var overrides that inject an invalid dtype string.
Common situations: Copy-pasting DeepEP flags tuned for other runtimes; assuming fp16 dispatch is supported because the dtype exists elsewhere in SGLang; case-sensitive typos.
Related errors
- Unsupported activation: {self.activation}
- DeepEP returned FP8 input while Humming is configured for BF
- Humming expected DeepEP FP8 hidden states and group-128 scal
- Humming quantization for MoE only supports moe_runner_backen
- num_token_non_padded must be an integer tensor, got {num_tok
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/cf03ba383047f6ec.
Report an issue: GitHub.