vllm-project/vllm · error · ValueError

Elastic EP requires 'torch_nccl', 'pynccl', or 'nixl' EPLB c

Error message

Elastic EP requires 'torch_nccl', 'pynccl', or 'nixl' EPLB communicator (got '{backend}').

What it means

Error "Elastic EP requires 'torch_nccl', 'pynccl', or 'nixl' EPLB communicator (got '{backend}')." thrown in vllm-project/vllm.

Source

Thrown at vllm/distributed/eplb/eplb_communicator.py:734

            getattr(device_comm, "pynccl_comm", None)
            if device_comm is not None
            else None
        )
        if pynccl_comm is None or pynccl_comm.disabled or not pynccl_comm.available:
            raise RuntimeError("EPLB communicator 'pynccl' requested but unavailable.")
        try:
            return PyNcclEplbCommunicator(pynccl_comm=pynccl_comm)
        except Exception as exc:
            raise RuntimeError(
                f"Failed to initialize PyNcclEplbCommunicator ({exc})."
            ) from exc

    is_stateless = isinstance(group_coordinator, StatelessGroupCoordinator)
    if is_stateless:
        if backend == "nixl":
            pass  # handled below with defer_remote_setup=True
        elif backend not in ("torch_nccl", "pynccl"):
            raise ValueError(
                f"Elastic EP requires 'torch_nccl', 'pynccl', or 'nixl' "
                f"EPLB communicator (got '{backend}')."
            )
        else:
            if backend == "torch_nccl":
                logger.warning(
                    "Stateless elastic EP requires PyNCCL backend. "
                    "Forcing EPLB communicator to 'pynccl'."
                )
                backend = "pynccl"
            return _create_pynccl()

    if backend == "nixl":
        if not has_nixl():
            raise RuntimeError(
                "EPLB communicator 'nixl' requested but NIXL is unavailable."
            )
        if not (current_platform.is_cuda_alike() and tensor_device_type != "cpu"):

View on GitHub (pinned to c794754062)

Solutions

  1. Set the EPLB communicator backend to 'torch_nccl', 'pynccl', or 'nixl' when using Elastic EP.

When it happens

Trigger: Raised at vllm/distributed/eplb/eplb_communicator.py:734 when validation fails: Elastic EP requires 'torch_nccl', 'pynccl', or 'nixl' EPLB communicator. Typically triggered by an incompatible or incomplete vLLM configuration, an unsupported platform/backend combination, or a runtime resource/dependency that is missing.

Common situations: Commonly encountered at vllm/distributed/eplb/eplb_communicator.py:734 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.


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