{"record":{"id":"cf03ba383047f6ec","repo":"sgl-project/sglang","slug":"humming-does-not-support-deepep-output-dtype-dis","errorCode":null,"errorMessage":"Humming does not support DeepEP {output_dtype} dispatch; use --deepep-dispatcher-output-dtype=bf16 or fp8.","messagePattern":"Humming does not support DeepEP (.+?) dispatch; use --deepep-dispatcher-output-dtype=bf16 or fp8\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/layers/quantization/humming_utils.py","lineNumber":62,"sourceCode":"    if dispatcher is None:\n        return\n\n    quant_config = dict(getattr(dispatcher, \"quant_config\", None) or {})\n    quant_config[\"dispatcher_output_dtype\"] = output_dtype\n    dispatcher.set_quant_config(quant_config)\n\n\ndef configure_humming_deepep_dispatch(layer: torch.nn.Module) -> bool:\n    if not get_moe_a2a_backend().is_deepep():\n        layer._humming_uses_deepep_fp8_dispatch = False\n        _set_humming_dispatcher_output_dtype(layer, \"bf16\")\n        return False\n\n    output_dtype = get_exec().moe.deepep_dispatcher_output_dtype\n    if output_dtype == \"auto\":\n        output_dtype = \"bf16\" if envs.SGLANG_DEEPEP_BF16_DISPATCH.get() else \"fp8\"\n    if output_dtype not in (\"bf16\", \"fp8\"):\n        raise ValueError(\n            f\"Humming does not support DeepEP {output_dtype} dispatch; \"\n            \"use --deepep-dispatcher-output-dtype=bf16 or fp8.\"\n        )\n\n    _set_humming_dispatcher_output_dtype(layer, output_dtype)\n    use_fp8 = output_dtype == \"fp8\"\n    layer._humming_uses_deepep_fp8_dispatch = use_fp8\n    return use_fp8\n\n\ndef make_humming_deepep_input_schema(\n    sublayer_name: str, shape_k: int\n) -> HummingInputSchema:\n    if shape_k % 128 != 0:\n        raise ValueError(\n            f\"Humming FP8 dispatch requires {sublayer_name} K={shape_k} \"\n            \"to be divisible by 128.\"\n        )","sourceCodeStart":44,"sourceCodeEnd":80,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/layers/quantization/humming_utils.py#L44-L80","documentation":"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.","triggerScenarios":"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.","commonSituations":"Copy-pasting DeepEP flags tuned for other runtimes; assuming fp16 dispatch is supported because the dtype exists elsewhere in SGLang; case-sensitive typos.","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"],"exampleFix":"# before\n--deepep-dispatcher-output-dtype fp16\n# after\n--deepep-dispatcher-output-dtype bf16","handlingStrategy":"validation","validationCode":"dtype = server_args.deepep_dispatcher_output_dtype or \"auto\"\nassert dtype in (\"auto\", \"bf16\", \"fp8\"), f\"unsupported dispatch dtype {dtype}\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Restrict dispatch dtype choices in launcher scripts to bf16/fp8","Strip whitespace and lowercase env-provided dtype strings"],"tags":["deepep","humming","moe","dtype","config-validation"],"backgroundTag":"unsupported-dispatch-dtype","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}