  A modern graphics processing unit (GPU) is able to perform massively parallel
scientific computations at low cost. We extend our implementation of the
checkerboard algorithm for the two dimensional Ising model [T. Preis et al., J.
Comp. Phys. 228, 4468 (2009)] in order to overcome the memory limitations of a
single GPU which enables us to simulate significantly larger systems. Using
multi-spin coding techniques, we are able to accelerate simulations on a single
GPU by factors up to 35 compared to an optimized single Central Processor Unit
(CPU) core implementation which employs multi-spin coding. By combining the
Compute Unified Device Architecture (CUDA) with the Message Parsing Interface
(MPI) on the CPU level, a single Ising lattice can be updated by a cluster of
GPUs in parallel. For large systems, the computation time scales nearly
linearly with the number of GPUs used. As proof of concept we reproduce the
critical temperature of the 2D Ising model using finite size scaling
techniques.
