vllm-project/vllm · error · ValueError
The Proton profiler currently supports NVIDIA CUDA only
Error message
The Proton profiler currently supports NVIDIA CUDA only
What it means
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.
Source
Thrown at vllm/config/vllm.py:1293
and current_platform.get_device_capability() == (7, 5)
):
logger.warning_once(
"Turing devices tensor cores do not support float32 matmul. "
"To workaround this limitation, vLLM will set 'ieee' input "
"precision for chunked prefill triton kernels."
)
if self.model_config is not None and self.model_config.enforce_eager:
logger.warning_once(
"Enforce eager set, disabling torch.compile and CUDAGraphs. "
"This is equivalent to setting -cc.mode=none -cc.cudagraph_mode=none"
)
self.compilation_config.mode = CompilationMode.NONE
self.compilation_config.cudagraph_mode = CUDAGraphMode.NONE
if self.profiler_config.profiler == "proton":
if not current_platform.is_cuda():
raise ValueError(
"The Proton profiler currently supports NVIDIA CUDA only"
)
if self.compilation_config.cudagraph_mode != CUDAGraphMode.NONE:
raise ValueError(
"The Proton profiler requires CUDA graphs to be disabled. "
"Use --enforce-eager or set "
"--compilation-config.cudagraph_mode=none."
)
if os.environ.get("TORCH_COMPILE_DISABLE") == "1":
logger.warning_once(
"TORCH_COMPILE_DISABLE is set, disabling torch.compile. "
"This is equivalent to setting -cc.mode=none"
)
self.compilation_config.mode = CompilationMode.NONE
# For model classes don't carry @support_torch_compile —
# the breakable cudagraph is the supported PIECEWISE path. Auto-enableView on GitHub (pinned to c794754062)
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.
Example fix
# before vllm serve model --profiler proton # on ROCm/XPU/CPU # after vllm serve model # profiler omitted
Defensive patterns
Strategy: validation
Validate before calling
from vllm.platforms import current_platform profiler = "proton" if (want_proton and current_platform.is_cuda()) else None
Try / catch
try:
LLM(profiler_config=...)
except ValueError as e:
if "Proton profiler currently supports" in str(e):
profiler_config.profiler = None
else:
raise Prevention
- Gate profiler flags on current_platform.is_cuda()
- Keep profiling flags out of shared production launch templates
When it happens
Trigger: Setting `--profiler proton` (or profiler config with profiler='proton') on any non-CUDA platform.
Common situations: 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.
Related errors
- {options} only applicable when profiler is set to 'proton'
- proton_profiler_dir must be set when profiler is 'proton'
- proton_profiler_dir must be a local directory
- chrome_trace output requires proton_data='trace'
- {output_format} output requires proton_data='tree'
AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14).
Data as JSON: /api/errors/f62fd2051b78e02b.
Report an issue: GitHub.