Solving the Kohn-Sham equation, which arises in density functional theory, is a standard procedure to determine the electronic structure of atoms, molecules, and condensed matter systems. The solution of this nonlinear eigenproblem is used to predict the spatial and energetic distribution of electronic states. However, obtaining a solution for large systems is computationally intensive because the problem scales super-linearly with the number of atoms. Here we demonstrate a divide and conquer method that partitions the necessary eigenvalue spectrum into slices and computes each partial spectrum on an independent group of processors in parallel. We focus on the elements of the spectrum slicing method that are essential to its correctness and robustness such as the choice of filter polynomial, the stopping criterion for a vector iteration, and the detection of duplicate eigenpairs computed in adjacent spectral slices. Some of the more prominent aspects of developing an optimized implementation are discussed.
Bibliographical noteFunding Information:
We wish to acknowledge support from the National Science Foundation under grants Nos. DMR-0941645 and OCI-1047997 and from The Welch Foundation under grant No. F-1708 . This research used resources at the National Energy Research Scientific Computing Center (NERSC) and the Oak Ridge Leadership Computing Facility (OLCF), located in the National Center for Computational Sciences at Oak Ridge National Laboratory. Both NERSC and OLCF are supported by the Office of Science of the U.S. Department of Energy under Contracts Nos. DE-AC02-05CH11231 and DE-AC05-00OR22725 respectively. The National Science Foundation provided computational resources through TeraGrid at the Texas Advanced Computing Center (TACC) under grant No. TG-DMR090026 .
- Hermitian eigenproblem
- Kohn-Sham equation
- Polynomial filtering
- Sparse parallel eigensolver
- Spectrum slicing