{"record":{"id":"a2c2d77513314606","repo":"sgl-project/sglang","slug":"minimax-h3-ring-parallelism-requires-the-flashatte","errorCode":null,"errorMessage":"MiniMax-H3 ring parallelism requires the FlashAttention backend for the transformer","messagePattern":"MiniMax-H3 ring parallelism requires the FlashAttention backend for the transformer","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/configs/pipeline_configs/minimax_h3.py","lineNumber":257,"sourceCode":"                if server_args.residency_mode(component) != LAYERWISE_OFFLOAD\n            ]\n            if missing_components:\n                raise ValueError(\n                    \"MiniMax-H3 on MPS requires synchronous layerwise offload for \"\n                    f\"{missing_components}; pass --layerwise-offload-components \"\n                    \"transformer text_encoder video_vae audio_vae\"\n                )\n            if server_args.enable_torch_compile:\n                raise ValueError(\n                    \"MiniMax-H3 MPS execution does not support torch.compile; \"\n                    \"pass --enable-torch-compile false\"\n                )\n        selected_backend = self.resolve_transformer_attention_backend(server_args)\n        if (\n            int(server_args.ring_degree or 1) > 1\n            and selected_backend is not AttentionBackendEnum.FA\n        ):\n            raise ValueError(\n                \"MiniMax-H3 ring parallelism requires the FlashAttention \"\n                \"backend for the transformer\"\n            )\n        if selected_backend is None:\n            return\n        get_attn_backend(\n            self.dit_config.arch_config.attention_head_dim,\n            torch.bfloat16,\n            selected_attention_backend=selected_backend,\n            attention_requirements=AttentionRequirements(packed_varlen=True),\n        )\n\n    def select_vae_weight_files(\n        self,\n        safetensors_list: list[str],\n        component_model_path: str,\n        component_name: str,\n        vae_precision: str,","sourceCodeStart":239,"sourceCodeEnd":275,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/configs/pipeline_configs/minimax_h3.py#L239-L275","documentation":"MiniMax-H3 ring parallelism (ring_degree > 1) depends on FlashAttention-specific kernel behavior for its sequence-parallel attention ring, so validate_server_args rejects any ring_degree > 1 combined with a non-FA transformer attention backend (or None resolved to non-FA).","triggerScenarios":"Launching with --ring-degree N (N>1) while the transformer attention backend resolves to something other than AttentionBackendEnum.FA — e.g. an explicit --attention-backend flashinfer/triton/sdpa, or a default that doesn't resolve to FA on this platform.","commonSituations":"Users enabling ring parallelism for long-context video while keeping a previously tuned non-FA backend; platform defaults (e.g. MPS or older GPUs) where FA is unavailable; config drift after upgrading attention backend enums.","solutions":["Set the transformer attention backend to FA (e.g. --attention-backend fa) when using ring_degree > 1","Or drop ring parallelism (ring_degree=1) if FA is unavailable on your hardware","Use resolve_transformer_attention_backend(server_args) in your launch script/log to confirm what backend actually resolves before enabling ring degree"],"exampleFix":"# before\npython -m sglang.launch_server --model MiniMax-H3 --ring-degree 2 --attention-backend flashinfer\n\n# after\npython -m sglang.launch_server --model MiniMax-H3 --ring-degree 2 --attention-backend fa","handlingStrategy":"validation","validationCode":"if int(server_args.ring_degree or 1) > 1:\n    backend = config.resolve_transformer_attention_backend(server_args)\n    assert backend is AttentionBackendEnum.FA, f\"ring_degree>1 needs FA, got {backend}\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pair any ring_degree>1 launch with an explicit --attention-backend fa","Log the resolved backend at startup so misconfiguration is visible"],"tags":["minimax-h3","ring-parallelism","attention-backend","server-args"],"backgroundTag":"incompatible-launch-flags","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}