{"record":{"id":"48320f0176d9a108","repo":"vllm-project/vllm","slug":"eplb-communicator-pynccl-requested-but-unavailab","errorCode":null,"errorMessage":"EPLB communicator 'pynccl' requested but unavailable.","messagePattern":"EPLB communicator 'pynccl' requested but unavailable\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"vllm/distributed/eplb/eplb_communicator.py","lineNumber":721,"sourceCode":"                if not ncclDataTypeEnum.supports_torch_dtype(tensor.dtype)\n            },\n            key=str,\n        )\n        if unsupported_dtypes:\n            raise RuntimeError(\n                \"EPLB communicator 'pynccl' requested but expert weights contain \"\n                \"unsupported dtypes: \"\n                f\"({', '.join(str(dtype) for dtype in unsupported_dtypes)}).\"\n            )\n\n        device_comm = group_coordinator.device_communicator\n        pynccl_comm = (\n            getattr(device_comm, \"pynccl_comm\", None)\n            if device_comm is not None\n            else None\n        )\n        if pynccl_comm is None or pynccl_comm.disabled or not pynccl_comm.available:\n            raise RuntimeError(\"EPLB communicator 'pynccl' requested but unavailable.\")\n        try:\n            return PyNcclEplbCommunicator(pynccl_comm=pynccl_comm)\n        except Exception as exc:\n            raise RuntimeError(\n                f\"Failed to initialize PyNcclEplbCommunicator ({exc}).\"\n            ) from exc\n\n    is_stateless = isinstance(group_coordinator, StatelessGroupCoordinator)\n    if is_stateless:\n        if backend == \"nixl\":\n            pass  # handled below with defer_remote_setup=True\n        elif backend not in (\"torch_nccl\", \"pynccl\"):\n            raise ValueError(\n                f\"Elastic EP requires 'torch_nccl', 'pynccl', or 'nixl' \"\n                f\"EPLB communicator (got '{backend}').\"\n            )\n        else:\n            if backend == \"torch_nccl\":","sourceCodeStart":703,"sourceCodeEnd":739,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/distributed/eplb/eplb_communicator.py#L703-L739","documentation":"Error \"EPLB communicator 'pynccl' requested but unavailable.\" thrown in vllm-project/vllm.","triggerScenarios":"Raised at vllm/distributed/eplb/eplb_communicator.py:721 when validation fails: EPLB communicator 'pynccl' requested but unavailable.. Typically triggered by an incompatible or incomplete vLLM configuration, an unsupported platform/backend combination, or a runtime resource/dependency that is missing.","commonSituations":"Commonly encountered at vllm/distributed/eplb/eplb_communicator.py:721 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.","solutions":["Install/enable pynccl support, or select another EPLB communicator backend."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}