High-Performance Physics Simulations Using Multi-Core CPUs and GPGPUs in a Volunteer Computing Context
Kamran Karimi, Neil G. Dickson, Firas Hamze

TL;DR
This paper explores two methods, multi-threading and CUDA, for parallelizing Parallel Tempering Monte Carlo simulations in volunteer computing environments, demonstrating scalable performance and adaptability to variable resources.
Contribution
It introduces and compares CPU multi-threading and GPGPU CUDA approaches for parallelizing Monte Carlo simulations in volunteer computing, addressing challenges and demonstrating scalability.
Findings
Both methods adapt well to volunteer computing constraints.
Performance improves with larger problem sizes.
CUDA approach shows promising scalability.
Abstract
This paper presents two conceptually simple methods for parallelizing a Parallel Tempering Monte Carlo simulation in a distributed volunteer computing context, where computers belonging to the general public are used. The first method uses conventional multi-threading. The second method uses CUDA, a graphics card computing system. Parallel Tempering is described, and challenges such as parallel random number generation and mapping of Monte Carlo chains to different threads are explained. While conventional multi-threading on CPUs is well-established, GPGPU programming techniques and technologies are still developing and present several challenges, such as the effective use of a relatively large number of threads. Having multiple chains in Parallel Tempering allows parallelization in a manner that is similar to the serial algorithm. Volunteer computing introduces important constraints to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
