Abstract
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 language | English (US) |
---|---|
Pages (from-to) | 5444 |
Journal | Journal of Open Source Software |
Volume | 8 |
Issue number | 87 |
DOIs | |
State | Published - Jul 19 2023 |
Bibliographical note
KAUST Repository Item: Exported on 2023-07-24Acknowledgements: The authors thank the KAUST Supercomputing Laboratory for their computing resources.