Toward a Unified GPU-Aware OpenSHMEM Specification
For HPC developers using PGAS models on GPU-accelerated systems, this work addresses the lack of portable GPU-aware semantics in OpenSHMEM, which currently limits code portability and ecosystem cohesion.
This paper proposes a lightweight, backward-compatible OpenSHMEM Auxiliary Specification for GPU-Aware Communication to unify GPU-enabled OpenSHMEM implementations across vendors, addressing the lack of portable semantics for accelerator architectures. The specification introduces a GPU-scoped memory space abstraction, capability queries, and well-defined semantics for remote operations, aiming to prevent fragmentation of the OpenSHMEM community.
Leadership-class HPC systems are now accelerator-centric, with GPUs providing most floating-point throughput and memory bandwidth. As next-generation systems increasingly integrate accelerators through high-speed memory fabrics and system interconnects, exposing larger tightly coupled device domains, \ac{PGAS} models such as OpenSHMEM provide a natural abstraction for expressing fine-grained remote memory operations across these devices. While OpenSHMEM 1.x offers a lean PGAS model for irregular communication, atomics, fine-grained synchronization, and collectives, its memory model lacks portable semantics for accelerator architectures. As a result, existing GPU-enabled OpenSHMEM implementations differ in memory management, capability discovery, and operation semantics, limiting portability and ecosystem cohesion. This risks fracturing the community that OpenSHMEM was originally created to unify. This paper proposes an OpenSHMEM Auxiliary Specification for GPU-Aware Communication, designed as a lightweight, backward-compatible extension to OpenSHMEM 1.x. The auxiliary specification introduces a minimal memory model extension via a GPU-scoped memory space abstraction, along with capability queries and well-defined semantics for using \acs{GPU}-attached buffers in RMA, atomic, synchronization, and collective operations. This is initially conceived through the lens of a host-initiated interface, although it provides a general set of semantics that also allow for optional device-initiated support. A central goal of this effort is to demonstrate that GPU-aware OpenSHMEM semantics can be specified and implemented across GPUs from multiple vendors, providing a practical and rapidly implementable step toward unification under a vendor-neutral specification while informing the design of future OpenSHMEM specifications.