Parallel Implementation of a Sequential Markov Chain in Monte Carlo Simulations of Physical Systems with Pairwise Interactions.
Szymon MigaczKajetan DutkaPrzemysław GumiennyMaciej MarchwianyDominik GrontWitold R RudnickiPublished in: Journal of chemical theory and computation (2019)
In molecular simulations performed by Markov Chain Monte Carlo (typically employing the Metropolis criterion), each state of a system is obtained by a small random modification of the previous state. Therefore, the process consists of an immense number of small, quick to calculate steps, which are inherently sequential and hence considered to be very hard to parallelise. Here, we present a novel protocol for efficient calculation of multiple sequential steps in parallel. To this end, we first precompute in parallel energy components of all states achievable in a sequence of steps. Then we select a single path through all achievable states, which is identical with the path obtained with the sequential algorithm. As an example, we carried out simulations of the TIP5P water model with the new protocol and compared results with those obtained using the standard Metropolis Monte Carlo scheme. The implementation on the Titan X (Pascal) graphic processor (GPU) architectures allows for a 30-fold speedup in comparison with a simulation on a single core of a multicore CPU. The protocol is general and not limited to the GPU; it can also be used on multicore CPU when the longest possible length of the single simulation is required.