shmem4py brings the Partitioned Global Address Space (PGAS) programming model to Python by exposing the functionality of the OpenSHMEM Application Programming Interface (API) specification. The feature set includes one-sided communication, shared memory access, atomic memory operations, and collective operations. The Python implementation of shmem4py emphasizes using NumPy arrays, providing convenient access to the symmetric memory allocations central to OpenSHMEM’s programming model. Thanks to Python’s versatility and OpenSHMEM implementations’ focus on performance, shmem4py offers a seamless experience on a variety of hardware, from laptops to supercomputers, and for a wide range of applications and users. shmem4py API grounds in OpenSHMEM 1.5 specification; however, it also supports legacy 1.4 implementations.
Original languageEnglish (US)
Pages (from-to)5444
JournalJournal of Open Source Software
Issue number87
StatePublished - Jul 19 2023

Bibliographical note

KAUST Repository Item: Exported on 2023-07-24
Acknowledgements: The authors thank the KAUST Supercomputing Laboratory for their computing resources.


Dive into the research topics of 'shmem4py: OpenSHMEM for Python'. Together they form a unique fingerprint.

Cite this