The GW method, which can describe electronic excitations accurately, is a powerful ab initio electronic structure technique in molecular, condensed matter and materials physics. However, the applications of the GW method to large systems require supercomputers and efficient fine-grained parallel software to overcome the computational complexity and expense of the method which scales as O(N4). Here, we develop fine-grained parallel GW software for the plane-wave basis. We proceed by revisiting the standard GW formulae in order to discern the optimal approaches for each phase of the GW calculation on present day supercomputers and to take into account recent methodological advances to inform our choices. These best numerical practices are implemented in the OpenAtom software which is written on top of the Charm++ parallel framework. We then evaluate the performance of the new software for a wide range of system sizes. Our GW software shows significantly improved parallel scaling compared to publicly available GW software on the Mira and Blue Waters supercomputers, two of most powerful computing platforms in the world. Program summaryProgram title: OpenAtom-GWProgram files doi:http://dx.doi.org/10.17632/pvj723crcx.1Licensing provisions: BSD 3-clauseProgramming language: C++Nature of problem: The GW method describes electronic excitations in materials: the energetics and quantum wave behavior when electrons are added or removed from a material. The GW method scales as O(N4) where N is the number of atoms in the simulation cell. The input variables for GW method are single-particle electronic states computed from mean-field calculations such as Density Functional Theory (DFT). The GW method, which is a proper quasiparticle approach, provides corrections to the mean-field electronic state information that include physics beyond DFT to treat excitations. We employ a plane-wave basis set as is common in condensed matter and materials physics.Solution method: The first step is to construct the static polarizability matrix (P) which represents the response of the electronic density with respect to changes in the electronic potential, and whose construction is the most expensive part of a GW computation. The P matrix calculation requires a large dense spatial grid (real space) and has a double summation over filled and empty electronic states requiring outer product operations. A large number of Fast Fourier Transforms (FFTs) must also be performed. Next, the polarizability is employed to compute the self-energy which represents the dynamic potential acting upon moving electrons. We employ a real-space representation of static polarizability matrix because the real-space method reduces the number of FFTs and the size of the real-space grids compared to working solely in the Fourier (g-space) representation. Parallelization is carried out using the Charm++ parallel middleware which through overdecomposition and virtualization, supports and enables highly scalable fine-grained parallel applications.Additional comments including restrictions and unusual features: Users need to run a DFT calculation using, e.g., the Quantum Espresso software or OpenAtom itself, to obtain the input electronic states (i.e., single particle wavefunctions and energies). Since the OpenAtom-GW software is written on top of Charm++ parallel middleware, the user must install Charm++; however, Charm++ is an increasingly widely used framework in scientific computing and this requirement does not present a bottleneck to usage.
Read full abstract