UPC++: An Asynchronous RMA/RPC Library for Distributed C++ Applications

Help Desk

Hours: 9:00am-5:00pm CT M-F
Email: support@alcf.anl.gov

Video

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The UPC++ API offers low-overhead one-sided RMA communication and Remote Procedure Calls (RPC), along with futures and promises. These constructs enable the programmer to express dependencies between asynchronous computations and data movement. UPC++ supports the implementation of simple, regular data structures as well as more elaborate distributed data structures where communication is fine-grained, irregular, or both. The library’s support for asynchrony enables the application to aggressively overlap and schedule communication and computation to reduce wait times.

Presenter
Amir Kamil, University of Michigan and Lawrence Berkeley National Laboratory