The Vectorization of the Tersoff Multi-body Potential: An Exercise in Performance Portability

Molecular dynamics simulations, an indispensable research tool in computational chemistry and materials science, consume a significant portion of the supercomputing cycles around the world. We focus on multi-body potentials and aim at achieving performance portability. Compared with well-studied pair potentials, multibody potentials deliver increased simulation accuracy but are too complex for effective compiler optimization. Because of this, achieving cross-platform performance remains an open question. By abstracting from target architecture and computing precision, we develop a vectorization scheme applicable to both CPUs and accelerators. We present results for the Tersoff potential within the molecular dynamics code LAMMPS on several architectures, demonstrating efficiency gains not only for computational kernels, but also for large-scale simulations. On a cluster of Intel Xeon Phi's, our optimized solver is between 3 and 5 times faster than the pure MPI reference.

[1]  Stephen A. Jarvis,et al.  Exploring SIMD for Molecular Dynamics , 2013 .

[2]  C. Brooks Computer simulation of liquids , 1989 .

[3]  Laxmikant V. Kalé,et al.  Scalable molecular dynamics with NAMD , 2005, J. Comput. Chem..

[4]  Hans-Joachim Bungartz,et al.  Supercomputing for Molecular Dynamics Simulations , 2015, SpringerBriefs in Computer Science.

[5]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[6]  Steven J. Plimpton,et al.  Optimizing legacy molecular dynamics software with directive-based offload , 2015, Comput. Phys. Commun..

[7]  Peng Wang,et al.  Implementing molecular dynamics on hybrid high performance computers - short range forces , 2011, Comput. Phys. Commun..

[8]  Peng Wang,et al.  Efficient GPU-accelerated molecular dynamics simulation of solid covalent crystals , 2013, Comput. Phys. Commun..

[9]  Hans-Joachim Bungartz,et al.  Supercomputing for Molecular Dynamics Simulations , 2015, SpringerBriefs in Computer Science.

[10]  Gunther Schaaf,et al.  IMD — A Massively Parallel Molecular Dynamics Package for Classical Simulations in Condensed Matter Physics , 2000 .

[11]  Berk Hess,et al.  GROMACS: High performance molecular simulations through multi-level parallelism from laptops to supercomputers , 2015 .

[12]  J. Tersoff,et al.  New empirical approach for the structure and energy of covalent systems. , 1988, Physical review. B, Condensed matter.

[13]  Steve Plimpton,et al.  Fast parallel algorithms for short-range molecular dynamics , 1993 .

[14]  Carsten Kutzner,et al.  Tackling Exascale Software Challenges in Molecular Dynamics Simulations with GROMACS , 2015, EASC.

[15]  Sadaf R. Alam,et al.  Towards microsecond biological molecular dynamics simulations on hybrid processors , 2010, 2010 International Conference on High Performance Computing & Simulation.

[16]  Wilfred F. van Gunsteren,et al.  A GPU solvent–solvent interaction calculation accelerator for biomolecular simulations using the GROMOS software , 2010, J. Comput. Chem..

[17]  A. Thompson,et al.  Computational aspects of many-body potentials , 2012 .

[18]  J. Roth,et al.  Recent Developments in IMD: Interactions for Covalent and Metallic Systems , 2001 .

[19]  D. van der Spoel,et al.  GROMACS: A message-passing parallel molecular dynamics implementation , 1995 .

[20]  Eduardo F. D'Azevedo,et al.  Developing MiniApps on Modern Platforms Using Multiple Programming Models , 2015, 2015 IEEE International Conference on Cluster Computing.

[21]  Miguel Fuentes-Cabrera,et al.  An Evaluation of Molecular Dynamics Performance on the Hybrid Cray XK6 Supercomputer , 2012, ICCS.

[22]  Ronald F. Boisvert,et al.  NIST Handbook of Mathematical Functions , 2010 .

[23]  C. J. Hughes,et al.  Exploring SIMD for Molecular Dynamics , Using Intel , 2013 .

[24]  Berk Hess,et al.  A flexible algorithm for calculating pair interactions on SIMD architectures , 2013, Comput. Phys. Commun..

[25]  W. Michael Brown,et al.  Implementing molecular dynamics on hybrid high performance computers - Three-body potentials , 2013, Comput. Phys. Commun..

[26]  Milind Girkar,et al.  Compiling C/C++ SIMD Extensions for Function and Loop Vectorizaion on Multicore-SIMD Processors , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[27]  Stephen A. Jarvis,et al.  Exploring SIMD for Molecular Dynamics, Using Intel® Xeon® Processors and Intel® Xeon Phi Coprocessors , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[28]  Ilian T. Todorov,et al.  A short description of DL_POLY , 2006 .

[29]  Dirk Schmidl,et al.  Assessing the Performance of OpenMP Programs on the Intel Xeon Phi , 2013, Euro-Par.

[30]  D. C. Rapaport,et al.  Enhanced molecular dynamics performance with a programmable graphics processor , 2009, Comput. Phys. Commun..

[31]  Zheyong Fan,et al.  Accelerated molecular dynamics force evaluation on graphics processing units for thermal conductivity calculations , 2012, Comput. Phys. Commun..

[32]  Joshua A. Anderson,et al.  General purpose molecular dynamics simulations fully implemented on graphics processing units , 2008, J. Comput. Phys..

[33]  Daniel Sunderland,et al.  Kokkos: Enabling manycore performance portability through polymorphic memory access patterns , 2014, J. Parallel Distributed Comput..

[34]  Stefan Becker,et al.  ls1 mardyn: The massively parallel molecular dynamics code for large systems , 2014, Journal of chemical theory and computation.