A flexible Patch-based lattice Boltzmann parallelization approach for heterogeneous GPU-CPU clusters

  • Authors:
  • Christian Feichtinger;Johannes Habich;Harald KöStler;Georg Hager;Ulrich RüDe;Gerhard Wellein

  • Affiliations:
  • Chair for System Simulation, University of Erlangen-Nuremberg, Germany;Erlangen Regional Computing Center, University of Erlangen-Nuremberg, Germany;Chair for System Simulation, University of Erlangen-Nuremberg, Germany;Erlangen Regional Computing Center, University of Erlangen-Nuremberg, Germany;Chair for System Simulation, University of Erlangen-Nuremberg, Germany;Erlangen Regional Computing Center, University of Erlangen-Nuremberg, Germany

  • Venue:
  • Parallel Computing
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Sustaining a large fraction of single GPU performance in parallel computations is considered to be the major problem of GPU-based clusters. We address this issue in the context of a lattice Boltzmann flow solver that is integrated in the WaLBerla software framework. Our multi-GPU implementation uses a block-structured MPI parallelization and is suitable for load balancing and heterogeneous computations on CPUs and GPUs. The overhead required for multi-GPU simulations is discussed in detail. It is demonstrated that a large fraction of the kernel performance can be sustained for weak scaling on InfiniBand clusters, leading to excellent parallel efficiency. However, in strong scaling scenarios using multiple GPUs is much less efficient than running CPU-only simulations on IBM BG/P and x86-based clusters. Hence, a cost analysis must determine the best course of action for a particular simulation task and hardware configuration. Finally we present weak scaling results of heterogeneous simulations conducted on CPUs and GPUs simultaneously, using clusters equipped with varying node configurations.