Lattice Boltzmann simulations on GPUs with ESPResSo
Institute for Computational Physics, University of Stuttgart, Pfaffenwaldring 27, 70569 Stuttgart, Germany
Revised: 25 June 2012
Published online: 6 September 2012
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).
© EDP Sciences, Springer-Verlag, 2012