Software Technology

Mathematical Libraries

Extreme-Scale Scientific xSDK for ECP

Principal Investigators: Lois Curfman McInnes, lead, Argonne National Laboratory; Jim Demmel, University of California, Berkeley; Jack Dongarra, University of Tennessee, Knoxville; Xiaoye Li, Lawrence Berkeley National Laboratory; Keita Teranishi, Sandia National Laboratories; Carol Woodward, Lawrence Livermore National Laboratory (LLNL); Ulrike Meier Yang, LLNL

The xSDK4ECP project is creating a value-added aggregation of DOE math and scientific libraries in order to increase the combined usability, standardization, and interoperability of these libraries as needed by ECP. The project focuses on community development and a commitment to combined success via quality improvement policies, better build infrastructure, and the ability to use diverse, independently developed xSDK libraries in combination to solve large-scale multiphysics and multiscale problems.  We are extending draft xSDK package community policies and developing interoperability layers among numerical libraries in order to improve code quality, access, usability, interoperability, and sustainability. Focus areas are (1) coordinated use of on-node resources, (2) integrated execution (control inversion and adaptive execution strategies), and (3) coordinated and sustainable documentation, testing, packaging, and deployment.

xSDK4ECP is essential for ECP because it enables ECP apps such as ExaAM and ExaWind to seamlessly leverage the entire scientific libraries ecosystem.  For example, ExaWind has extremely challenging linear solver scaling problems.  xSDK4ECP provides access to all scalable linear solvers with minimal changes.  xSDK4ECP is also an essential element of the product release process for ECP ST.  xSDK4ECP provides an aggregate build and install capability for all ECP math libraries that supports hierarchical, modular installation of ECP software.  Finally, xSDK4ECP provides a forum for collaborative math library development, helping independent teams to accelerate adoption of best practices, enabling interoperability of independently developed libraries and improving developer productivity and sustainability of the ECP ST software product.