Skip to main content
Log in

Lattice Boltzmann simulations on GPUs with ESPResSo

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

Abstract

For the dynamics of macromolecules in solution, hydrodynamic interactions mediated by the solvent molecules often play an important role, although one is not interested in the dynamics of the solvent itself. In computer simulations one can therefore save a large amount of computer time by replacing the solvent with a lattice fluid. The macromolecules are propagated by Molecular Dynamics (MD), while the fluid is governed by the fluctuating Lattice-Boltzmann (LB) equation. We present a fluctuating LB implementation for a single graphics card (GPU) coupled to a MD simulation running on conventional processors (CPUs). Particular emphasis lies on the optimization of the combined code. In our implementation, the LB update is performed in parallel with the force calculation on the CPU, which often completely hides the additional computational cost of the LB. Compared to our parallel LB implementation on a conventional quad-core CPU, the GPU LB is 50 times faster, and we show that a whole commodity cluster with Infiniband interconnnect cannot outperform a single GPU in strong scaling. The presented code is part of the open source simulation package ESPResSo (http://www.espressomd.org).

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. S.Succi, The Lattice Boltzmann Equation for Fluid Dynamics and Beyond (Oxford University Press, USA, 2001)

  2. P.Bhatnagar, E.Gross, M.Krook, Phys. Rev. 94, 511 (1954)

    Article  ADS  MATH  Google Scholar 

  3. D.d’Humieres, Phys. Engg. Sci. 360, 437 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  4. A.Ladd, J. Fluid Mech. 271, 285 (1994)

    Article  MathSciNet  ADS  MATH  Google Scholar 

  5. M.Kopp, F.Höfling, Eur. Phys. J. Special Topics 210, 101 (2012)

    Google Scholar 

  6. P.Ahlrichs, B.Dünweg, Int. J. Mod. Phys. C 9, 1429 (1998)

    Article  ADS  Google Scholar 

  7. B.Dünweg, A.J.C.Ladd, in Advanced Computer Simulation Approaches for Soft Matter Sciences III, vol. 221 of Advances in Polymer Science (Springer-Verlag Berlin, Berlin, Germany, 2009), p. 89

  8. W.Li, X.Wei, A.Kaufman, The Visual Computer 19, 444 (2003)

    Google Scholar 

  9. NVIDIA Corporation. Getting Started, NVIDIA CUDA Development Tools 3.2 Installation and Verification on Linux (2010)

  10. NVIDIA Corporation. NVIDIA CUDA C Programming Guide Version 3.2 (2010)

  11. J.Myre, S.Walsh, D.Lilja, M.Saar, Concurr. Comput.: Pract. Exper. 23, 332 (2011)

    Article  Google Scholar 

  12. M.A.Safi, M.Ashrafizaadeh, A.A.Ashrafizaadeh, World Academy of Science, Eng. Technol. 73, 875 (2011)

    Google Scholar 

  13. C.Feichtinger, S.Donath, H.Köstler, J.Götz, U.Rüde, J. Comput. Sci. (2011)

  14. H.J.Limbach, A.Arnold, B.A.Mann, C.Holm, Comp. Phys. Comm. 174, 704 (2006)

    Article  ADS  Google Scholar 

  15. Y.Qian, D.d’Humieres, P.Lallemand, Europhys. Lett. 17, 479 (1992)

    Article  ADS  MATH  Google Scholar 

  16. P.Lallemand, D.d’Humieres, L.Luo, R.Rubinstein, Phys. Rev. E 67 (2, Part 1) (2003), ISSN 1063-651X

  17. R.Adhikari, K.Stratford, M.Cates, A.Wagner, Europhys. Lett. 71, 473 (2005)

    Article  ADS  Google Scholar 

  18. B.Dünweg, U.Schiller, A.Ladd, Phys. Rev. E 76, 36704 (2007)

    Article  Google Scholar 

  19. B.Dünweg, U.Schiller, A.Ladd, Comp. Phys. Commun. 180, 605 (2009)

    Article  ADS  Google Scholar 

  20. P.Ahlrichs, B.Dünweg, J. Chem. Phys. 111, 8225 (1999)

    Article  ADS  Google Scholar 

  21. U.Frisch, B.Hasslacher, Y.Pomeau, Phys. Rev. Lett 56, 1505 (1986)

    Article  ADS  Google Scholar 

  22. MPI Consortium, The Message Passing Interface (MPI) Standard (2004), http://www.mcs.anl.gov/research/projects/mpi/Homepage

  23. NVIDIA Corporation. NVIDIA CUDA Reference Manual Version 3.2 (2010)

  24. R.W.Hockney, J.W.Eastwood, Computer Simulation Using Particles (IOP, London, 1988)

  25. J.W.Eastwood, R.W.Hockney, D.N.Lawrence, Comp. Phys. Commun. 19, 215 (1980)

    Article  ADS  Google Scholar 

  26. A.Arnold, J.de Joannis, C.Holm, J. Chem. Phys. 117, 2496 (2002)

    Article  ADS  Google Scholar 

  27. A.Arnold, J.de Joannis, C.Holm, J. Chem. Phys. 117, 2503 (2002)

    Article  ADS  Google Scholar 

  28. I.Pasichnyk, B.Dünweg, J. Phys.: Condens. Matter 16, 3999 (2004)

    Article  ADS  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to D. Roehm or A. Arnold.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Roehm, D., Arnold, A. Lattice Boltzmann simulations on GPUs with ESPResSo. Eur. Phys. J. Spec. Top. 210, 89–100 (2012). https://doi.org/10.1140/epjst/e2012-01639-6

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1140/epjst/e2012-01639-6

Keywords

Navigation