Barzegar, A; Pattison, C; Wang, WL; Katzgraber, HG

Population annealing Monte Carlo is an efficient sequential algorithm for simulating k-local Boolean Hamiltonians. Because of its structure, the algorithm is inherently parallel and therefore well suited for largescale simulations of computationally hard problems. Here we present various ways of optimizing population annealing Monte Carlo using 2-local spin-glass Hamiltonians as a case study. We demonstrate how the algorithm can be optimized from an implementation, algorithmic accelerator, as well as scalable parallelization points of view. This makes population annealing Monte Carlo perfectly suited to study other frustrated problems such as pyrochlore lattices, constraint-satisfaction problems, as well as higher-order Hamiltonians commonly found in, e.g., topological color codes.