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

UPC++ v1.0 Programmer’s Guide, Revision 2021.9.0

Technical Report ·
DOI:https://doi.org/10.2172/1823253· OSTI ID:1823253

UPC++ is a C++ library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. PGAS additionally provides one-sided Remote Memory Access (RMA) 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. In UPC++, all communication operations are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all communication operations are asynchronous by default, to enable programmers to write code that scales well even on hundreds of thousands of cores.

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:
1823253
Report Number(s):
LBNL--2001424; ark:/13030/qt52k9h79s
Country of Publication:
United States
Language:
English

Similar Records

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

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

UPC++ v1.0 Programmer’s Guide, Revision 2023.3.0
Technical Report · Thu Mar 30 00:00:00 EDT 2023 · OSTI ID:1963467