{"record":{"id":"f62fd2051b78e02b","repo":"vllm-project/vllm","slug":"the-proton-profiler-currently-supports-nvidia-cuda","errorCode":null,"errorMessage":"The Proton profiler currently supports NVIDIA CUDA only","messagePattern":"The Proton profiler currently supports NVIDIA CUDA only","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"vllm/config/vllm.py","lineNumber":1293,"sourceCode":"            and current_platform.get_device_capability() == (7, 5)\n        ):\n            logger.warning_once(\n                \"Turing devices tensor cores do not support float32 matmul. \"\n                \"To workaround this limitation, vLLM will set 'ieee' input \"\n                \"precision for chunked prefill triton kernels.\"\n            )\n\n        if self.model_config is not None and self.model_config.enforce_eager:\n            logger.warning_once(\n                \"Enforce eager set, disabling torch.compile and CUDAGraphs. \"\n                \"This is equivalent to setting -cc.mode=none -cc.cudagraph_mode=none\"\n            )\n            self.compilation_config.mode = CompilationMode.NONE\n            self.compilation_config.cudagraph_mode = CUDAGraphMode.NONE\n\n        if self.profiler_config.profiler == \"proton\":\n            if not current_platform.is_cuda():\n                raise ValueError(\n                    \"The Proton profiler currently supports NVIDIA CUDA only\"\n                )\n            if self.compilation_config.cudagraph_mode != CUDAGraphMode.NONE:\n                raise ValueError(\n                    \"The Proton profiler requires CUDA graphs to be disabled. \"\n                    \"Use --enforce-eager or set \"\n                    \"--compilation-config.cudagraph_mode=none.\"\n                )\n\n        if os.environ.get(\"TORCH_COMPILE_DISABLE\") == \"1\":\n            logger.warning_once(\n                \"TORCH_COMPILE_DISABLE is set, disabling torch.compile. \"\n                \"This is equivalent to setting -cc.mode=none\"\n            )\n            self.compilation_config.mode = CompilationMode.NONE\n\n        # For model classes don't carry @support_torch_compile —\n        # the breakable cudagraph is the supported PIECEWISE path. Auto-enable","sourceCodeStart":1275,"sourceCodeEnd":1311,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/config/vllm.py#L1275-L1311","documentation":"The Proton profiler integration in vLLM is implemented only for NVIDIA CUDA platforms. When `profiler_config.profiler == 'proton'` and `current_platform.is_cuda()` is False (ROCm, XPU, CPU, etc.), config validation raises immediately.","triggerScenarios":"Setting `--profiler proton` (or profiler config with profiler='proton') on any non-CUDA platform.","commonSituations":"Running the same profiling-enabled launch script on an AMD/Intel machine or CPU-only container; enabling Proton for kernel profiling without checking hardware support.","solutions":["Remove `--profiler proton` (or set profiler to None) on non-CUDA platforms.","Or run the workload on an NVIDIA CUDA machine if Proton profiling is required.","Use a platform-supported profiler (e.g. ROCm's tools) on non-CUDA hardware."],"exampleFix":"# before\nvllm serve model --profiler proton   # on ROCm/XPU/CPU\n\n# after\nvllm serve model                     # profiler omitted","handlingStrategy":"validation","validationCode":"from vllm.platforms import current_platform\nprofiler = \"proton\" if (want_proton and current_platform.is_cuda()) else None","typeGuard":null,"tryCatchPattern":"try:\n    LLM(profiler_config=...)\nexcept ValueError as e:\n    if \"Proton profiler currently supports\" in str(e):\n        profiler_config.profiler = None\n    else:\n        raise","preventionTips":["Gate profiler flags on current_platform.is_cuda()","Keep profiling flags out of shared production launch templates"],"tags":["profiling","proton","platform-support","cuda"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}