Skip to main content

Using distributed computing to equilibrate Monte Carlo simulations

Project Information

distributed-computing, mpi, quantum-mechanics
Project Status: Complete
Project Region: Northeast
Submitted By: Chris Herdman
Project Email: cherdman@middlebury.edu
Project Institution: Middlebury College
Anchor Institution: NE-University of Vermont

Mentors: Adrian Del Maestro
Students: Brendan Philbin

Project Description

Monte Carlo simulations often can take advantage of HPC hardware by using embarrassingly parallel workloads. However, these algorithms must first equilibrate from their initial state before useful statistical samples can be generated. In simulations of certain physical systems (especially those with "glassy" dynamics) this equilibration processes is one of the most computationally demanding parts of the calculation, yet cannot easily benefit from parallelization without communication between tasks. This project will involve implementing the "population annealing" method to speed up the equilibration process of a Monte Carlo code. The implementation of population annealing will use distributed computing techniques, in particular using MPI, to allow the equilibration process to take advantage of a large number of CPU cores in an HPC environment.

Project Information

distributed-computing, mpi, quantum-mechanics
Project Status: Complete
Project Region: Northeast
Submitted By: Chris Herdman
Project Email: cherdman@middlebury.edu
Project Institution: Middlebury College
Anchor Institution: NE-University of Vermont

Mentors: Adrian Del Maestro
Students: Brendan Philbin

Project Description

Monte Carlo simulations often can take advantage of HPC hardware by using embarrassingly parallel workloads. However, these algorithms must first equilibrate from their initial state before useful statistical samples can be generated. In simulations of certain physical systems (especially those with "glassy" dynamics) this equilibration processes is one of the most computationally demanding parts of the calculation, yet cannot easily benefit from parallelization without communication between tasks. This project will involve implementing the "population annealing" method to speed up the equilibration process of a Monte Carlo code. The implementation of population annealing will use distributed computing techniques, in particular using MPI, to allow the equilibration process to take advantage of a large number of CPU cores in an HPC environment.