A-Z Index | Directory | Careers

Programming Models & Runtimes

At Berkeley Lab, we have a long track record of developing technologies and algorithms that enhance the performance, scalability, and energy efficiency of scientific applications running on the Department of Energy’s leading-edge high-performance computing systems (i.e. exascale supercomputers) and beyond. We are experts in designing, implementing, and optimizing parallel programming models, parallel language compilers, quantum compilers, operating systems, advanced communications libraries, optimized parallel run-time libraries, and more.

Projects

UPC++

UPC++ is a C++ library for HPC that supports Partitioned Global Address Space (PGAS) programming, and is designed to interoperate smoothly and efficiently with MPI, OpenMP, CUDA and AMTs. It leverages GASNet-EX to deliver low-overhead, fine-grained communication, including Remote Memory Access (RMA) and Remote Procedure Call (RPC).  Contact: Paul Hargrove (Hargrove on the Web)

Berkeley UPC

Unified Parallel C (UPC) is a PGAS extension of the C programming language designed for high performance computing on large-scale parallel machines. The language provides a uniform programming model for both shared and distributed memory hardware. Berkeley UPC is a portable, high-performance implementation of the UPC language using GASNet for communication. Contact: Paul Hargrove (Hargrove on the Web)

GASNet-EX

GASNet-EX is a language-independent, networking middleware layer that provides network-independent, high-performance communication primitives for High-Performance Computing (HPC). Unlike the dominant MPI communication standard, the GASNet-EX interface and implementation are designed specifically to meet the needs of alternative programming models on emerging exascale systems. GASNet-EX provides communication services for many local and external projects, including: UPC++, Legion, Chapel, Omni Xcalable, Devastator, Berkeley Container Library, and many UPC and CAF/Fortran compiler runtimes. Contact: Paul Hargrove (Hargrove on the Web)

BQSKit

The Berkeley Quantum Synthesis Toolkit (BQSKit) is a super optimizing quantum compiler and research vehicle that combines ideas from several projects at Berkeley Lab into an easily accessible and quickly extensible software suite. Contact: Costin Iancu (Iancu on the Web)

Bricks

As part of the ECP PROTEAS-TUNE Project, Berkeley Lab and University of Utah researchers have developed, extended, and deployed a library for hierarchical structured grid data layouts (BrickLib) and code generation to affect superior scalability and performance portability across multiple CPU and GPU architectures for computations on structured grids of arbitrary dimension. Contact: Samuel Williams (Williams on the Web)

LLVM Flang

Fortran 2018 contains numerous features that explicitly support parallel programming. These features include the ability to launch multiple images (copies of a program), to communicate data across images, to order segments of execution across images, to perform collective computations, and to operate atomically on data. The LLVM Flang Fortran compiler currently compiles Fortran 95, but it can parse Fortran 2018. Given the paramount importance of parallelism in exascale computing, our work focuses on writing unit tests for the Flang front-end to ensure support for the semantic constraints defined in the Fortran 2018 standard. Using agile software development’s test-driven development strategy, our semantics tests provide an extensive specification for what the Flang front-end must do to robustly and comprehensively support the Fortran standard. Contact: Damian Rouson (Rouson on the Web)

Caffeine

Caffeine (CoArray Fortran Framework of Efficient Interfaces to Network Environments) is a parallel runtime library that aims to support Fortran compilers with a programming-model-agnostic application binary interface (ABI) to various communication libraries. Current work is on supporting the ABI with the GASNet-EX or with POSIX processes. Future plans include support for an alternative MPI back end. Contact: Damian Rouson (Rouson on the Web)

Devastator: Scalable Parallel Discrete Event Simulator (PDES) Runtime

Devastator is a state-of-the-art, high-performance parallel discrete event simulation runtime implementing a variant of the Time Warp optimistic simulation protocol. Devastator features highly optimized message queues supporting distributed- and shared-memory parallelism for reduced communication and synchronization overheads. Contact: Cy Chan (Chan on the Web)

CSPACER

CSPACER is a lightweight communication runtime for application-specific optimized communication patterns. It is composed of two layers. The lowest layer is a sub-microsecond communication layer that implements the consistent space abstraction primitives. On top of this layer is a communication pattern layer that is used as integration skeletons with the application. Contact: Khaled Ibrahim (Ibrahim on the Web)

HEP-CCE/PPS

The High Energy Physics Center For Computational Excellence is a multi-lab DOE program devoted to addressing the development and implementation of HEP scientific applications on next-generation heterogeneous computing, storage, and networking systems. The Portable Parallelization Strategies group is evaluating portability APIs and languages such as Kokkos, SYCL, Alpaka and std::par in the context of HEP applications and workflows to enable physicists to write software once and be able to execute on all heterogeneous backend architectures. Contact: Charles Leggett (Leggett on the Web)

News

Mobiliti: A Game Changer for Analyzing Traffic Congestion

February 22, 2019

Berkeley Lab researchers have developed a software tool that uses supercomputing resources at the National Energy Research Scientific Computing Center to accurately simulate traffic flow throughout the San Francisco Bay Area road networks and provide estimates of the associated congestion, energy usage, and productivity loss. Read More »

Pagoda: Communication Software Libraries for Exascale Computing

April 5, 2018

Berkeley Lab's Scott Baden leads a project directed at providing lightweight communication and global address space support for exascale applications. The effort is known as the Pagoda project. ECP Communications spoke with Baden about the effort. Read More »

Code controls communication to boost computer performance

August 27, 2009

As high-performance computers bring more power to programmers, communication often limits an operation’s overall speed. Read More »

Berkeley Lab Amplifies Power and Usability of Quantum Computing

June 14, 2021

Strides in quantum computing software developed at Berkeley Lab are opening up new possibilities for scientific breakthroughs. Read More »

ECP Pagoda Project Rolls Out First Software Libraries

November 1, 2017

Just one year after the DOE's Exascale Computing Program began funding projects to prepare scientific applications for exascale supercomputers, the Pagoda Project has successfully reached a major milestone: making its open source software libraries publicly available as of September 30, 2017. Read More »