What is NVSHMEM?
develNVSHMEM is an OpenSHMEM-based parallel programming interface designed for scalable NVIDIA GPU clusters. It provides a partitioned global address space (PGAS) across NVIDIA GPUs, enabling applications to perform one-sided transfers, atomics, signaling, synchronization, and collective operations.
NVSHMEM supports three primary interfaces:
- Host interface: For CPU-initiated communication.
- CUDA kernel interface: For GPU-initiated communication within kernels.
- CUDA stream interface: For stream-ordered communication.