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

Title: UPC++ v1.0 Programmer’s Guide, Revision 2023.3.0

Technical Report ·
DOI:https://doi.org/10.25344/S43591· OSTI ID:1963467

UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming. It is designed for writing efficient, scalable parallel programs on distributed-memory parallel computers. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). The UPC++ control model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. The PGAS memory model additionally provides one-sided RMA communication to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ also features Remote Procedure Call (RPC) communication, making it easy to move computation to operate on data that resides on remote processes. UPC++ was designed to support exascale high-performance computing, and the library interfaces and implementation are focused on maximizing scalability. In UPC++, all communication operations are syntactically explicit, which encourages programmers to consider the costs associated with communication and data movement. Moreover, all communication operations are asynchronous by default, encouraging programmers to seek opportunities for overlapping communication latencies with other useful work. UPC++ provides expressive and composable abstractions designed for efficiently managing aggressive use of asynchrony in programs. Together, these design principles are intended to enable programmers to write applications using UPC++ that perform well even on hundreds of thousands of cores.

Research Organization:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
DOE Contract Number:
AC02-05CH11231
OSTI ID:
1963467
Country of Publication:
United States
Language:
English

Similar Records

UPC++ v1.0 Programmer’s Guide, Revision 2022.9.0
Technical Report · Thu Sep 29 00:00:00 EDT 2022 · OSTI ID:1963467

UPC++ v1.0 Programmer’s Guide (Rev. 2023.9.0)
Technical Report · Thu Dec 14 00:00:00 EST 2023 · OSTI ID:1963467

UPC++ v1.0 Programmer’s Guide (Revision 2022.3.0)
Technical Report · Wed Mar 30 00:00:00 EDT 2022 · OSTI ID:1963467

Related Subjects