{"id":5671,"library":"nvidia-nvshmem-cu13","title":"NVIDIA NVSHMEM (CUDA 13)","description":"nvidia-nvshmem-cu13 is a binary distribution package providing the NVIDIA NVSHMEM library, compiled specifically for CUDA Toolkit 13.x. NVSHMEM is a communication library that creates a global address space, enabling efficient and scalable data exchange across NVIDIA GPU clusters. This package itself does not contain Python-level bindings; instead, it serves as a foundational runtime dependency for other Python libraries (like `nvshmem-python`, Dask-CUDA, or CuPy) that utilize NVSHMEM's underlying C/C++ capabilities. The current version is 3.6.5.","status":"active","version":"3.6.5","language":"en","source_language":"en","source_url":"https://github.com/nvidia/nvshmem","tags":["HPC","GPU","CUDA","communication","shared memory","distributed computing"],"install":[{"cmd":"pip install nvidia-nvshmem-cu13","lang":"bash","label":"Install for CUDA 13"}],"dependencies":[],"imports":[{"note":"This package provides native NVSHMEM binaries for CUDA 13; it does not contain direct Python modules for import (`import nvidia-nvshmem-cu13` will fail). Python applications requiring NVSHMEM functionality typically use higher-level libraries (e.g., `nvshmem-python`, Dask-CUDA, CuPy) that link against these native libraries.","symbol":"No direct Python imports","correct":"N/A"}],"quickstart":{"code":"# This package (nvidia-nvshmem-cu13) provides native NVSHMEM binaries for CUDA 13.\n# It does not expose direct Python modules for import or direct usage.\n# Its role is to serve as a runtime dependency for other Python libraries\n# (e.g., nvshmem-python, Dask-CUDA, CuPy) that internally leverage NVSHMEM\n# for high-performance GPU-aware communication.\n\nprint(\"`nvidia-nvshmem-cu13` is installed as a system-level dependency.\")\nprint(\"Python applications will use other libraries (e.g., `nvshmem-python`)\")\nprint(\"that link against the NVSHMEM binaries provided by this package.\")\nprint(\"\\nTo truly 'use' NVSHMEM, you would typically write code using a library like `nvshmem-python`: \")\nprint(\"e.g., `pip install nvshmem-python` and then `import nvshmem; nvshmem.init()`\")\n\n# This quickstart does not include actual NVSHMEM operations because\n# this specific package does not provide a direct Python API.","lang":"python","description":"This quickstart clarifies that `nvidia-nvshmem-cu13` is a binary distribution and does not offer direct Python APIs. Its primary function is to satisfy the underlying native library dependency for other Python libraries that enable NVSHMEM functionality."},"warnings":[{"fix":"Do not attempt to directly import this package in Python. Install higher-level Python libraries (like `nvshmem-python`) to access NVSHMEM functionality via Python, ensuring this package is installed to provide the underlying native library.","message":"This `nvidia-nvshmem-cu13` package provides native NVSHMEM binaries for CUDA 13. It does NOT contain direct Python modules or APIs for import (e.g., `import nvidia-nvshmem-cu13` will fail). Its primary role is to act as a system-level runtime dependency for other Python libraries (e.g., `nvshmem-python`, Dask-CUDA, CuPy) that internally utilize NVSHMEM.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Verify your CUDA environment (`nvcc --version` or `nvidia-smi`) and ensure all related packages are compiled for the same CUDA major version (e.g., CUDA 13 for `nvidia-nvshmem-cu13`). If necessary, use a different `nvidia-nvshmem-cuXX` package corresponding to your CUDA version.","message":"CUDA Version Specificity: This package (`-cu13`) is built specifically for CUDA Toolkit 13.x. Ensure your system's CUDA installation and any other dependent libraries (e.g., PyTorch, TensorFlow, CuPy, Dask-CUDA) are compatible with CUDA 13.x. Mismatched CUDA versions can lead to runtime errors or crashes.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Set up a multi-GPU environment with a compatible MPI implementation (e.g., `mpiexec -n 2 python your_script.py`). Refer to NVSHMEM documentation for proper setup and execution of distributed applications.","message":"Requires MPI and Multi-GPU Environment: NVSHMEM is designed for high-performance communication across multiple GPUs, typically in a cluster environment. Meaningful usage often requires an MPI runtime (e.g., OpenMPI, MPICH) and multiple NVIDIA GPUs accessible to your application. Running NVSHMEM applications on a single GPU without MPI might still work but won't leverage its full potential and adds unnecessary complexity.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-09T00:00:00.000Z","next_check":"2026-07-08T00:00:00.000Z"}