Back to Browse

SC21 UPC++ Tutorial - Part 3 (programming)

193 views
Nov 15, 2021
22:49

UPC++ Tutorial presented at the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC21) on Nov 15, 2021. 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-CMkFCzxgag38VRVRjQKELRU49 Tutorial exercises and materials: https://go.lbl.gov/sc21 For more training info on UPC++, please visit: https://upcxx.lbl.gov/training Presenters: Katherine A. Yelick Amir Kamil Damian Rouson Dan Bonachea Paul H. Hargrove Abstract: UPC++ is a C++ library supporting Partitioned Global Address Space (PGAS) programming. UPC++ offers low-overhead one-sided Remote Memory Access (RMA) and Remote Procedure Calls (RPC), along with future/promise-based asynchrony to express dependencies between computation and asynchronous data movement. UPC++ supports simple/regular data structures as well as more elaborate distributed applications where communication is fine-grained and/or irregular. UPC++ provides a uniform abstraction for one-sided RMA between host and GPU/accelerator memories anywhere in the system. UPC++'s support for aggressive asynchrony enables applications to effectively overlap communication and reduce latency stalls, while the underlying GASNet-EX communication library delivers efficient low-overhead RMA/RPC on HPC networks. This tutorial introduces UPC++, covering the memory and execution models and basic algorithm implementations. Participants gain hands-on experience incorporating UPC++ features into application proxy examples. We examine a few UPC++ applications with irregular communication (metagenomic assembler and COVID-19 simulation) and describe how they utilize UPC++ to optimize communication performance.

Download

0 formats

No download links available.

SC21 UPC++ Tutorial - Part 3 (programming) | NatokHD