Skip to content

amazon-contributing/upstream-to-nvshmem

 
 

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:

Project Homepage

Release Notes

Installation Guide

Best Practice Guide

API Documentation

Devzone Topic Page

The maintainers of the NVSHMEM project can also be contacted by e-mail at [email protected]

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.

About

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.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 31.4%
  • Cuda 27.8%
  • Python 19.7%
  • C 10.2%
  • Cython 8.9%
  • CMake 2.0%