skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: The UPC++ PGAS library for exascale computing. Extended Abstract

Abstract

We describe UPC++ V1.0, a C++11 library that supports APGAS programming. UPC++ targets distributed data structures where communication is irregular or fine-grained. The key abstractions are global pointers, asynchronous programming via RPC, and futures. Global pointers incorporate ownership information useful in optimizing for locality. Futures capture data readiness state, are useful for scheduling and also enable the programmer to chain operations to execute asynchronously as high-latency dependencies become satisfied, via continuations. The interfaces for moving non-contiguous data and handling memories with different optimal access methods are composable and closely resemble those used in modern C++. Communication in UPC++ runs at close to hardware speeds by utilizing the low-overhead GASNet-EX communication library.

Authors:
; ; ; ; ; ; ;
Publication Date:
Research Org.:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Org.:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) (SC-21)
OSTI Identifier:
1456983
DOE Contract Number:
AC02-05CH11231
Resource Type:
Conference
Resource Relation:
Conference: 2. Annual PGAS Applications Workshop - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis, Denver, CO (United States), 12-17 Nov 2017
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Citation Formats

Bachan, John, Bonachea, Dan, Hargrove, Paul H., Hofmeyr, Steve, Jacquelin, Mathias, Kamil, Amir, van Straalen, Brian, and Baden, Scott B. The UPC++ PGAS library for exascale computing. Extended Abstract. United States: N. p., 2017. Web. doi:10.1145/3144779.3169108.
Bachan, John, Bonachea, Dan, Hargrove, Paul H., Hofmeyr, Steve, Jacquelin, Mathias, Kamil, Amir, van Straalen, Brian, & Baden, Scott B. The UPC++ PGAS library for exascale computing. Extended Abstract. United States. doi:10.1145/3144779.3169108.
Bachan, John, Bonachea, Dan, Hargrove, Paul H., Hofmeyr, Steve, Jacquelin, Mathias, Kamil, Amir, van Straalen, Brian, and Baden, Scott B. Sun . "The UPC++ PGAS library for exascale computing. Extended Abstract". United States. doi:10.1145/3144779.3169108. https://www.osti.gov/servlets/purl/1456983.
@article{osti_1456983,
title = {The UPC++ PGAS library for exascale computing. Extended Abstract},
author = {Bachan, John and Bonachea, Dan and Hargrove, Paul H. and Hofmeyr, Steve and Jacquelin, Mathias and Kamil, Amir and van Straalen, Brian and Baden, Scott B.},
abstractNote = {We describe UPC++ V1.0, a C++11 library that supports APGAS programming. UPC++ targets distributed data structures where communication is irregular or fine-grained. The key abstractions are global pointers, asynchronous programming via RPC, and futures. Global pointers incorporate ownership information useful in optimizing for locality. Futures capture data readiness state, are useful for scheduling and also enable the programmer to chain operations to execute asynchronously as high-latency dependencies become satisfied, via continuations. The interfaces for moving non-contiguous data and handling memories with different optimal access methods are composable and closely resemble those used in modern C++. Communication in UPC++ runs at close to hardware speeds by utilizing the low-overhead GASNet-EX communication library.},
doi = {10.1145/3144779.3169108},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Sun Nov 12 00:00:00 EST 2017},
month = {Sun Nov 12 00:00:00 EST 2017}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share: