Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

UPC++ v1.0 Specification, Revision 2021.9.0

Technical Report ·
DOI:https://doi.org/10.2172/1823256· OSTI ID:1823256
 [1];  [1]
  1. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.
Research Organization:
Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
DOE Contract Number:
AC02-05CH11231
OSTI ID:
1823256
Report Number(s):
LBNL--2001425; ark:/13030/qt9870n7th
Country of Publication:
United States
Language:
English

Similar Records

UPC++ v1.0 Specification (Revision 2022.3.0)
Technical Report · Thu Mar 31 00:00:00 EDT 2022 · OSTI ID:1856515

UPC++ v1.0 Specification, Revision 2022.9.0
Technical Report · Fri Sep 30 00:00:00 EDT 2022 · OSTI ID:1890997

UPC++ v1.0 Specification, Revision 2023.3.0
Technical Report · Thu Mar 31 00:00:00 EDT 2022 · OSTI ID:1963468