GPU Implementation of Lattice Boltzmann Method with Immersed Boundary: observations and results [Many-Core Series]

Alistair Revell
University Of Manchester
June 5, 2013 - 13:00 to 14:00
Oxford e-Reearch Centre Conference Room (278)

7 Keble Road
Oxford

  • Seminar
  • Open to all
  • Lunch provided

The Oxford e-Research Centre is pleased to welcome Alistair Revell from the University of Manchester on Wednesday 5th June from 1.00pm - 2.00pm 

Abstract

Recent work has led to the development of a fluid solver based on Lattice Boltzmann method, in which the dynamics of rigid and flexible objects are simulated using the Immersed Boundary method [1]. Inherent features of LB solvers are observed to lend themselves well to usage with IB methods. The boundary conditions of moving/deforming objects are imposed on the fluid lattice through an implementation of an IB method using the Reproducing Kernel Particle Method (RKPM). Singular forces are added to the momentum equations of the LBM solver, discretized on the lattice along the lines of [2]. First applications of the resulting implementation are presented with a view to demonstrate the potential of the method [3].

With a view to harness the natural high scalability of the LB method, we are also working on a GPU implementation of the LB and IB components, and have made some GPU-specific optimizations for both. A comparison between three methods of propagating components of the LBM distribution function is performed; one involving uncoalecsed accesses to DRAM, one which utilizes shared memory to remove some uncoalesced accesses and a third, new method involving memory-less intra-warp communication via the use of the shuffle instruction found in Kepler-based GPUs [4]. Results show that un-coalesced access to DRAM is the most efficient method of performing the propagation; the solver is benchmarked on K5000M and K20C GPUs, allowing over 800 Million Lattice Updates Per Second (MLUPS) to be performed. We will also discuss some work to visualise the results in real-time.

[1] J. Favier, A. Revell, A. Pinelli. A lattice boltzmann - immersed boundary method to simulate the fluid interaction with moving and slender flexible objects. HAL, hal(00822044), 2013.
[2] Z. Guo, C. Zheng. Discrete lattice effects on the forcing term in the lattice Boltzmann, Physical review letters E 65(4) 2002.
[3] A. Revell, J. Favier, A. Pinelli. Drag reduction on a cylinder with a layer of flexible filaments using a lattice Boltzmann solver. ERCOFTAC unsteady fluid-structure interaction 2013.
[4] M. Mawson, A. Revell. (in prep) Optimization of a D3Q19 lattice Boltzmann solver for Kepler GPUs.