Skip to main content

NVSHMEM4Py

NVSHMEM4Py exposes NVSHMEM host, device, and on-stream interfaces to Python, with interoperability for CUDA Python, Numba, PyTorch, CuPy, and CuTe DSL.

Quick Start

Follow the NVSHMEM4Py installation guide to install the package matching the CUDA major version. This example requires two supported GPUs on one Linux node and mpi4py built for the active MPI installation.

From the repository root:

mpirun -np 2 python nvshmem4py/examples/hello.py

The output includes one line from each PE, in either order:

Hello from PE 0 of 2
Hello from PE 1 of 2

The example selects one GPU per local MPI rank and initializes NVSHMEM from MPI_COMM_WORLD. See the main NVSHMEM quick start for platform requirements and the launching guide for other launchers.

Building Wheels

Wheel targets are part of the NVSHMEM CMake build. See the NVSHMEM4Py CMake configuration for supported options and defaults. For example, to build a Python 3.12 wheel for CUDA 12:

cmake -S . -B build \
  -DNVSHMEM4PY_BUILD_ALL_WHEELS=OFF \
  -DNVSHMEM4PY_PYTHON_VERSIONS=3.12 \
  -DNVSHMEM4PY_CUDA_VERSIONS=12
cmake --build build --target build_nvshmem4py_wheel_cu12_3.12

The wheel is written to build/dist/ and can be installed as described in the NVSHMEM4Py installation guide.

Examples

The examples cover host, device, on-stream, and framework-interoperability workflows. See the main NVSHMEM README for additional documentation and project information.

Metadata

Release files for nvshmem4py-cu12 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for nvshmem4py-cu12 0.4.0
File
nvshmem4py_cu12-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.34+ x86-64 Details
nvshmem4py_cu12-0.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ ARM64, Linux glibc 2.17+ ARM64 Details
nvshmem4py_cu12-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.34+ x86-64 Details
nvshmem4py_cu12-0.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.34+ ARM64 Details
nvshmem4py_cu12-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.34+ x86-64 Details
nvshmem4py_cu12-0.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64, Linux glibc 2.17+ ARM64 Details
nvshmem4py_cu12-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.34+ x86-64 Details
nvshmem4py_cu12-0.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ ARM64, Linux glibc 2.17+ ARM64 Details

Total release size: 38.8 MB

Release files / nvshmem4py_cu12-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl

Download URL nvshmem4py_cu12-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl
Size 5.0 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
d9425852e3b970b7741cba5503928d2b9c49a62dc7e2a7edd78e86350a9d9df3
BLAKE2b-256 checksum
How to use checksums
0fc20eb50cf72aafbcd619cd48a55a1a3e3933907634d34e7b4a405d26446809
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nvshmem4py_cu12-0.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl

Download URL nvshmem4py_cu12-0.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl
Size 5.0 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
73a976f9b14091304618115a40ec4b93fa34f016f80570ef40f0ca805f9c2e75
BLAKE2b-256 checksum
How to use checksums
f9c91aad4eff5189d3e157ed900283da21d85eb66029950e58d60a2d2d937f92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nvshmem4py_cu12-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl

Download URL nvshmem4py_cu12-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl
Size 5.0 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
fa6e1f28fb62d8f7b4fc920a5d465ffcc09d4985c48e732b50bd757845d60369
BLAKE2b-256 checksum
How to use checksums
80279e1c5572b34f9181c9ac164459eb1562f1a2377fa069adb6463f7daed670
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nvshmem4py_cu12-0.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl

Download URL nvshmem4py_cu12-0.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl
Size 4.8 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
c7e0548cf71c2f28b92d94f3faa401e83fb025f58931d4b22f79af0cd470f50e
BLAKE2b-256 checksum
How to use checksums
14840a64bc13d4f5f3bd6700819ee852a7c12f99b0df67161a975827fb5f7183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nvshmem4py_cu12-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl

Download URL nvshmem4py_cu12-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl
Size 4.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
ad1b091babdbad1d4e4bdadad1281349a2db5073b7153b61b9e6636caa631638
BLAKE2b-256 checksum
How to use checksums
b2c0b9cadac860670c5057e1ada312ef4f12276b6c0811464b9a29d709419525
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nvshmem4py_cu12-0.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl

Download URL nvshmem4py_cu12-0.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl
Size 4.7 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
c5a95feec2229bac3951f44f3dbf58af9e1b0a45250919c7015d4a846d84256b
BLAKE2b-256 checksum
How to use checksums
5463cefffc39253525ea6e3e4997ea509d29ba035d4e49bb68c0f4e8197292f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nvshmem4py_cu12-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl

Download URL nvshmem4py_cu12-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl
Size 4.8 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
863cfd54131d7291bd84ef5fef34e6a7f2b36850d7177dc72e9e9cf0f7ba044f
BLAKE2b-256 checksum
How to use checksums
bbda8fd01b7e78323f16f2bf23e955d58104f67fbe439ad8fa1ecbb5914886cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / nvshmem4py_cu12-0.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl

Download URL nvshmem4py_cu12-0.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_34_aarch64.whl
Size 4.9 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
b284541518c2d4e9bf48d6ce4a6193ca862ee5d4f829718ebd27251d920f1791
BLAKE2b-256 checksum
How to use checksums
09993049d6ab09558f82324f423627c1c6b8aaf51ed17d140dcb4bd5b2bd83d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.4.0 This release

8 release files

0.3.1

8 release files

0.3.0

10 release files

0.2.2

10 release files

0.2.0

10 release files

0.1.3

10 release files

0.1.2

10 release files

0.1.1

8 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page