vllm-project/vllm · error · ValueError
Sleep-mode backend '{name}' is not supported on this platfor
Error message
Sleep-mode backend '{name}' is not supported on this platform. What it means
Raised by SleepModeBackendFactory.create_backend after resolving the backend class when its is_supported() returns False. Registration is lazy and name-based; the platform check happens at instantiation, so a valid name still fails here if the runtime lacks the required hardware/driver support.
Source
Thrown at vllm/device_allocator/sleep_mode_backend.py:181
@classmethod
def get_backend_class(cls, name: str) -> type[SleepModeBackend]:
"""Resolve a registered backend class by name."""
if name not in cls._registry:
available = ", ".join(sorted(cls._registry)) or "<none>"
raise ValueError(
f"Unsupported sleep-mode backend '{name}'. "
f"Registered backends: {available}."
)
return cls._registry[name]()
@classmethod
def create_backend(cls, model_config: ModelConfig) -> SleepModeBackend:
"""Instantiate the backend selected by ``model_config``."""
name = model_config.sleep_mode_backend
backend_cls = cls.get_backend_class(name)
if not backend_cls.is_supported():
raise ValueError(
f"Sleep-mode backend '{name}' is not supported on this platform."
)
logger.info("Using sleep-mode backend: %s", name)
return backend_cls()
# Register built-in backends here. Registration is lazy: only the module for the
# selected backend is imported. Third-party backends (CUDA checkpoint, CRIU,
# durable snapshot) register the same way through a vllm.general_plugins entry
# point, without changes to vLLM core.
SleepModeBackendFactory.register_backend(
"cumem",
"vllm.device_allocator.sleep_mode_backend",
"CuMemBackend",
)
View on GitHub (pinned to c794754062)
Solutions
- Switch to a sleep-mode backend that is supported on this platform (use the registry list from the sibling error if unsure).
- Install/upgrade the missing runtime dependency the backend's is_supported() checks (e.g. driver version, criu package).
- If none is supported, drop --sleep-mode on this node.
Example fix
# before --sleep-mode-backend cumem # on a node without required CUDA uVM support # after --sleep-mode-backend <platform-supported backend> # or omit --sleep-mode
Defensive patterns
Strategy: validation
Validate before calling
cls = SleepModeBackendFactory.get_backend_class(name)
if not cls.is_supported():
raise SystemExit(f"backend {name!r} not supported here; pick another or disable sleep mode") Type guard
def backend_usable(name: str) -> bool:
cls = SleepModeBackendFactory.get_backend_class(name)
return cls.is_supported() Try / catch
try:
backend = SleepModeBackendFactory.create_backend(model_config)
except ValueError as e:
if "not supported on this platform" in str(e):
fallback_to_supported_backend_or_disable_sleep_mode()
raise Prevention
- Probe is_supported() for all candidate backends during node provisioning.
- Bake the supported backend choice into the node's deployment config after a one-time capability scan.
When it happens
Trigger: Selecting a sleep-mode backend whose is_supported() is false on this machine, e.g. the cumem backend without CUDA uVM support, or a CRIU backend without the CRIU runtime present.
Common situations: Running on a GPU/driver combination that lacks the needed feature; missing system packages (criu, specific driver level); selecting a backend copied from a different deployment environment.
Related errors
- Sleep mode allocator is not available on platform {type(curr
- Sleep-mode backend '{name}' is already registered.
- Unsupported sleep-mode backend '{name}'. Registered backends
- torch.xpu.memory is not available
- xpumem allocator extension is not available
AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14).
Data as JSON: /api/errors/a3933ac14c2de306.
Report an issue: GitHub.