{"record":{"id":"c853c5596e3c9adc","repo":"sgl-project/sglang","slug":"unsupported-comfy-fp8-layer-formats-unsupported","errorCode":null,"errorMessage":"Unsupported Comfy FP8 layer formats: {unsupported}","messagePattern":"Unsupported Comfy FP8 layer formats: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/layers/quantization/comfy_fp8.py","lineNumber":111,"sourceCode":"    def __init__(self, layer_markers: dict[str, dict[str, Any]]) -> None:\n        super().__init__()\n        self.layer_markers = layer_markers\n        self.selected: list[str] = []\n        self._fp8_configs = {\n            activation_scheme: Fp8Config(\n                is_checkpoint_fp8_serialized=True,\n                activation_scheme=activation_scheme,\n            )\n            for activation_scheme in (\"static\", \"dynamic\")\n        }\n\n        unsupported = {\n            prefix: marker.get(\"format\")\n            for prefix, marker in layer_markers.items()\n            if marker.get(\"format\") != \"float8_e4m3fn\"\n        }\n        if unsupported:\n            raise ValueError(f\"Unsupported Comfy FP8 layer formats: {unsupported}\")\n\n    @classmethod\n    def get_name(cls) -> str:\n        return \"comfy_fp8\"\n\n    @classmethod\n    def get_supported_act_dtypes(cls) -> list[torch.dtype]:\n        return Fp8Config.get_supported_act_dtypes()\n\n    @classmethod\n    def get_min_capability(cls) -> int:\n        return Fp8Config.get_min_capability()\n\n    @staticmethod\n    def get_config_filenames() -> list[str]:\n        return []\n\n    @classmethod","sourceCodeStart":93,"sourceCodeEnd":129,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/layers/quantization/comfy_fp8.py#L93-L129","documentation":"ComfyFp8Config scans per-layer safetensors markers and requires every layer's format to be float8_e4m3fn. Any layer marker with a different format is collected and reported in this error.","triggerScenarios":"Constructing ComfyFp8Config from layer_markers where at least one prefix has marker[\"format\"] != \"float8_e4m3fn\" (e.g. float8_e5m2 or int8 layers mixed in).","commonSituations":"Mixed-precision Comfy checkpoints (most layers e4m3 but some e5m2/int8); checkpoints saved by a different ComfyUI quantization tool.","solutions":["Verify each layer's safetensors marker format; only float8_e4m3fn is supported","Re-quantize the offending layers to float8_e4m3fn","Use the appropriate config class for the actual formats present"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"unsupported = {p: m.get(\"format\") for p, m in layer_markers.items() if m.get(\"format\") != \"float8_e4m3fn\"}\nif unsupported:\n    raise SystemExit(f\"non-e4m3 layers present: {unsupported}\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Verify all layer markers are float8_e4m3fn before constructing ComfyFp8Config"],"tags":["quantization","fp8","comfy","mixed-precision"],"backgroundTag":"unsupported-checkpoint-format","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}