Paul Hargrove

Name: Paul Hargrove
Pronouns: he/him/his

Biography:
Paul has been a PI at Lawrence Berkeley National Laboratory (LBNL) since September 2000. Current research focuses on network communications for HPC. His current software projects include UPC++, and Global Address Space Networking (GASNet-EX). UPC++ is a C++ library-based implementation of the Partitioned Global Address Space (PGAS) programming model which complements one-sided Remote Memory Access (RMA) with Remote Procedure Call (RPC). GASNet-EX provides an abstraction of a network interconnect suitable for implementation of PGAS libraries and languages such as UPC++, UPC, Chapel, Legion and Fortran08 coarrays (among others). GASNet is intended for use by PGAS library writers and as a compilation target. GASNet provides one-sided RMA transfers with a rich set of non-blocking primitives and Active Messages (AM). Paul is PI of the Pagoda project, funded by the US Department of Energy’s Exascale Computing Project (ECP), under which UPC++ and GASNet-EX are developed.

Institution/Lab: Lawrence Berkeley National Laboratory
Website: https://go.lbl.gov/paul-hargrove

SRP Collaboration Topic/Title: UPC++/GASNet for lightweight communication and global address space support

Field or research area: programming models, languages and libraries for high-performance computing

Please select all the topical areas that apply to your project:
Computer Science (i.e., architectures, compilers/languages, networks, workflow/edge, experiment automation, containers, neuromorphic computing, programming models, operating systems, sustainable software); High-Performance Computing

Brief Abstract:
Scientists use supercomputers to tackle some of the most challenging problems, ranging from biomedical simulations of COVID-19 spread in human lungs, to performing metagenome assembly based on environmental samples as a way to study climate change. The UPC++ library is used in both of these applications. We seek application and library developers to partner with our team, which develops parallel programming models such as UPC++ and GASNet-EX. These enable computational scientists across a broad range of disciplines to write high-performing, maintainable, parallel software for large-scale systems. If you are writing a parallel scientific application in C++, we would be glad to explore with you whether UPC++ could help with some of the more challenging aspects of your problem. UPC++ excels at handling applications and libraries that have challenging load balancing issues and irregular communication patterns. If your parallel program currently runs only in shared memory and you are interested in scaling up to larger, distributed-memory systems, we can help determine a path toward scalable performance on larger systems using UPC++.

Desired relevant skills, background, or interests:
Parallel programming in C++

Other comments:
Berkeley has beautiful weather, scenic views and surfing nearby. Additionally our group has been geographically distributed since before it was cool so we know how to collaborate remotely and productively. So, regardless of whether you elect to relocate to Berkeley or not, you’ll have a great experience.

Do any special requirements apply? Permanent Resident OK; International OK
Other, specify:

Keywords:
C++; programming models; remote procedure call; RPC; remote memory access; RMA

Lightning Talk Title: Pagoda: UPC++/GASNet for Lightweight Communication and Global Address Space Support