We present and compare different approaches for using multiple Graphics Processing Units in the simulation of spin systems. As a benchmark we consider the time required to update a single spin of the 3D Heisenberg spin glass model, by using both the Over-relaxation and the Heat Bath algorithms. The results show that a suitable combination of techniques allows to hide almost completely the communication overhead by using the CPU as a communication co-processor of the GPU. Large scale simulations on clusters of GPUs can be efficiently carried out by following the same approach also for other applications where a clear cut exists between bulk and boundaries data.
M. Bernaschi, M. Fatica, G. Parisi and L. Parisi. Multi-GPU codes for spin systems simulations. Computer Physics Communications. Volume 183, Issue 7, Pages 1416–1421, 2012. [doi: 10.1016/j.cpc.2012.02.015]