Extending the Strided Communication Interface in OpenSHMEM
OpenSHMEM is a library interface specification which has resulted from a unification effort among various vendors and users of SHMEM libraries. OpenSHMEM includes routines which aim to support a PGAS programming model, encompassing data management, one-sided communication, atomics, synchronization, collectives, and mutual exclusion. In the work described in this paper, we investigated the usage and performance of strided communication routines. Moreover, we propose and describe an implementation for new strided communication routines, shmem_iputmem and shmem_igetmem, which enable a more general means for expressing communications entailing data transfers for two-dimensional subarrays or for arrays of structures. We demonstrate the use of these routines on a halo exchange benchmark for which we achieved, on average, a 64.27 % improvement compared to the baseline implementation using non-strided communication routines and also 63.37 % improvement compared to the one using existing strided communication routines.
- Research Organization:
- Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States). Oak Ridge Leadership Computing Facility (OLCF)
- Sponsoring Organization:
- USDOE Office of Science (SC)
- OSTI ID:
- 1567381
- Journal Information:
- Lecture Notes in Computer Science, Vol. 9397
- Country of Publication:
- United States
- Language:
- English
Similar Records
OpenSHMEM Reference Implementation using UCCS-uGNI Transport Layer. In: PGAS '14 Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models, Article No. 18
Evaluating OpenSHMEM Explicit Remote Memory Access Operations and Merged Requests