Routine applications of electronic structure theory to molecules and periodic systems need to compute the electron density from given Hamiltonian and, in case of non-orthogonal basis sets, overlap matrices. System sizes can range from few to thousands or, in some examples, millions of atoms. Different discretization schemes (basis sets) and different system geometries (finite non-periodic vs. infinite periodic boundary conditions) yield matrices with different structures. The ELectronic Structure Infrastructure (ELSI) project provides an open-source software interface to facilitate the implementation and optimal use of high-performance solver libraries covering cubic scaling eigensolvers, linear scaling density-matrix-based algorithms, and other reduced scaling methods in between. In this paper, we present recent improvements and developments inside ELSI, mainly covering (1) new solvers connected to the interface, (2) matrix layout and communication adapted for parallel calculations of periodic and/or spin-polarized systems, (3) routines for density matrix extrapolation in geometry optimization and molecular dynamics calculations, and (4) general utilities such as parallel matrix I/O and JSON output. The ELSI interface has been integrated into four electronic structure code projects (DFTB+, DGDFT, FHI-aims, SIESTA), allowing us to rigorously benchmark the performance of the solvers on an equal footing. Based on results of a systematic set of large-scale benchmarks performed with Kohn–Sham density-functional theory and density-functional tight-binding theory, we identify factors that strongly affect the efficiency of the solvers, and propose a decision layer that assists with the solver selection process. Finally, we describe a reverse communication interface encoding matrix-free iterative solver strategies that are amenable, e.g., for use with planewave basis sets. Program summaryProgram title: ELSI InterfaceCPC Library link to program files:http://dx.doi.org/10.17632/473mbbznrs.1Licensing provisions: BSD 3-clauseProgramming language: Fortran 2003, with interface to C/C++External routines/libraries: BLACS, BLAS, BSEPACK (optional), EigenExa (optional), ELPA, FortJSON, LAPACK, libOMM, MPI, MAGMA (optional), MUMPS (optional), NTPoly, ParMETIS (optional), PETSc (optional), PEXSI, PT-SCOTCH (optional), ScaLAPACK, SLEPc (optional), SuperLU_DISTNature of problem: Solving the electronic structure from given Hamiltonian and overlap matrices in electronic structure calculations.Solution method: ELSI provides a unified software interface to facilitate the use of various electronic structure solvers including cubic scaling dense eigensolvers, linear scaling density matrix methods, and other approaches.
Read full abstract