OpenAtom
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 many 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 multiple 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 262,144 cores of IBM Blue Gene/Q and 131,072 cores of Blue Waters, a Cray XE6/XK7 system at NCSA.
OpenAtom is freely available for download at the OpenAtom webpage. Published papers can also be found at the website.