DOE OSTI · 1604742
UPC++ v1.0 Programmer’s Guide, Revision 2020.3.0
Abstract
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 constituent process 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 processes. 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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Bachan, John, Baden, Scott, Bonachea, Dan, Grossman, Max, Hargrove, Paul, Hofmeyr, Steven, Jacquelin, Mathias, Kamil, Amir, Van Straalen, B.. 2020-03-12. UPC++ v1.0 Programmer’s Guide, Revision 2020.3.0. https://doi.org/10.25344/s4p88z
Cite the original work for its findings. Save a collection to share your selection of sources.