distributed-ucxx-cu12
raw JSON → 0.49.0 verified Fri May 01 auth: no python
UCX communication module for Dask Distributed, providing high-performance GPU-aware communication using UCX (Unified Communication X). This is the CUDA 12 variant of distributed-ucxx. Version 0.49.0 requires Python >=3.11 and CUDA 12.2+. Released as part of RAPIDS, with monthly release cadence.
pip install distributed-ucxx-cu12 Common errors
error ModuleNotFoundError: No module named 'distributed_ucxx' ↓
cause Tried to import 'distributed_ucxx' but package is not installed or wrong environment
fix
Install with 'pip install distributed-ucxx-cu12' and ensure you are using Python >=3.11.
error ImportError: libucp.so.0: cannot open shared object file: No such file or directory ↓
cause UCX system library not installed or not found in LD_LIBRARY_PATH
fix
Install UCX via conda: 'conda install -c conda-forge ucx' or use the RAPIDS conda environment.
error RuntimeError: CUDA version mismatch: expecting 12.2, got 12.1 ↓
cause Installed distributed-ucxx-cu12 requires CUDA 12.2+ but system has older CUDA
fix
Upgrade CUDA toolkit to 12.2+ or use a compatible version like distributed-ucxx-cu12==0.46.0.
Warnings
breaking v0.49.0 replaces numba-cuda runtime dependency with cuda-core. Existing code relying on numba types may break. ↓
fix Update imports and ensure cuda-core is installed. Remove direct numba-cuda dependency if not explicitly needed.
breaking v0.47.0 requires CUDA 12.2+. Older CUDA versions are no longer supported. ↓
fix Upgrade to CUDA 12.2 or later, or use an older version of distributed-ucxx-cu12 (e.g., 0.46.0).
gotcha The import path is `distributed_ucxx`, not `distributed-ucxx`. Hyphens are not valid in Python module names. ↓
fix Use `from distributed_ucxx import ...`
deprecated Some older APIs like `ucx_init` are deprecated in favor of `UCX.start()`. Check the documentation for updated patterns. ↓
fix Use the modern async context manager pattern.
Install
conda install -c rapidsai -c conda-forge -c nvidia distributed-ucxx-cu12 Imports
- UCX
from distributed_ucxx import UCX - ucx_create_endpoint
from distributed_ucxx import ucx_create_endpoint
Quickstart
from distributed_ucxx import UCX
import asyncio
async def main():
ucx = UCX()
await ucx.start()
print("UCX started successfully")
await ucx.close()
asyncio.run(main())