Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method
From MaRDI portal
Publication:308964
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)
- Total energy thermal lattice Boltzmann simulation of mixed convection in a square cavity
- Lattice Boltzmann benchmark kernels as a testbed for performance analysis
- Adaptive kinetic-fluid solvers for heterogeneous computing architectures
- GPU-accelerated algorithms for many-particle continuous-time quantum walks
- Memory-efficient lattice Boltzmann method for low Reynolds number flows
- Performance portability of lattice Boltzmann methods for two-phase flows with phase change
- 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
- Heterogeneous LBM Simulation Code with LRnLA Algorithms
- Efficient computations for high density ratio rising bubble flows using a diffused interface, coupled lattice Boltzmann-level set scheme
- Influence of Finite Size Effects on the Fulde-Ferrell-Larkin-Ovchinnikov State
- Sailfish
- GPU acceleration of FSI simulations by the immersed boundary-lattice Boltzmann coupling scheme
- An optimized D2Q37 lattice Boltzmann code on GP-GPUs
- Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods
- 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
- TLBfind: a thermal lattice Boltzmann code for concentrated emulsions with finite-size droplets
- 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
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)