The Pagoda Project researches and develops cutting-edge software for implementing high-performance applications and software infrastructure under the Partitioned Global Address Space (PGAS) model.
UPC++ is a C++ PGAS library that supports low-overhead, fine-grained communication, including Remote Memory Access (RMA) and Remote Procedure Call (RPC).
GASNet is a communication middleware library providing network-independent, high-performance Remote Memory Access and Active Messages.
It powers UPC, UPC++, Legion, Chapel, Fortran and other models.
Unified Parallel C (UPC)
UPC is a PGAS extension to C designed for high performance computing on large-scale parallel machines. The language provides a uniform programming model for shared and distributed memory hardware.
ExaBiome is developing exascale algorithms and software to assemble genome sequences. The MetaHipMer Genome Assembler uses UPC, UPC++ and GASNet to achieve robust scaling on modern supercomputers.
SIMCov is a parallel 3-D agent-based cellular-level model of COVID-19 viral progression in human lungs, written using UPC++.
Berkeley Container Library (BCL)
The Berkeley Container Library is a cross-platform C++ library of distributed data structures. It has backends for GASNet-EX, UPC++, MPI RMA and OpenSHMEM.
The Berkeley Quantum Synthesis Toolkit is a superoptimizing quantum compiler and research vehicle that combines ideas from several projects into an accessible and extensible software suite.
The Computer Languages & Systems Software (CLaSS) group researches, designs, and implements new libraries, features and optimizations supporting parallel programming models and their execution environments for leading-edge High Performance Computing (HPC) systems. Research topics include but are not limited to design, implementation and optimization of parallel programming models, compilers, operating systems, and advanced communication and run-time libraries. This builds on the group’s long history of leadership in this area with the development of the GASNet communication library, UPC programming language, UPC++ library, data-centric programming models, OS research, and the software stack for quantum computers.
The Pagoda software stack consists of a communication portability layer, GASNet, and productivity layers: UPC++ and Berkeley UPC.