vllm-project/vllm · error · RuntimeError
EPLB communicator 'pynccl' supports only cuda-like devices (
Error message
EPLB communicator 'pynccl' supports only cuda-like devices (got {tensor_device_type}). What it means
Error "EPLB communicator 'pynccl' supports only cuda-like devices (got {tensor_device_type})." thrown in vllm-project/vllm.
Source
Thrown at vllm/distributed/eplb/eplb_communicator.py:695
``"torch_nccl"`` are used via the CPU process group.
expert_weights: Expert weight tensors for *all* MoE layers.
Shape ``(num_layers)(num_tensors_per_layer)``.
NixlEplbCommunicator registers all layers with NIXL for
zero-copy RDMA reads.
expert_buffer: Pre-allocated receive buffer tensors (one per
weight tensor in a single layer).
"""
first_layer = expert_weights[0] if expert_weights else []
tensor_device_type = first_layer[0].device.type if first_layer else "cpu"
torch_group = (
group_coordinator.cpu_group
if tensor_device_type == "cpu"
else group_coordinator.device_group
)
def _create_pynccl() -> EplbCommunicator:
if tensor_device_type == "cpu":
raise RuntimeError(
"EPLB communicator 'pynccl' supports only cuda-like devices "
f"(got {tensor_device_type})."
)
unsupported_dtypes = sorted(
{
tensor.dtype
for tensor in first_layer
if not ncclDataTypeEnum.supports_torch_dtype(tensor.dtype)
},
key=str,
)
if unsupported_dtypes:
raise RuntimeError(
"EPLB communicator 'pynccl' requested but expert weights contain "
"unsupported dtypes: "
f"({', '.join(str(dtype) for dtype in unsupported_dtypes)})."
)
View on GitHub (pinned to c794754062)
Solutions
- Use a cuda-like device with the 'pynccl' EPLB communicator.
- Or choose a different EPLB communicator backend suitable for the device.
When it happens
Trigger: Raised at vllm/distributed/eplb/eplb_communicator.py:695 when validation fails: EPLB communicator 'pynccl' supports only cuda-like devices. 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:695 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/46c6a1d0e977f3a1.
Report an issue: GitHub.