Li Todo Maggs Krauth 2020

From Werner KRAUTH

(Difference between revisions)
Jump to: navigation, search
Revision as of 09:49, 2 June 2021
Werner (Talk | contribs)

← Previous diff
Current revision
Werner (Talk | contribs)

Line 1: Line 1:
-'''B. Li, S. Todo, A. C. Maggs, W. Krauth''' '''''Multithreaded event-chain Monte Carlo with local times''''' ''' arXiv:2004.11040 (2020) to appear in Computer Physics Communications'''+'''B. Li, S. Todo, A. C. Maggs, W. Krauth''' '''''Multithreaded event-chain Monte Carlo with local times''''' '''Computer Physics Communications 261 107702 (2021)'''

Current revision

B. Li, S. Todo, A. C. Maggs, W. Krauth Multithreaded event-chain Monte Carlo with local times Computer Physics Communications 261 107702 (2021)


Abstract We present a multithreaded event-chain Monte Carlo algorithm (ECMC) for hard spheres. Threads synchronize at infrequent breakpoints and otherwise scan for local horizon violations. Using a mapping onto absorbing Markov chains, we rigorously prove the correctness of a sequential-consistency implementation for small test suites. On x86 and ARM processors, a C++ (OpenMP) implementation that uses compare-and-swap primitives for data access achieves considerable speed-up with respect to single-threaded code. The generalized birthday problem suggests that for the number of threads scaling as the square root of the number of spheres, the horizon-violation probability remains small for a fixed simulation time. We provide C++ and Python open-source code that reproduces all our results.

Electronic version (from arXiv)

DOI: 10.1016/j.cpc.2020.107702

Journal version (requires subscription)

https://github.com/jellyfysh/ParaSpheres GitHub repository from which the ParaSpheres programs described in the paper (in Python, Fortran, C++, and shell) may be forked, cloned, or simply copied.

Personal tools