arrow
返回

GPU accelerated population annealing algorithm

delete2017-11-01
delete39
delete
OA
AI
L
Lev Barash
M
Martin Weigel *
M
M. Borovský
W
Wolfhard Janke
L
Lev Shchur
DOI:10.1016/j.cpc.2017.06.020delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Population annealing is a promising recent approach for Monte Carlo simulations in statistical physics, in particular for the simulation of systems with complex free-energy landscapes. It is a hybrid method, combining importance sampling through Markov chains with elements of sequential Monte Carlo in the form of population control. While it appears to provide algorithmic capabilities for the simulation of such systems that are roughly comparable to those of more established approaches such as parallel tempering, it is intrinsically much more suitable for massively parallel computing. Here, we tap into this structural advantage and present a highly optimized implementation of the population annealing algorithm on GPUs that promises speed-ups of several orders of magnitude as compared to a serial implementation on CPUs. While the sample code is for simulations of the 2D ferromagnetic Ising model, it should be easily adapted for simulations of other spin models, including disordered systems. Our code includes implementations of some advanced algorithmic features that have only recently been suggested, namely the automatic adaptation of temperature steps and a multi-histogram analysis of the data at different temperatures. Program summary Program Title: PAIsing Program Files doi: http://dx.doi.org/10.17632/sgzt4b7b3m.1 Licensing provisions: Creative Commons Attribution license (CC BY 4.0) Programming language: C, CUDA External routines/libraries: NVIDIA CUDA Toolkit 6.5 or newer Nature of problem: The program calculates the internal energy, specific heat, several magnetization moments, entropy and free energy of the 2D Ising model on square lattices of edge length L with periodic boundary conditions as a function of inverse temperature beta. Solution method: The code uses population annealing, a hybrid method combining Markov chain updates with population control. The code is implemented for NVIDIA GPUs using the CUDA language and employs advanced techniques such as multi-spin coding, adaptive temperature steps and multi-histogram reweighting. Additional comments: Code repository at https://github.com/LevBarash/PAising. The system size and size of the population of replicas are limited depending on the memory of the GPU device used. For the default parameter values used in the sample programs, L = 64, theta = 100, beta(0) = 0, beta(f) = 1, Delta beta = 0.005, R = 20 000, a typical run time on an NVIDIA Tesla K80 GPU is 151 seconds for the single spin coded (SSC) and 17 seconds for the multi-spin coded (MSC) program (see Section 2 for a description of these parameters). (C ) 2017 Elsevier B.V. All rights reserved.
Keyword:
Population annealing
Monte Carlo simulations
Ising model
Parallel computing
Graphics processing units
Multi-spin coding
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Computer Physics Communications 封面图
Computer Physics Communications
IF:
3.4
论文数:
1.2W
被引数:
3.7W

机构

U
university of pavol jozef safarik kosice
学者数:
3.2K
论文数: 2.3K
被引数: 1
S
science center in chernogolovka ras
学者数:
55
论文数: 29
被引数: 0
R
russian academy of sciences
学者数:
9.1W
论文数: 6.0W
被引数: 60
Landau Institute for Theoretical Physics 封面图
Landau Institute for Theoretical Physics
学者数:
128
论文数: 115
被引数: 173
学者 查看更多机构
引用论文

引用论文

Massively parallelized replica-exchange simulations of polymers on GPUs
err2011-08-01
err14
errOAAI
errGross, Jonathan; Janke, Wolfhard; Bachmann, Michael
err分享
err收藏
err分享
err收藏
学者 查看更多内容