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

UPC++ Programmer’s Guide, v1.0-2018.3.0

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

UPC++ is a C++11 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 thread of execution (referred to as a rank, a term borrowed from MPI) having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the ranks. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, 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) (SC-21); USDOE National Nuclear Security Administration (NNSA)
DOE Contract Number:
AC02-05CH11231
OSTI ID:
1430693
Country of Publication:
United States
Language:
English

Similar Records

UPC++ Programmer’s Guide (v1.0 2017.9)
Technical Report · Fri Sep 29 00:00:00 EDT 2017 · OSTI ID:1398522

UPC++ Programmer’s Guide, v1.0-2018.9.0
Technical Report · Wed Sep 26 00:00:00 EDT 2018 · OSTI ID:1477390

UPC++ Programmer’s Guide (v1.0-2019.3.0)
Technical Report · Tue Mar 12 00:00:00 EDT 2019 · OSTI ID:1503666

Related Subjects