A new code branch called “StochasticGW” has been developed as a result of collaboration between the Neuhauser, Rabani and other Center groups. The software relies on the stochastic formalism and allows the calculation of quasiparticle energies within the GW approach for large systems with many thousands of atoms. The newly released StochasticGW code contains the following highlighted feature set:
- The computational time scales linearly with the number of electrons. This is demonstrated on supercells of diamond and silicon with 10,978 valence electrons. The calculations for such large systems require less than 2,000 core-hours to reach a statistical error <0.05 eV on quasiparticle band-gaps.
- StochasticGW calculates the self-energy through a real time propagation technique combined with stochastic sampling of the Hilbert space. The frequency dependent self-energy is computed as a statistical average. Random vectors are used to represent the Green’s function, the screened Coulomb interaction and non-local operators.
- A new method, Fragmented-Stochastic Resolution of the Identity, is used to convert the TDDFT propagation results into the required time-ordered quantity, allowing the computation of large systems with thousands of atoms.
- StochasticGW comes with its own set of libraries; it was extensively tested on multiple computer clusters with both GCC, Intel and Lahey compilers. The parallel code has been tested on Cori Haswell and KNL nodes showing near perfect parallelization efficiency (>90%).
Some future directions for our codes in the next year will be on the development and release of GPU support targeting the Summit computer at Oak Ridge Lab, the optimization at scale of the multi-exciton methods developed in this Center, and the optimization and the release of a stochastic pseudobands generation tool at scale. The BerkeleyGW and StochasticGW applications will be brought together with common release schedules, file-formats and connected via a common application programming interface (API).