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
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.
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.
conda install -c rapidsai -c conda-forge -c nvidia distributed-ucxx-cu12

Minimal example to start UCX communication using distributed-ucxx-cu12.

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())