ECP/NERSC UPC++ Tutorial

December 16, 2019 @ 9:00 am – 2:00 pm
Lawrence Berkeley National Laboratory, Shyh Wang Hall, Bldg 59, Room 59-3101
Ashley Barker

Registration is now open for the free one-day ECP/NERSC UPC++ tutorial.

This event is a repeat of the tutorial delivered on November 1, but with the restoration of the hands-on component which was omitted due to uncertainty surrounding the power outage at NERSC.

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. UPC++ provides mechanisms for low-overhead one-sided communication, moving computation to data through remote-procedure calls, and expressing dependencies between asynchronous computations and data movement. It is particularly well-suited for implementing elaborate distributed data structures where communication is irregular or fine-grained. The UPC++ interfaces are designed to be composable and similar to those used in conventional C++. The UPC++ programmer can expect communication to run at close to hardware speeds.

In this tutorial we will introduce basic concepts and advanced optimization techniques of UPC++. We will discuss the UPC++ memory and execution models and walk through implementing basic algorithms in UPC++. We will also discuss irregular applications and how to take advantage of UPC++ features to optimize their performance. The tutorial will include hands-on exercises with basic UPC++ constructs. Registrants will be given access to run their UPC++ exercises on NERSC’s Cori (currently the #14 fastest computer in the world).

This event can be attended on-site at NERSC or remotely via the free Zoom video-conferencing application. The remote connection information will be provided to the registrants closer to the event. Registration is required for this event and space is limited so please register as soon as possible. Registration closes for this event when the limit is reached or on December 1, 2019.