OpenAtom is a massively parallel quantum chemistry application written in Charm++ for simulations on supercomputers. Its developmental version was called LeanCP. Many important problems in material science, chemistry, solid-state physics, and biophysics require a modeling approach based on fundamental quantum mechanical principles. A particular approach that has proved to be relatively efficient and useful is Car-Parrinello ab initio molecular dynamics (CPAIMD). It is widely used to study systems consisting of hundreds to thousands of atoms. CPAIMD computations involve a large number of interdependent phases with high communication overhead including multiple concurrent sparse 3D Fast Fourier Transforms (3D-FFTs), non-square matrix multiplies and few concurrent dense 3D-FFTs.
Parallelization of this approach beyond a few hundred processors is challenging, due to the complex dependencies among various subcomputations, which lead to complex communication optimization and load balancing problems. Using Charm++ and its concept of processor virtualization, the phases are discretized into a large number of virtual processors which are, in turn, mapped flexibly onto physical processors, thereby allowing significant interleaving of work. Interleaving is enhanced through both architecturally independent methods and network topology aware mapping techniques. OpenAtom has shown good scaling up to 20,480 processors of IBM's Blue Gene/L and 4,096 processors of Cray XT3.
OpenAtom is freely available for download at the OpenAtom webpage. Published papers can also be found at the website.