Efficient parallel simulations of dynamic Ising spin systems
Journal of Computational Physics
Synchronous relaxation for parallel simulations with applications to circuit-switched networks
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Parallelization of a dynamic Monte Carlo algorithm: a partially rejection-free conservative approach
Journal of Computational Physics
Conservative Parallel Simulation of Continuous Time Markov Chains Using Uniformization
IEEE Transactions on Parallel and Distributed Systems
A Guide to Monte Carlo Simulations in Statistical Physics
A Guide to Monte Carlo Simulations in Statistical Physics
Error Analysis of Coarse-Graining for Stochastic Lattice Dynamics
SIAM Journal on Numerical Analysis
Synchronous parallel kinetic Monte Carlo for continuum diffusion-reaction systems
Journal of Computational Physics
Multibody Interactions in Coarse-Graining Schemes for Extended Systems
SIAM Journal on Scientific Computing
CUDA by Example: An Introduction to General-Purpose GPU Programming
CUDA by Example: An Introduction to General-Purpose GPU Programming
Multilevel coarse graining and nano-pattern discovery in many particle stochastic systems
Journal of Computational Physics
Massively parallel Monte Carlo for many-particle simulations on GPUs
Journal of Computational Physics
Hi-index | 31.46 |
We present a mathematical framework for constructing and analyzing parallel algorithms for lattice kinetic Monte Carlo (KMC) simulations. The resulting algorithms have the capacity to simulate a wide range of spatio-temporal scales in spatially distributed, non-equilibrium physiochemical processes with complex chemistry and transport micro-mechanisms. Rather than focusing on constructing exactly the stochastic trajectories, our approach relies on approximating the evolution of observables, such as density, coverage, correlations and so on. More specifically, we develop a spatial domain decomposition of the Markov operator (generator) that describes the evolution of all observables according to the kinetic Monte Carlo algorithm. This domain decomposition corresponds to a decomposition of the Markov generator into a hierarchy of operators and can be tailored to specific hierarchical parallel architectures such as multi-core processors or clusters of Graphical Processing Units (GPUs). Based on this operator decomposition, we formulate parallel Fractional step kinetic Monte Carlo algorithms by employing the Trotter Theorem and its randomized variants; these schemes, (a) are partially asynchronous on each fractional step time-window, and (b) are characterized by their communication schedule between processors. The proposed mathematical framework allows us to rigorously justify the numerical and statistical consistency of the proposed algorithms, showing the convergence of our approximating schemes to the original serial KMC. The approach also provides a systematic evaluation of different processor communicating schedules. We carry out a detailed benchmarking of the parallel KMC schemes using available exact solutions, for example, in Ising-type systems and we demonstrate the capabilities of the method to simulate complex spatially distributed reactions at very large scales on GPUs. Finally, we discuss work load balancing between processors and propose a re-balancing scheme based on probabilistic mass transport methods.