(192bj) Development of the Parallel Monte Carlo Simulation Engine Gomc

Authors: 
Barhaghi, M., Wayne State University
Schwiebert, L., Wayne State University
Mick, J. R., Wayne State University
Nejahi, Y., Wayne State University
Li, Y., Wayne State University
Potoff, J. J., Wayne State University
The use of molecular simulation to study complex physical phenomena at the atomic level has grown exponentially over the last decade with increasing CPU power and the development of parallel molecular dynamics codes that scale efficiently over thousands of processors[1-6]. Molecular dynamics codes that utilize parallel computation on CPUs and GPUs are relatively well developed, however, there are a number of problems that cannot be simulated with this methodology. Problems that require the simulation of an open system, such as adsorption, require an alternative methodology that allows for fluctuation in the number of molecules in the system. For these types for problems, Monte Carlo is the method of choice.

GPU Optimized Monte Carlo (GOMC) is an object-oriented Monte Carlo simulation engine, capable of performing simulations in canonical, isobaric-isothermal, grand canonical ensembles, as well as Gibbs ensemble Monte Carlo. GOMC is designed for the simulation of complex molecular topologies, and supports a variety of potential functions, such as Lennard-Jones and Mie potentials. Coulomb interactions are supported via the Ewald summation method[7].

In this talk, the optimization of GOMC on multicore CPUs via OpenMP, and Graphics Processing Units (GPUs) via NVIDIA CUDA is discussed. Performance comparisons are presented for simulations in a variety of ensembles for different molecule types to illustrate the strengths and weaknesses of each architecture. In addition, a number of new code features are introduced, including fixed atoms (for the simulation of adsorption), calculation of the pressure tensor, anisotropic volume moves and improved file I/O. Use cases are presented for automated force field optimization, prediction of vapor-liquid and liquid-solid equilibria, and adsorption in porous materials.

References:

1. Phillips, J.C., R. Braun, W. Wang, J. Gumbart, E. Tajkhorshid, E. Villa, C. Chipot, R.D. Skeel, L. Kale, and K. Schulten, Scalable molecular dynamics with NAMD. Journal of Computational Chemistry, 2005. 26(16): p. 1781-1802.

2. Salomon-Ferrer, R., A.W. Gotz, D. Poole, S. Le Grand, and R.C. Walker, Routine Microsecond Molecular Dynamics Simulations with AMBER on GPUs. 2. Explicit Solvent Particle Mesh Ewald. Journal of Chemical Theory and Computation, 2013. 9(9): p. 3878-3888.

3. Anderson, J.A. and A. Travesset, Molecular Dynamics on Graphic Processing Units: Hoomd to the Rescue. Computing in Science & Engineering, 2008. 10(6): p. 8-.

4. Eastman, P., M.S. Friedrichs, J.D. Chodera, R.J. Radmer, C.M. Bruns, J.P. Ku, K.A. Beauchamp, T.J. Lane, L.P. Wang, D. Shukla, T. Tye, M. Houston, T. Stich, C. Klein, M.R. Shirts, and V.S. Pande, OpenMM 4: A Reusable, Extensible, Hardware Independent Library for High Performance Molecular Simulation. Journal of Chemical Theory and Computation, 2013. 9(1): p. 461-469.

5. Brown, W.M., P. Wang, S.J. Plimpton, and A.N. Tharrington, Implementing molecular dynamics on hybrid high performance computers - short range forces. Computer Physics Communications, 2011. 182(4): p. 898-911.

6. Plimpton, S., Fast Parallel Algorithms for Short-Range Molecular-Dynamics. Journal of Computational Physics, 1995. 117(1): p. 1-19.

7. Ewald, P.P., The calculation of optical and electrostatic grid potential. Annalen Der Physik, 1921. 64(3): p. 253-287.