Mathematical Libraries

High-performance scalable math libraries have enabled parallel execution of many applications for decades. Collaborative teams are providing the next generation of these libraries to address needs for latency hiding, improved vectorization, threading, and strong scaling. In addition, they are addressing new demands for system-wide scalability including improved support for coupled systems and ensemble calculations.

xSDK4ECP

Objective: Create a value- added aggregation of DOE math libraries to combine usability, standardization, and interoperability

The large number of software technologies being delivered to the application developers poses challenges, especially if the application needs to use more than one technology at the same time, such as using a linear solver from the PETSc/TAO mathematics library in conjunction with a time integrator from the SUNDIALS library. The xSDK project is an effort to create a value-added aggregation of mathematics and scientific libraries, to increase the combined usability.

Principal Investigators: Ulrike Yang, Lawrence Livermore National Laboratory

PETSc/TAO

Objective: Deliver efficient libraries for sparse linear and nonlinear systems of equations and numerical optimization

Many application codes rely on high-performance mathematical libraries to solve the systems of equations that must be solved during their simulation. Because the solvers often dominate the computation time of such simulations, these libraries must be effi cient and scalable on the up- coming complex exascale hardware architectures for the application codes to perform well.

Principal Investigators: Barry Smith, Argonne National Laboratory

STRUMPACK/SuperLU

Objective: Provide direct methods for linear systems of equations and Fourier transformations

Many simulation and data analysis codes need to solve sparse systems of equations. The high- fidelity simulations being solved by exascale application teams involve large-scale multiphysics and multiscale modeling problems that generate highly ill-conditioned and indefinite systems, for which iterative methods struggle.

Principal Investigators: Sherry Li, Lawrence Berkeley National Laboratory

SUNDIALS-hypre

Objective: Deliver adaptive time-stepping methods for dynamical systems and solvers

Time integrators are at the core of every time-dependent simulation application. In addition, many applications require the solution of linear algebraic systems of equations, whether through use of an implicit approach for integrating the time dependence or for solution of steady state systems. The SUNDIALS-hypre project is enhancing the SUNDIALS library of numerical software packages for integrating differential systems in time using state-of-the-art adaptive time step technologies.

Principal Investigators: Carol Woodward, Lawrence Livermore National Laboratory

CLOVER

Objective: Develop scalable, portable numerical algorithms to facilitate effi cient simulations.

Scientific applications need to apply effi cient and scalable implementations of numerical operations, such as matrix-vector products and Fourier transforms, in order to simulate their phenomena of interest. Software libraries are powerful means of sharing verified, optimized numerical algorithms and their implementations. The CLOVER project is delivering scalable, portable numerical algorithms to facilitate effi cient simulations.

Principal Investigators: Jack Dongarra, University of Tennessee – Knoxville

ALExa

Objective: Provide technologies for passing data among grids, computing surrogates, and accessing mathematical libraries from Fortran.

Many scientific applications are written in Fortran and need to access scalable algorithms for efficiency, need to pass data between different grids with different parallel distributions, or need reduced representations of high-dimensional data, for example, to optimize storage. The ALExa project is providing technologies to address these needs for exascale applications.

Principal Investigators: John Turner, Oak Ridge National Laboratory