A new approach to the lattice Boltzmann method for graphics processing units

  • Authors:
  • Christian Obrecht;Frédéric Kuznik;Bernard Tourancheau;Jean-Jacques Roux

  • Affiliations:
  • Centre de Thermique de Lyon, UMR5008, CNRS, INSA-Lyon, Université de Lyon, France and Laboratoire de l'Informatique du Parallélisme, UMR 5668, CNRS, ENS de Lyon, INRIA, UCB Lyon 1, Franc ...;Centre de Thermique de Lyon, UMR5008, CNRS, INSA-Lyon, Université de Lyon, France;Laboratoire de l'Informatique du Parallélisme, UMR 5668, CNRS, ENS de Lyon, INRIA, UCB Lyon 1, France;Centre de Thermique de Lyon, UMR5008, CNRS, INSA-Lyon, Université de Lyon, France

  • Venue:
  • Computers & Mathematics with Applications
  • Year:
  • 2011

Quantified Score

Hi-index 0.09

Visualization

Abstract

Emerging many-core processors, like CUDA capable nVidia GPUs, are promising platforms for regular parallel algorithms such as the Lattice Boltzmann Method (LBM). Since the global memory for graphic devices shows high latency and LBM is data intensive, the memory access pattern is an important issue for achieving good performances. Whenever possible, global memory loads and stores should be coalescent and aligned, but the propagation phase in LBM can lead to frequent misaligned memory accesses. Most previous CUDA implementations of 3D LBM addressed this problem by using low latency on chip shared memory. Instead of this, our CUDA implementation of LBM follows carefully chosen data transfer schemes in global memory. For the 3D lid-driven cavity test case, we obtained up to 86% of the global memory maximal throughput on nVidia's GT200. We show that as a consequence highly efficient implementations of LBM on GPUs are possible, even for complex models.