Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

ECP libraries and tools: An overview

Journal Article · · International Journal of High Performance Computing Applications
 [1];  [2];  [3];  [4];  [3];  [5];  [4];  [2];  [6];  [2];  [7];  [1]
  1. Sandia National Laboratories (SNL-NM), Albuquerque, NM (United States)
  2. Argonne National Laboratory (ANL), Argonne, IL (United States)
  3. Los Alamos National Laboratory (LANL), Los Alamos, NM (United States)
  4. Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
  5. Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
  6. Univ. of Oregon, Eugene, OR (United States)
  7. Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
The Exascale Computing Project (ECP) Software Technology and Co-Design teams addressed the growing complexities in high-performance computing (HPC) by developing scalable software libraries and tools that leverage exascale system capabilities. As we enter the exascale era, the need for reusable, optimized software solutions that can handle the unique challenges posed by these systems becomes increasingly important. The primary challenges the ECP teams faced were to create software libraries and tools that are performant on exascale architectures and portable and usable across diverse hardware platforms. Efforts addressed issues related to concurrent execution, memory management, and the integration of heterogeneous computing resources, such as GPUs from multiple vendors. The ECP’s strategy involved a structured development process encompassing the creation, optimization, and deployment of software in collaboration with industry, academia, and national laboratories. The project was organized into several technical areas: co-design of domain-specific suites with target applications, programming models and runtimes, development tools, mathematical libraries, data and visualization tools, and software ecosystem and delivery mechanisms. ECP has successfully developed a large portfolio of software libraries and tools that demonstrate significant improvements in performance and scalability on exascale systems. These products have been integrated into the Department of Energy’s computing facilities, supporting various scientific applications and ensuring robust performance across different hardware setups. ECP advancements in software development for exascale computing highlight the importance of a collaborative and adaptive approach to handling next-generation HPC systems complexities. The lessons learned emphasize the need for continuous engagement with end-users and vendors, and the importance of maintaining a balance between innovation and practical implementation. Future efforts will focus on ensuring scalability, keeping pace with rapid hardware advancements, and further enhancing the interoperability and usability of the software ecosystem. In conclusion, subsequent articles in this special issue provide in-depth discussions and case studies into specific library and tool efforts.
Research Organization:
Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA); USDOE Office of Science (SC)
Grant/Contract Number:
AC52-07NA27344
OSTI ID:
2530262
Report Number(s):
LLNL--JRNL-872481; 1110804
Journal Information:
International Journal of High Performance Computing Applications, Journal Name: International Journal of High Performance Computing Applications Journal Issue: 5 Vol. 38; ISSN 1094-3420
Publisher:
SAGECopyright Statement
Country of Publication:
United States
Language:
English

References (19)

How community software ecosystems can unlock the potential of exascale computing journal February 2021
Exascale applications: skin in the game
  • Alexander, Francis; Almgren, Ann; Bell, John
  • Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, Vol. 378, Issue 2166 https://doi.org/10.1098/rsta.2019.0056
journal January 2020
archspec: A library for detecting, labeling, and reasoning about microarchitectures conference November 2020
Why Johnny can't build journal September 2003
Exascale Computing in the United States journal January 2019
Performance Portability in the Exascale Computing Project: Exploration Through a Panel Series journal September 2021
Exascale Was Not Inevitable; Neither Is What Comes Next journal May 2023
Creating Continuous Integration Infrastructure for Software Development on U.S. Department of Energy High-Performance Computing Systems journal January 2024
A Cast of Thousands: How the IDEAS Productivity Project Has Advanced Software Productivity and Sustainability journal January 2024
Co-design for Particle Applications at Exascale journal April 2024
Scalable Delivery of Scalable Libraries and Tools: How ECP Delivered a Software Ecosystem for Exascale and Beyond journal January 2024
Then and Now: Improving Software Portability, Productivity, and 100× Performance journal January 2024
Providing a Flexible and Comprehensive Software Stack Via Spack, an Extreme-Scale Scientific Software Stack, and Software Development Kits journal January 2024
Deploying Optimized Scientific and Engineering Applications on Exascale Systems journal January 2024
EasyBuild: Building Software with Ease conference November 2012
The Spack package manager: bringing order to HPC software chaos
  • Gamblin, Todd; LeGendre, Matthew; Collette, Michael R.
  • Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis on - SC '15 https://doi.org/10.1145/2807591.2807623
conference January 2015
Co-design in the Exascale Computing Project journal November 2021
xSDK Foundations: Toward an Extreme-scale Scientific Software Development Kit journal March 2017
Potassco: The Potsdam Answer Set Solving Collection journal January 2011

Similar Records

Transforming Science Through Software: Improving While Delivering 100×
Journal Article · Mon Jul 15 20:00:00 EDT 2024 · Computing in Science and Engineering · OSTI ID:2499768

Providing a Flexible and Comprehensive Software Stack Via Spack, an Extreme-Scale Scientific Software Stack, and Software Development Kits
Journal Article · Mon Apr 29 20:00:00 EDT 2024 · Computing in Science and Engineering · OSTI ID:2449726

ECP Software Technology Capability Assessment Report V3.0
Technical Report · Wed Jun 01 00:00:00 EDT 2022 · OSTI ID:1888898