nvshmem4py-cu13
Python bindings for NVSHMEM
What it is and what it does
NVSHMEM4Py is a Python wrapper around NVIDIA's NVSHMEM library, which provides symmetric heap memory semantics for GPU-to-GPU communication. It allows Python developers to leverage NVSHMEM's collective operations and inter-GPU synchronization primitives without writing CUDA C/C++ code directly. The package depends on the CUDA runtime, nvidia-nvshmem-cu13 system library, cuda-python, numpy, and Cython, making it tightly coupled to NVIDIA's GPU ecosystem.
The package is actively maintained and follows NVIDIA's NVSHMEM SLA. It targets modern Python versions (3.9+) and provides prebuilt wheels for common Linux architectures. Installation requires both the CUDA 13 runtime and the underlying NVSHMEM library to be present on the system, which adds setup complexity but avoids runtime compilation for most users.
Use it for:
- Implementing multi-GPU collective algorithms (all-reduce, broadcast) without writing CUDA kernels.
- Building distributed GPU applications that need low-latency inter-GPU synchronization on a single node.
- Prototyping GPU communication patterns in Python before optimizing critical paths in CUDA.
- Integrating NVSHMEM operations into existing Python-based GPU frameworks or data-parallel workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python interface to NVSHMEM, enabling GPU-accelerated symmetric heap memory operations for inter-GPU communication on NVIDIA systems.
Yes, if you are developing multi-GPU applications on NVIDIA hardware and need inter-GPU communication primitives. The package is actively maintained, has no known vulnerabilities, and offers a Pythonic entry point to NVSHMEM. However, installation requires CUDA 13 and the nvidia-nvshmem-cu13 library to be pre-installed, and the unclear license status warrants verification before use in proprietary code.
Install
nvshmem4py-cu13 on PyPI
pip
pip install nvshmem4py-cu13uv
uv add nvshmem4py-cu13poetry
poetry add nvshmem4py-cu13Installing nvshmem4py-cu13
Before you install
Medium install friction: requires CUDA 13 runtime, nvidia-nvshmem-cu13 system library, and Cython compilation. Prebuilt wheels available for Python 3.10–3.13 on x86_64 and aarch64 Linux. Active maintenance with recent release.
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify licensing terms before use in proprietary or redistributed code.
Quickstart
pip install nvshmem4py-cu13
import nvshmem4py_cu13
# Use NVSHMEM operations via the Python interface
Requires NVIDIA CUDA 13 runtime, nvidia-nvshmem-cu13 library, and compatible GPU hardware; Linux x86_64 or aarch64 only.
Verify before relying
- Specific NVSHMEM API coverage and which operations are exposed through the Python interface.
- Whether this package is suitable for single-GPU or only multi-GPU workloads.
- Performance characteristics and typical use-case scale (e.g., node-local vs. multi-node).
- Compatibility with non-NVIDIA GPU frameworks or heterogeneous compute environments.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 6 — nvidia-nvshmem-cu13, cuda-python, cuda.core, cuda.pathfinder, numpy, Cython |
| Maintenance | actively maintained — 64 days since the last release |
| First released | |
| Downloads | 552,880/month — #6,040 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nvshmem4py_cu13-0.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl; nvshmem4py_cu13-0.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl; nvshmem4py_cu13-0.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl; nvshmem4py_cu13-0.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl; nvshmem4py_cu13-0.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl; nvshmem4py_cu13-0.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl; nvshmem4py_cu13-0.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl; nvshmem4py_cu13-0.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
nccl4pynccl4py provides Python bindings to NVIDIA's…
permissive · top 15,000 on PyPI
nvidia-nvshmem-cu12NVSHMEM provides a global address space for GPU…
unclear · top 5,000 on PyPI
nvidia-nvshmem-cu13NVSHMEM provides a global address space for GPU…
unclear · top 1,000 on PyPI
cuda-pythoncuda-python is a metapackage providing Pythonic…
unclear · top 5,000 on PyPI
pycudaPyCUDA provides Pythonic bindings to Nvidia's…
permissive · top 15,000 on PyPI
nvidia-nccl-cu13Provides NVIDIA's Collective Communication…
unclear · top 1,000 on PyPI
custatevec-cu13cuStateVec provides GPU-accelerated state…
unclear · top 15,000 on PyPI
nvidia-cublas-cu11Provides NVIDIA CUBLAS native runtime libraries…
unclear · top 5,000 on PyPI
nvidia-cusolver-cu11Provides NVIDIA CUDA solver native runtime…
unclear · top 5,000 on PyPI
nvidia-cusparse-cu12Provides NVIDIA CUSPARSE native runtime…
unclear · top 1,000 on PyPI