ucxx-cu12
Python Bindings for the Unified Communication X library (UCX)
What it is and what it does
ucxx-cu12 is a Python interface to UCX, a low-latency communication library optimized for GPU clusters. It wraps the C++ UCX library to enable efficient point-to-point messaging between processes, with native support for CUDA device memory, managed memory, and asynchronous transfers. The package depends on libucxx-cu12 (the compiled C++ backend), cuda-core, numpy, nvidia-ml-py, and rmm-cu12 (RAPIDS memory manager for GPU buffers).
The library is designed for high-performance distributed computing scenarios where GPU-to-GPU communication is critical. It supports multiple memory types (host, CUDA device, managed, and async) and can be used in both synchronous (blocking) and asynchronous (event-driven) modes. The package is actively maintained and targets current Python versions (3.11+), making it suitable for modern GPU-accelerated applications that need low-latency inter-process or inter-node communication.
Use it for:
- Implement GPU-to-GPU communication in distributed deep learning frameworks without copying data to host memory.
- Build low-latency messaging systems between CUDA-enabled processes on the same or different nodes.
- Benchmark and optimize communication performance between GPUs using the included send/receive benchmark tools.
- Integrate UCX transport into custom distributed computing applications requiring fine-grained memory control.
- Test CUDA memory handling (device, managed, async) in multi-GPU environments with standardized communication patterns.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ucxx-cu12 provides Python bindings for the Unified Communication X (UCX) library, enabling efficient point-to-point communication with native support for CUDA memory types and GPU-to-GPU transfers.
Yes, if you are building GPU-accelerated distributed systems or need low-latency inter-GPU communication. The package is actively maintained, permissively licensed, and has no known vulnerabilities. Medium install friction is acceptable for its specialized use case. Not recommended for CPU-only or single-GPU workloads where simpler communication libraries suffice.
Install
ucxx-cu12 on PyPI
pip
pip install ucxx-cu12uv
uv add ucxx-cu12poetry
poetry add ucxx-cu12Installing ucxx-cu12
Before you install
Medium install friction due to compiled dependencies (libucxx-cu12, cuda-core, rmm-cu12) and platform-specific wheels. Active maintenance with recent releases; last commit 2026-08-14 and version 0.51.1 released 2026-08-13 suggest current development.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
Quickstart
pip install ucxx-cu12
import ucxx
import numpy as np
# Create a context for communication
ctx = ucxx.create_context()
# Use ctx for point-to-point communication with UCX
Requires CUDA 12.x runtime and compatible NVIDIA GPU; libucxx-cu12 and cuda-core must be available in the environment; Python >=3.11.
Verify before relying
- Whether the package provides synchronous and asynchronous APIs as described in benchmarks section, or if those are separate modules.
- Specific Python API surface and whether it exposes UCX connection establishment, send/receive, and memory management directly.
- Whether numpy and rmm-cu12 are optional or required at runtime for all use cases.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 5 — cuda-core, libucxx-cu12, numpy, nvidia-ml-py, rmm-cu12 |
| Maintenance | actively maintained — 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 176,649/month — #10,238 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ucxx_cu12-0.51.1-cp311-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; ucxx_cu12-0.51.1-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
distributed-ucxx-cu12Provides a high-performance UCX communication…
permissive · top 15,000 on PyPI
libucxx-cu12Provides Python bindings for UCX (Unified…
permissive · top 15,000 on PyPI
libucx-cu12Provides pre-built wheels of the UCX (Unified…
permissive · top 15,000 on PyPI
nvidia-cuda-cccl-cu12Provides NVIDIA's CUDA C++ Core Compute…
unclear · top 15,000 on PyPI
nixl-cu13NIXL provides Python bindings to accelerate…
permissive · top 15,000 on PyPI
nixl-cu12NIXL provides Python bindings to accelerate…
permissive · top 15,000 on PyPI
nccl4pynccl4py provides Python bindings to NVIDIA's…
permissive · top 15,000 on PyPI
nvidia-cuda-ccclProvides NVIDIA CUDA C++ Core Compute Libraries…
unclear · top 5,000 on PyPI
nvidia-nvshmem-cu12NVSHMEM provides a global address space for GPU…
unclear · top 5,000 on PyPI
rmm-cu12RMM provides a common interface for customizing…
permissive · top 15,000 on PyPI