arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2004.11040physics.comp-phcond-mat.soft
收藏

带本地时间的多线程事件链Monte Carlo

Multithreaded event-chain Monte Carlo with local times

Botao Li, Synge Todo, A. C. Maggs, Werner Krauth

摘要:

我们提出了一个多线程事件链蒙特卡罗算法(ECMC)硬球。线程在不频繁的断点处同步,否则会扫描局部地平线违规。使用吸收马尔可夫链的映射,我们严格证明了小测试套件的顺序一致性实现的正确性。在x86和ARM处理器上,使用比较和交换原语进行数据访问的C++(OpenMP)实现相对于单线程代码实现了相当大的速度提升。广义的生日问题表明,对于线程的数量缩放为球体的数量的平方根,地平线违反概率保持在一个固定的模拟时间小。我们提供C++和Python开源代码,重现我们所有的结果。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑