Supplemental Information:
Duane Johnson: "KKR (hybrid real- and k-space) order-N DFT code"
The KKR method uses Herglotz Green's functions (G(r; E) or G(k; E) matrices that are non-Hermitian). Utilizing the mathematical structure only, they hybrid method starts (for the large systems) with sparse, non-Hermitian that when inverted yield a Green's function that is dense, yet only the block diagonal parts are needed as they are related to density on each atomic site. Per energy E, there is almost no communication required, only an inversion, collect and sum over E contour to get total density. Per E, the inversion for N>400 atoms must be done iteratively. For large systems, k-space sums become less of an issue (no parallelization or simple one) because k-points are reduced with system size. So far, QMR (e.g. TF-QMR) works, but needed preconditioning and graph partitioning (e.g. via MeTiS) to work just sufficiently.
Preconditioning with iterative solve will be key for solution, including check pointing and load balancing, which may be accomplished in Charm++. We would also benefit, I believe, from the simulation for large cores/nodes that are in Charm++.
Based on math meeting last week, we will look into some other possible preconditioning for the sparse matrix inversion, such as that suggested by Michele Benzi, and our earlier attempts with Eric De Sturler using a GMRES type of approach. But, for implementation and control, we will have to see how well Charm++ does.
Code is based upon results in these two papers (and references therin). First paper is most relevant, and can be downloaded here: (http://web.mse.uiuc.edu/group/downloads/IACAT)
A.V. Smirnov and D.D. Johnson
"Efficiency and scaling of the screened Korringa-Kohn-Rostoker method for large-scale calculations," Comp. Phys. Comm. 148, 74-80(2002)
A.V. Smirnov and D.D. Johnson
"Accuracy and limitations of localized Green's functions methods for materials science applications," Phys. Rev. B 64, 2351 29-9 (2001).