{"record":{"id":"7c5a1c804d1054ba","repo":"vllm-project/vllm","slug":"use-inductor-graph-partition-is-only-supported-wit","errorCode":null,"errorMessage":"use_inductor_graph_partition is only supported with torch>=2.9.0.dev. Set use_inductor_graph_partition=False instead.","messagePattern":"use_inductor_graph_partition is only supported with torch>=2\\.9\\.0\\.dev\\. Set use_inductor_graph_partition=False instead\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"vllm/config/compilation.py","lineNumber":992,"sourceCode":"        ):\n            self.custom_ops.append(\"+rotary_embedding\")\n\n        if (\n            is_torch_equal_or_newer(\"2.9.0.dev\")\n            and \"combo_kernels\" not in self.inductor_compile_config\n            and \"benchmark_combo_kernel\" not in self.inductor_compile_config\n            # (fixme @boyuan) combo kernel does not support cpu yet.\n            and not current_platform.is_cpu()\n        ):\n            # use horizontal fusion, which is useful for fusing qk-norm and\n            # qk-rope when query and key have different shapes.\n            self.inductor_compile_config[\"combo_kernels\"] = True\n            self.inductor_compile_config[\"benchmark_combo_kernel\"] = True\n\n        if self.use_inductor_graph_partition and not is_torch_equal_or_newer(\n            \"2.9.0.dev\"\n        ):\n            raise ValueError(\n                \"use_inductor_graph_partition is only \"\n                \"supported with torch>=2.9.0.dev. Set \"\n                \"use_inductor_graph_partition=False instead.\"\n            )\n\n        for op in self.custom_ops:\n            if op not in {\"all\", \"none\"} and (len(op) < 2 or op[0] not in {\"+\", \"-\"}):\n                raise ValueError(\n                    f\"Invalid syntax '{op}' for custom op, \"\n                    \"must be 'all', 'none', '+op' or '-op' \"\n                    \"(where 'op' is the registered op name)\"\n                )\n\n        base_modes = [op for op in self.custom_ops if op in {\"all\", \"none\"}]\n        if len(base_modes) > 1:\n            raise ValueError(\n                \"custom_ops can contain only one base mode: 'all' or 'none'\"\n            )","sourceCodeStart":974,"sourceCodeEnd":1010,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/config/compilation.py#L974-L1010","documentation":"use_inductor_graph_partition routes graph splitting to torch inductor's partitioner, which only exists from PyTorch 2.9.0.dev onwards. The post-init validator checks the torch version via is_torch_equal_or_newer('2.9.0.dev') and raises ValueError on older torch telling you to disable the flag.","triggerScenarios":"Passing CompilationConfig(use_inductor_graph_partition=True) while running torch < 2.9 (e.g. stable 2.7/2.8 wheels, or older nightly pins).","commonSituations":"Copying a config from CI running torch nightly into an environment pinned to stable torch; default flips in newer vLLM combined with an older installed torch.","solutions":["Set use_inductor_graph_partition=False.","Or upgrade PyTorch to >=2.9 (nightly/newer stable) if you need inductor graph partitioning."],"exampleFix":"# before  # torch==2.8.0\nCompilationConfig(use_inductor_graph_partition=True)\n# after\nCompilationConfig(use_inductor_graph_partition=False)","handlingStrategy":"validation","validationCode":"from vllm.utils import is_torch_equal_or_newer\n\ndef inductor_partition_ok(flag: bool) -> bool:\n    return not flag or is_torch_equal_or_newer('2.9.0.dev')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Gate use_inductor_graph_partition on torch>=2.9 checks","Pin torch nightly together with the flag in requirements files","Test configs against the installed torch version in CI"],"tags":["configuration","version-compat","torch","vllm"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}