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 still open for the free one-day ECP/NERSC UPC++ tutorial, for people who wish to participate remotely. Registrations made after December 1 do not provide access to Cori for the hands-on component of the 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 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 so please register as soon as possible.