High Performance Computational Chemistry : ( II ) A Scalable SCFProgramRobert

We discuss issues in developing scalable parallel algorithms and focus in particular on the distribution, as opposed to the replication, of key data structures. Replication of large data structures limits the maximum calculation size by imposing a low ratio of processors to memory. Only applications which distribute both data and computation across processors are truly scalable. The use of shared data structures that may be independently accessed by each process even in a distributed-memory environment greatly simpliies development and provides a signiicant performance enhancement. We describe tools we have developed to support this programming paradigm. These tools are used to develop a highly eecient and scalable algorithm to perform self-consistent eld calculations on molecular systems. A simple and classical strip-mining algorithm suuces to achieve an eecient and scalable Fock-matrix construction in which all matrices are fully distributed. By stripmining over atoms we also exploit all available sparsity and pave the way to adopting more sophisticated methods for summation of the Coulomb and exchange interactions.