Skip to Main Content
The efficiency and scalability of early efforts to parallelize molecular dynamics calculations on shared memory systems using OpenMP have been limited by attempts to avoid data race. More recent efforts produced better performance but involved significant revisions of the serial code. A new algorithm addressing the aforementioned limitations is described in this paper. The algorithm, which closely resembles the widely-used SPMD (Single Program Multiple Data) parallelization of molecular dynamics calculations for distributed memory systems. It utilizes spatial decomposition, where atoms are distributed to separate physical regions (subdomains), a thread handles calculations for each subdomain, and redundant calculations are performed only for atoms near the subdomain boundaries. The algorithm was tested on a multi-core server by simulating a physical nucleation problem. Results indicate that it has the same or better scalability than MPI implementation of LAMMPS for simulating a large system (>106 atoms) with 8 or more cores.