The Exascale Computing Project has concluded. This site is retained for historical references.

STRUMPACK/SuperLU

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. The STRUMPACK/SuperLU project is delivering robust and scalable factorization-based algorithms that are indispensable building blocks for solving these numerically challenging problems.

Summary

Large systems of linear equations are key kernels in a variety of scientific projects. These are analogous to the systems of equations solved in basic algebra—two or three equations describing known relationships between various factors, with the same number of unknown variables that need to be resolved—but scaled up to millions, making them impossible to solve by hand and difficult to solve computationally.

Because scientific discoveries depend so heavily on these equations, many scientific computing applications require a method for solving them. Instead of reinventing the wheel for each specific use case, the Exascale Computing Project (ECP) invested in developing a set of products that can be reused and benefited from by many: the STRUctured Matrix PACKage (STRUMPACK) and Supernodal LU package (SuperLU). Together, STRUMPACK/SuperLU provide fast and efficient direct solving and preconditioning capabilities for large-scale, complicated sets of linear equations. Their methodologies enable vast memory savings compared to other similar software.

STRUMPACK/SuperLU act as building blocks within a larger, interconnected set of mathematical tools. As large computational problems are broken down into smaller pieces, STRUMPACK/SuperLU take care of a specialized portion. Other mathematical libraries then rely on these results to perform their own tasks.

STRUMPACK/SuperLU are open source and portable, and can be used with a variety of different central processing unit (CPU) and graphical processing unit (GPU—a type of accelerator that helps with computational efficiency) types, as well as on different operating systems. Their capabilities have been utilized by the fusion community, engineers, and more, overcoming limitations of other solvers. For example, SuperLU provided a key capability for fusion energy reactor design in plasma simulations, and STRUMPACK was used in MFEM, an ECP-developed library for solving partial differential equations—such as the very challenging three-dimensional Maxwell equations. The speed at which SuperLU and STRUMPACK solve these difficult problems can be further enhanced by up to a factor of three to ten, respectively, when GPUs are added. These critical functionalities and are expected to continue to be used well past ECP.

Technical Discussion

Scalable factorization-based methods are important components in solvers for ill-conditioned and indefinite systems of equations that arise in many exascale applications. The STRUMPACK/SuperLU project is producing robust and scalable factorization-based algorithms that can be used as direct solvers or preconditioners for linear systems of equations.

The team is delivering factorization-based sparse solvers that encompass two widely used algorithm variants: the supernodal SuperLU library and the multifrontal STRUMPACK library. The team is also adding scalable preconditioning functionality to the STRUMPACK library via hierarchical matrix algebra. Both libraries are applicable to a large variety of application domains. These scalable libraries are being enhanced to ensure that they will be performant on pre-exascale and exascale architectures.

Both SuperLU and STRUMPACK can be used as stand-alone solvers. More importantly, for ECP applications, critical subsolvers are being used in the higher level solver libraries, such as coarse grid solvers in a multigrid solver, subdomain solvers in a domain decomposition solver, block diagonal preconditioners in a Krylov iterative solver, or general approximate factorization preconditioners for an iterative solver.

Principal Investigator(s)

Sherry Li, Lawrence Berkeley National Laboratory

Collaborators

Lawrence Berkeley National Laboratory, Oak Ridge National Laboratory, Stevens Institute of Technology

National Nuclear Security Administration logo Exascale Computing Project logo small U.S. Department of Energy Office of Science logo