Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method

From MaRDI portal
Publication:308964

DOI10.1016/J.CPC.2014.04.018zbMATH Open1344.76004arXiv1311.2404OpenAlexW1976346389MaRDI QIDQ308964FDOQ308964


Authors: M. Januszewski, Marcin Kostur Edit this on Wikidata


Publication date: 6 September 2016

Published in: Computer Physics Communications (Search for Journal in Brave)

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.


Full work available at URL: https://arxiv.org/abs/1311.2404




Recommendations




Cites Work


Cited In (15)

Uses Software





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)