Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method
From MaRDI portal
Abstract: We present Sailfish, an open source fluid simulation package implementing the lattice Boltzmann method (LBM) on modern Graphics Processing Units (GPUs) using CUDA/OpenCL. We take a novel approach to GPU code implementation and use run-time code generation techniques and a high level programming language (Python) to achieve state of the art performance, while allowing easy experimentation with different LBM models and tuning for various types of hardware. We discuss the general design principles of the code, scaling to multiple GPUs in a distributed environment, as well as the GPU implementation and optimization of many different LBM models, both single component (BGK, MRT, ELBM) and multicomponent (Shan-Chen, free energy). The paper also presents results of performance benchmarks spanning the last three NVIDIA GPU generations (Tesla, Fermi, Kepler), which we hope will be useful for researchers working with this type of hardware and similar codes.
Recommendations
- Developing extensible lattice-Boltzmann simulators for general-purpose graphics-processing units
- A modular lattice Boltzmann solver for GPU computing
- Multi-GPU implementation of the lattice Boltzmann method
- A new approach to the lattice Boltzmann method for graphics processing units
- LBM based flow simulation using GPU computing processor
Cites work
- A Model for Collision Processes in Gases. I. Small Amplitude Processes in Charged and Neutral One-Component Systems
- A new approach to the lattice Boltzmann method for graphics processing units
- Accelerating numerical solution of stochastic differential equations with CUDA
- Accurate three-dimensional lid-driven cavity flow
- Consistent initial conditions for lattice Boltzmann simulations
- DNS and LES of decaying isotropic turbulence with and without frame rotation using lattice Boltzmann method
- Discrete lattice effects on the forcing term in the lattice Boltzmann method
- Entropic lattice Boltzmann models for hydrodynamics in three dimensions
- Global Memory Access Modelling for Efficient Implementation of the Lattice Boltzmann Method on Graphics Processing Units
- LATTICE BOLTZMANN METHOD FOR FLUID FLOWS
- LBM based flow simulation using GPU computing processor
- Lattice Boltzmann method for direct numerical simulation of turbulent flows
- Lattice Boltzmann method with regularized pre-collision distribution functions
- Lattice Boltzmann simulation of the flow of binary immiscible fluids with different viscosities using the Shan-Chen microscopic interaction model
- Lattice-Boltzmann Method for Complex Flows
- Multiple–relaxation–time lattice Boltzmann models in three dimensions
- Numerical simulations of particulate suspensions via a discretized Boltzmann equation. Part 1. Theoretical foundation
- On equations of state in a lattice Boltzmann method
- On pressure and velocity boundary conditions for the lattice Boltzmann BGK model
- Outflow boundary conditions for the lattice Boltzmann method
- TeraFLOP computing on a desktop PC with GPUs for 3D CFD
Cited in
(20)- GPU acceleration of FSI simulations by the immersed boundary-lattice Boltzmann coupling scheme
- Influence of Finite Size Effects on the Fulde-Ferrell-Larkin-Ovchinnikov State
- Memory-efficient lattice Boltzmann method for low Reynolds number flows
- Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods
- Efficient computations for high density ratio rising bubble flows using a diffused interface, coupled lattice Boltzmann-level set scheme
- Single relaxation time entropic lattice Boltzmann methods: a developer's perspective for stable and accurate simulations
- Leveling out interface temperature for conjugate heat transfer problems
- Finite difference numerical method for the superlattice Boltzmann transport equation and case comparison of CPU(C) and GPU(CUDA) implementations
- Detailed analysis of the lattice Boltzmann method on unstructured grids
- Performance portability of lattice Boltzmann methods for two-phase flows with phase change
- TLBfind: a thermal lattice Boltzmann code for concentrated emulsions with finite-size droplets
- An optimized D2Q37 lattice Boltzmann code on GP-GPUs
- Sailfish
- A graphic processing unit implementation for the moment representation of the lattice Boltzmann method
- Developing extensible lattice-Boltzmann simulators for general-purpose graphics-processing units
- Total energy thermal lattice Boltzmann simulation of mixed convection in a square cavity
- Heterogeneous LBM Simulation Code with LRnLA Algorithms
- Adaptive kinetic-fluid solvers for heterogeneous computing architectures
- Lattice Boltzmann benchmark kernels as a testbed for performance analysis
- GPU-accelerated algorithms for many-particle continuous-time quantum walks
This page was built for publication: Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q308964)