NVIDIA/nvshmem
C++
Captured source
source ↗NVIDIA/nvshmem
Description: NVIDIA NVSHMEM is a parallel programming interface for NVIDIA GPUs based on OpenSHMEM. NVSHMEM can significantly reduce multi-process communication and coordination overheads by allowing programmers to perform one-sided communication from within CUDA kernels and on CUDA streams.
Language: C++
License: Apache-2.0
Stars: 547
Forks: 84
Open issues: 42
Created: 2025-08-27T15:37:11Z
Pushed: 2026-06-11T03:29:56Z
Default branch: devel
Fork: no
Archived: no
README: NVSHMEM Overview ****************
NVSHMEM™ is a parallel programming interface based on OpenSHMEM that provides efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a global address space for data that spans the memory of multiple GPUs and can be accessed with fine-grained GPU-initiated operations, CPU-initiated operations, and operations on CUDA® streams.
Quick Links ****************
Please see the following public links for information on building and working wih NVSHMEM:
The maintainers of the NVSHMEM project can also be contacted by e-mail at nvshmem@nvidia.com
Contributions use a DCO sign-off flow rather than a CLA. See CONTRIBUTING.md.
Configuration file ******************
NVSHMEM options can be provided via a simple config file using KEY=VALUE syntax.
Config files are loaded in the following order (later files override earlier files):
/etc/nvshmem.conf~/.nvshmem.conf- The file pointed to by
NVSHMEM_CONF_FILE
If a key is present in any loaded config file, its value overrides the corresponding environment variable.
Example:
# Example /etc/nvshmem.conf file NVSHMEM_DEBUG=WARN # NVSHMEM_SOME_FLAG=1 # This line is a comment and would be ignored.