- Main
UPC++ Programmer’s Guide, v1.0-2017.9
- Bachan, J;
- Baden, S;
- Bonachea, D;
- Hargrove, P;
- Hofmeyr, S;
- Ibrahim, K;
- Jacquelin, M;
- Kamil, A;
- van Straalen, B
Published Web Location
https://doi.org/10.2172/1398522Abstract
This document has been superseded by: UPC++ Programmer’s Guide, v1.0-2018.3.0 (LBNL-2001136) https://escholarship.org/uc/item/10g5t8jr UPC++ is a C++11 library that provides Asynchronous Partitioned Global Address Space (APGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The APGAS 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, APGAS 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.
Many UC-authored scholarly publications are freely available on this site because of the UC's open access policies. Let us know how this access is important for you.