Target group: Computer science students, employees at the department
Professional (academic) contact person is Associate Professor Phuong H. Ha.
Date: Thursday April 25th 2019, 09:00 (sharp)
Place: TEKNO 1.023Aud, Teknologibygget, Campus Tromsø
Title: The UPC++ Library for Exascale and Data Intensive Computing
Lecturer: Professor Scott Baden, Group Lead, Computer Languages and System Software Group, Computational Research Division, Lawrence Berkeley National Laboratory
UPC++ is a C++ library that supports high-performance computation via an asynchronous communication framework. UPC++ runs under the PGAS execution model and supports applications where communication is irregular, fine-grained, or both.
UPC++'s combination of low-overhead, one-sided communication, remote procedure call, and aggressive asynchrony is the key to delivering high performance with irregular applications and enabling improved programmer productivity. UPC++ futures enable the programmer to capture data readiness state. They may be composed and synchronized in bulk, expressing dependence-driven execution of aggregated operations without the need for explicit busy waiting. UPC++ has recently added RMA support for GPU memory, so that data may be moved transparently between memories with different optimal access methods. The feature, called memory kinds, is the basis for extending UPC++ to data intensive applications.
The UPC++ programmer can expect communication to run at close to hardware speeds, thanks to support from the GASNet-EX library, which and leverages low-overhead communication and access to special hardware support, e.g. RDMA.
I will present examples that demonstrate the elegance of UPC++'s abstractions together with performance results obtained on scalable systems.
Dr. Baden received his M.S and Ph.D. in Computer Science from UC Berkeley in 1982 and 1987. He is also Adjunct Professor in the Department of Computer Science and Engineering at UCSD, where he was a member of the regular faculty for 27 years. His research interests are in high performance and scientific computation: domain-specific translation, abstraction mechanisms, run times, and irregular problems.