Back to Browse

SC20 UPC++ Tutorial - Part 7 (applications)

71 views
Dec 8, 2020
28:03

UPC++ Tutorial presented at the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC20) on Nov 10, 2020. The tutorial is segmented into seven videos, with breaks for working hands-on exercises and between major topics. Full tutorial playlist: https://www.youtube.com/playlist?list=PLnnjACv-CMkGSovWR0YOblOa2ryCoOaPR Tutorial exercises and materials: https://go.lbl.gov/sc20 For more training info on UPC++, please visit: https://upcxx.lbl.gov/training Presenters: Katherine A. Yelick Amir Kamil Dan Bonachea Paul H. Hargrove Abstract: UPC++ is a C++ library supporting Partitioned Global Address Space (PGAS) programming. The UPC++ API offers low-overhead one-sided Remote Memory Access (RMA) and Remote Procedure Calls (RPC), along with future/promise-based asynchrony to express dependencies between asynchronous computations and data movement. UPC++ supports simple, regular data structures as well as more elaborate distributed structures where communication is fine-grained, irregular, or both. UPC++'s support for aggressive asynchrony enables the application to overlap communication to reduce communication wait times, and the GASNet communication layer provides efficient low-overhead RMA/RPC on HPC networks. This tutorial introduces basic concepts and advanced optimization techniques of UPC++. We discuss the UPC++ memory and execution models and examine basic algorithm implementations. Participants gain hands-on experience incorporating UPC++ features into several application examples. We also examine three irregular applications (COVID-19 lung simulation, metagenomic assembler and multifrontal sparse solver) and describe how they leverage UPC++ features to optimize communication performance.

Download

0 formats

No download links available.

SC20 UPC++ Tutorial - Part 7 (applications) | NatokHD