Skip to content

NVIDIA/nvshmem

Repository files navigation

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 nvshmem@nvidia.com

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors