Multithreaded event-chain Monte Carlo with local times
Autor: | Werner Krauth, Anthony C. Maggs, Botao Li, Synge Todo |
---|---|
Přispěvatelé: | Laboratoire de Physique de l'ENS Lyon (Phys-ENS), École normale supérieure - Lyon (ENS Lyon)-Université Claude Bernard Lyon 1 (UCBL), Université de Lyon-Université de Lyon-Centre National de la Recherche Scientifique (CNRS), École normale supérieure - Lyon (ENS Lyon)-Centre National de la Recherche Scientifique (CNRS)-Université Claude Bernard Lyon 1 (UCBL), Université de Lyon-Université de Lyon, École normale supérieure de Lyon (ENS de Lyon)-Université Claude Bernard Lyon 1 (UCBL) |
Jazyk: | angličtina |
Rok vydání: | 2020 |
Předmět: |
Correctness
Computer science Monte Carlo method Hash function General Physics and Astronomy FOS: Physical sciences Parallel computing Condensed Matter - Soft Condensed Matter 01 natural sciences Birthday problem 010305 fluids & plasmas 0103 physical sciences [INFO]Computer Science [cs] [MATH]Mathematics [math] 010306 general physics Monte Carlo algorithm ComputingMilieux_MISCELLANEOUS computer.programming_language Markov chain Shell script Python (programming language) Computational Physics (physics.comp-ph) Hardware and Architecture Soft Condensed Matter (cond-mat.soft) computer Physics - Computational Physics |
Zdroj: | Computer Physics Communications Computer Physics Communications, Elsevier, 2020, pp.107702. ⟨10.1016/j.cpc.2020.107702⟩ Computer Physics Communications, 2020, pp.107702. ⟨10.1016/j.cpc.2020.107702⟩ |
ISSN: | 0010-4655 |
DOI: | 10.1016/j.cpc.2020.107702⟩ |
Popis: | 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. Comment: 24 pages, 7 figures |
Databáze: | OpenAIRE |
Externí odkaz: |