TY - GEN
T1 - Extending OpenMP and OpenSHMEM for Efficient Heterogeneous Computing
AU - Lu, Wenbin
AU - Tian, Shilei
AU - Curtis, Tony
AU - Chapman, Barbara
N1 - Publisher Copyright: © 2022 IEEE.
PY - 2022
Y1 - 2022
N2 - Heterogeneous supercomputing systems are becoming mainstream thanks to their powerful accelerators. However, the accelerators' special memory model and APIs increase the development complexity, and calls for innovative programming model designs. To address this issue, OpenMP has added target offloading for portable accelerator programming, and MPI allows transparent send-receive of accelerator memory buffers. Meanwhile, Partitioned Global Address Space (PGAS) languages like OpenSHMEM are falling behind for heterogeneous computing because their special memory models pose additional challenges.We propose language and runtime interoperability extensions for both OpenMP and OpenSHMEM to enable portable remote access on GPU buffers, with minimal amount of code changes. Our modified runtime systems work in coordination to manage accelerator memory, eliminating the need for staging communication buffers. Compared to the standard implementation, our extensions attain 6x point-to-point latency improvement, 1.3x better collective operation latency, 4.9x random access throughput, and up to 12.5% better performance in strong scaling configurations.
AB - Heterogeneous supercomputing systems are becoming mainstream thanks to their powerful accelerators. However, the accelerators' special memory model and APIs increase the development complexity, and calls for innovative programming model designs. To address this issue, OpenMP has added target offloading for portable accelerator programming, and MPI allows transparent send-receive of accelerator memory buffers. Meanwhile, Partitioned Global Address Space (PGAS) languages like OpenSHMEM are falling behind for heterogeneous computing because their special memory models pose additional challenges.We propose language and runtime interoperability extensions for both OpenMP and OpenSHMEM to enable portable remote access on GPU buffers, with minimal amount of code changes. Our modified runtime systems work in coordination to manage accelerator memory, eliminating the need for staging communication buffers. Compared to the standard implementation, our extensions attain 6x point-to-point latency improvement, 1.3x better collective operation latency, 4.9x random access throughput, and up to 12.5% better performance in strong scaling configurations.
KW - Heterogeneous Computing
KW - Hybrid Programming
KW - LLVM
KW - OpenMP
KW - OpenSHMEM
KW - UCX
UR - https://www.scopus.com/pages/publications/85147993637
U2 - 10.1109/PAW-ATM56565.2022.00006
DO - 10.1109/PAW-ATM56565.2022.00006
M3 - Conference contribution
T3 - Proceedings of PAW-ATM 2022: Parallel Applications Workshop, Alternatives to MPI+X, Held in conjunction with SC 2022: The International Conference for High Performance Computing, Networking, Storage and Analysis
SP - 1
EP - 12
BT - Proceedings of PAW-ATM 2022
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 5th Annual IEEE/ACM Parallel Applications Workshop, Alternatives to MPI+X, PAW-ATM 2022
Y2 - 13 November 2022 through 18 November 2022
ER -