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

  1. Switch to a sleep-mode backend that is supported on this platform (use the registry list from the sibling error if unsure).
  2. Install/upgrade the missing runtime dependency the backend's is_supported() checks (e.g. driver version, criu package).
  3. 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

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


AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14). Data as JSON: /api/errors/a3933ac14c2de306. Report an issue: GitHub.