{"record":{"id":"70e988eeb7cf15c1","repo":"vllm-project/vllm","slug":"no-valid-cudagraph-sizes-after-rounding-to-multipl","errorCode":null,"errorMessage":"No valid cudagraph sizes after rounding to multiple of {multiple_of} (num_speculative_tokens + 1 or tp if sequence parallelism is enabled) please adjust num_speculative_tokens ({uniform_decode_query_len - 1}) or max_cudagraph_capture_size ({self.max_cudagraph_capture_size}) or cudagraph_capture_sizes ({self.cudagraph_capture_sizes})","messagePattern":"No valid cudagraph sizes after rounding to multiple of (.+?) \\(num_speculative_tokens \\+ 1 or tp if sequence parallelism is enabled\\) please adjust num_speculative_tokens \\((.+?)\\) or max_cudagraph_capture_size \\((.+?)\\) or cudagraph_capture_sizes \\((.+?)\\)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"vllm/config/compilation.py","lineNumber":1555,"sourceCode":"\n        if not self.cudagraph_capture_sizes or multiple_of <= 1:\n            return\n\n        assert self.max_cudagraph_capture_size is not None\n        rounded_sizes = sorted(\n            set(\n                round_up(size, multiple_of)\n                for size in self.cudagraph_capture_sizes\n                if round_up(size, multiple_of) <= self.max_cudagraph_capture_size\n            )\n        )\n\n        if len(rounded_sizes) == 0 and multiple_of <= self.max_cudagraph_capture_size:\n            # if one valid but would be round_down use that\n            rounded_sizes = [multiple_of]\n\n        if len(rounded_sizes) == 0:\n            raise ValueError(\n                f\"No valid cudagraph sizes after rounding to multiple of {multiple_of} \"\n                f\"(num_speculative_tokens + 1 or tp if sequence parallelism is enabled)\"\n                f\" please adjust num_speculative_tokens ({uniform_decode_query_len - 1}\"\n                f\") or max_cudagraph_capture_size ({self.max_cudagraph_capture_size})\"\n                f\" or cudagraph_capture_sizes ({self.cudagraph_capture_sizes})\"\n            )\n\n        self.max_cudagraph_capture_size = rounded_sizes[-1]\n        self.cudagraph_capture_sizes = rounded_sizes\n\n    def get_compile_ranges(self) -> list[Range]:\n        \"\"\"Get the compile ranges for the compilation config.\"\"\"\n        if self.compile_ranges_endpoints is None:\n            return []\n        endpoints = sorted(set(self.compile_ranges_endpoints))\n        return [Range(s + 1, e) for s, e in zip([0] + endpoints[:-1], endpoints)]\n","sourceCodeStart":1537,"sourceCodeEnd":1572,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/config/compilation.py#L1537-L1572","documentation":"Error \"No valid cudagraph sizes after rounding to multiple of {multiple_of} (num_speculative_tokens + 1 or tp if sequence parallelism is enabled) please adjust num_speculative_tokens ({uniform_decode_query_len - 1}) or max_cudagraph_capture_size ({self.max_cudagraph_capture_size}) or cudagraph_capture_sizes ({self.cudagraph_capture_sizes})\" thrown in vllm-project/vllm.","triggerScenarios":"Raised at vllm/config/compilation.py:1555 when validation fails: No valid cudagraph sizes after rounding to the required multiple. Typically triggered by an incompatible or incomplete vLLM configuration, an unsupported platform/backend combination, or a runtime resource/dependency that is missing.","commonSituations":"Commonly encountered at vllm/config/compilation.py:1555 during vLLM startup/config validation or runtime setup when: (1) conflicting CLI flags or config fields are combined, (2) the current platform (CUDA/ROCm/CPU/XPU) or installed optional packages do not support the requested feature, or (3) a required value is absent or out of range. Resolve by correcting the configuration as described in the message, or by selecting a supported alternative.","solutions":["Adjust num_speculative_tokens so at least one valid cudagraph size remains after rounding.","Or increase max_cudagraph_capture_size / adjust cudagraph_capture_sizes."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}