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).
Similar content being viewed by others
References
S.Succi, The Lattice Boltzmann Equation for Fluid Dynamics and Beyond (Oxford University Press, USA, 2001)
P.Bhatnagar, E.Gross, M.Krook, Phys. Rev. 94, 511 (1954)
D.d’Humieres, Phys. Engg. Sci. 360, 437 (2002)
A.Ladd, J. Fluid Mech. 271, 285 (1994)
M.Kopp, F.Höfling, Eur. Phys. J. Special Topics 210, 101 (2012)
P.Ahlrichs, B.Dünweg, Int. J. Mod. Phys. C 9, 1429 (1998)
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
W.Li, X.Wei, A.Kaufman, The Visual Computer 19, 444 (2003)
NVIDIA Corporation. Getting Started, NVIDIA CUDA Development Tools 3.2 Installation and Verification on Linux (2010)
NVIDIA Corporation. NVIDIA CUDA C Programming Guide Version 3.2 (2010)
J.Myre, S.Walsh, D.Lilja, M.Saar, Concurr. Comput.: Pract. Exper. 23, 332 (2011)
M.A.Safi, M.Ashrafizaadeh, A.A.Ashrafizaadeh, World Academy of Science, Eng. Technol. 73, 875 (2011)
C.Feichtinger, S.Donath, H.Köstler, J.Götz, U.Rüde, J. Comput. Sci. (2011)
H.J.Limbach, A.Arnold, B.A.Mann, C.Holm, Comp. Phys. Comm. 174, 704 (2006)
Y.Qian, D.d’Humieres, P.Lallemand, Europhys. Lett. 17, 479 (1992)
P.Lallemand, D.d’Humieres, L.Luo, R.Rubinstein, Phys. Rev. E 67 (2, Part 1) (2003), ISSN 1063-651X
R.Adhikari, K.Stratford, M.Cates, A.Wagner, Europhys. Lett. 71, 473 (2005)
B.Dünweg, U.Schiller, A.Ladd, Phys. Rev. E 76, 36704 (2007)
B.Dünweg, U.Schiller, A.Ladd, Comp. Phys. Commun. 180, 605 (2009)
P.Ahlrichs, B.Dünweg, J. Chem. Phys. 111, 8225 (1999)
U.Frisch, B.Hasslacher, Y.Pomeau, Phys. Rev. Lett 56, 1505 (1986)
MPI Consortium, The Message Passing Interface (MPI) Standard (2004), http://www.mcs.anl.gov/research/projects/mpi/Homepage
NVIDIA Corporation. NVIDIA CUDA Reference Manual Version 3.2 (2010)
R.W.Hockney, J.W.Eastwood, Computer Simulation Using Particles (IOP, London, 1988)
J.W.Eastwood, R.W.Hockney, D.N.Lawrence, Comp. Phys. Commun. 19, 215 (1980)
A.Arnold, J.de Joannis, C.Holm, J. Chem. Phys. 117, 2496 (2002)
A.Arnold, J.de Joannis, C.Holm, J. Chem. Phys. 117, 2503 (2002)
I.Pasichnyk, B.Dünweg, J. Phys.: Condens. Matter 16, 3999 (2004)
Author information
Authors and Affiliations
Corresponding authors
Rights 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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1140/epjst/e2012-01639-6