Hostname: page-component-76d6cb85b7-rxvq6 Total loading time: 0 Render date: 2026-07-17T02:45:19.187Z Has data issue: false hasContentIssue false

Developing Extensible Lattice-Boltzmann Simulators for General-Purpose Graphics-Processing Units

Published online by Cambridge University Press:  03 June 2015

Stuart D. C. Walsh*
Affiliation:
Lawrence Livermore National Laboratory, Livermore, California, USA., †
Martin O. Saar*
Affiliation:
Department of Earth Sciences, University of Minnesota, Minneapolis, Minnesota, USA
*
Corresponding author.Email:walsh24@llnl.gov
Get access

Abstract

Lattice-Boltzmann methods are versatile numerical modeling techniques capable of reproducing a wide variety of fluid-mechanical behavior. These methods are well suited to parallel implementation, particularly on the single-instruction multiple data (SIMD) parallel processing environments found in computer graphics processing units (GPUs).

Although recent programming tools dramatically improve the ease with which GPUbased applications can be written, the programming environment still lacks the flexibility available to more traditional CPU programs. In particular, it may be difficult to develop modular and extensible programs that require variable on-device functionality with current GPU architectures.

This paper describes a process of automatic code generation that overcomes these difficulties for lattice-Boltzmann simulations. It details the development of GPU-based modules for an extensible lattice-Boltzmann simulation package – LBHydra. The performance of the automatically generated code is compared to equivalent purposewritten codes for both single-phase,multiphase, andmulticomponent flows. The flexibility of the new method is demonstrated by simulating a rising, dissolving droplet moving through a porous medium with user generated lattice-Boltzmann models and subroutines.

Information

Type
Research Article
Copyright
Copyright © Global Science Press Limited 2013

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable