Skip to main content
Log in

An introduction to multi-GPU programming for physicists

  • Review
  • Published:
The European Physical Journal Special Topics Aims and scope Submit manuscript

Abstract

We present and compare different approaches for using multiple Graphics Processing Units in the simulation of physical systems. As benchmarks 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, and the solution of a Poisson equation by using a finite-difference method. The results show that a suitable combination of techniques allows to hide almost completely the communication overhead by using the CPU as a communication coprocessor of the GPU. Large scale simulations on clusters of GPUs can be efficiently carried out by following the same approach for other applications where a clear cut exists between bulk and boundaries data.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. M.Bernaschi, G.Parisi, L.Parisi, Comput. Phys. Comm. 182, 6 (2011)

    Article  Google Scholar 

  2. S.Adler, Phys. Rev. D 23, 2901 (1981)

    Article  ADS  Google Scholar 

  3. T.Preis, P.Virnau, W.Paul, J.Schneider, J. Comput. Phys. 228, 4468 (2009)

    Article  ADS  MATH  Google Scholar 

  4. M.Weigel, Comput. Phys. Commun. 182, 1833 (2011)

    Article  ADS  Google Scholar 

  5. NVIDIA CUDA Compute Unified Device Architecture Programming Guide http://www.nvidia.com/cuda

  6. I.Campos, M.Cotallo-Aban, V.Martin-Mayor, S.Perez-Gavir, A.Tarancon, Phys. Rev. Lett. 97, 217204 (2006)

    Article  ADS  Google Scholar 

  7. The Riken Himeno CFD Benchmark: http://accc.riken.jp/HPC/HimenoBMT/index_e.html

  8. http://mvapich.cse.ohio-state.edu/overview/mvapich2/

  9. http://www.open-mpi.org/faq/?category=building#build-cuda

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. Bernaschi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bernaschi, M., Bisson, M., Fatica, M. et al. An introduction to multi-GPU programming for physicists. Eur. Phys. J. Spec. Top. 210, 17–31 (2012). https://doi.org/10.1140/epjst/e2012-01635-x

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1140/epjst/e2012-01635-x

Keywords

Navigation