版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:Landau Inst Theoret Phys Chernogolovka 142432 Russia Sci Ctr Chernogolovka Chernogolovka 142432 Russia Coventry Univ Appl Math Res Ctr Coventry CV1 5FB W Midlands England Safarik Univ Pk Angelinum 9 Kosice 04001 Slovakia Univ Leipzig Inst Theoret Phys Postfach 100920 D-04009 Leipzig Germany Natl Res Univ Higher Sch Econ Moscow 101000 Russia
出 版 物:《COMPUTER PHYSICS COMMUNICATIONS》 (计算机物理学通讯)
年 卷 期:2017年第220卷
页 面:341-350页
核心收录:
学科分类:08[工学] 0812[工学-计算机科学与技术(可授工学、理学学位)] 0702[理学-物理学]
基 金:Russian Science Foundation [14-21-00158] Scientific Grant Agency of the Ministry of Education of the Slovak Republic [1/0331/15] European Commission through the IRSES network DIONICOS [PIRSES-GA-2013-612707] Russian Science Foundation [17-21-00013] Funding Source: Russian Science Foundation
主 题:Population annealing Monte Carlo simulations Ising model Parallel computing Graphics processing units Multi-spin coding
摘 要: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://***/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 mu