ELSI provides and enhances scalable, open-source software library solutions for electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. The ELSI infrastructure should also be useful for other challenging eigenvalue problems.
The eigensolvers and density matrix solvers supported in ELSI include:
- ELPA: The massively parallel dense eigensolver ELPA facilitates the solution of symmetric or Hermitian eigenproblems on high-performance computers. It features an efficient two-stage tridiagonalization method which is better suited for parallel computing than the conventional one-stage method.
- LAPACK: LAPACK provides routines for solving linear systems, least squares problems, eigenvalue problems, and singular value problems. In order to promote high efficiency on present-day computers, LAPACK routines are written to exploit BLAS, particularly level-3 BLAS, as much as possible. In ELSI, the tridiagonalization and the corresponding back-transformation routines in LAPACK are combined with the efficient divide-and-conquer tridiagonal solver in ELPA.
- ChASE is a modern and scalable library based on subspace iteration with polynomial acceleration to solve the exterior portion of dense Hermitian (symmetric) algebraic eigenvalue problems. Novel to ChASE is the computation of the spectral estimates that enter in the filter and an optimization of the polynomial degree that further reduces the necessary floating-point operations. When solving sequences of Hermitian eigenproblems (as for instance in DFT), ChASE greatly benefits from reusing the vectors solution of one problem to speedup the computation of the next. In this context ChASE outperforms direct solvers in many scenarios as long as the percentage of the extremal spectrum is not too large. The library ships with both shared-memory and distributed-memory implementations with the acceleration of GPUs, if available. ChASE includes two GPU builds: one with MPI + CUDA and a second one using exclusively NCCL.
- PEXSI: PEXSI is a Fermi operator expansion (FOE) based method which expands the density matrix in terms of a linear combination of a small number of rational functions (pole expansion). Evaluation of these rational functions exploits the sparsity of the Hamiltonian and overlap matrices using selected inversion to enable scaling to 100,000+ of MPI tasks for calculation of the electron density, energy, and forces in electronic structure calculations.
- NTPoly: NTPoly is a massively parallel library for computing the functions of sparse, symmetric matrices based on polynomial expansions. For sufficiently sparse matrices, most of the matrix functions can be computed in linear time. Distributed memory parallelization is based on a communication avoiding sparse matrix multiplication algorithm. Various density matrix purification algorithms that compute the density matrix as a function of the Hamiltonian matrix are implemented in NTPoly.
- EigenExa: The EigenExa library consists of two massively parallel implementations of direct, dense eigensolver. Its eigen_sx method features an efficient transformation from full to pentadiagonal matrix. Eigenvalues and eigenvectors of the pentadiagonal matrix are directly solved with a divide-and-conquer algorithm. This method is particularly efficient when a large part of the eigenspectrum is of interest.
- libOMM: The orbital minimization method (OMM) bypasses the explicit solution of the Kohn-Sham eigenproblem by efficient iterative algorithms that directly minimize an unconstrained energy functional using a set of auxiliary Wannier functions. The Wannier functions are defined on the occupied subspace of the system, reducing the size of the problem. The density matrix is then obtained directly, without calculating the Kohn-Sham orbitals.
- SLEPc-SIPs: SLEPc-SIPs is a parallel sparse eigensolver for real symmetric generalized eigenvalue problems. It implements a distributed spectrum slicing method and it is currently available through the SLEPc library built on top of the PETSc framework.
- BSEPACK: BSEPACK is a parallel ScaLAPACK-style library for solving the Bethe-Salpeter eigenvalue problem on distributed-memory high-performance computers.
- MAGMA: The MAGMA project aims to develop a dense linear algebra framework for heterogeneous architectures consisting of manycore and GPU systems. MAGMA incorporates the latest advances in synchronization-avoiding and communication-avoiding algorithms, and uses a hybridization methodology where algorithms are split into tasks of varying granularity and their execution scheduled over the available hardware components.
Other features available in the latest release of ELSI may be found on the Changelog page.
The design of ELSI focuses on portability from laptop-type computers all the way up to the most efficient massively parallel supercomputers and new architectures. Work is in progress to support additional solver libraries, providing electronic structure code developers and users with a flexible, customizable choice of solution for the central algebraic problems in large-scale electronic structure simulations.
ELSI is a Software Infrastructure for Sustained Innovation – Scientific Software Integration (SI2-SSI) software infrastructure project supported by the National Science Foundation (NSF) under award #1450280. Any opinions, findings, and conclusions or recommendations expressed here are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.