Cross-Platform GPU-Based Implementation of Lattice Boltzmann Method Solver Using ArrayFire Library
Michal Takáč and
Ivo Petráš
Additional contact information
Michal Takáč: Faculty BERG, Technical University of Košice, Němcovej 3, 042 00 Košice, Slovakia
Ivo Petráš: Faculty BERG, Technical University of Košice, Němcovej 3, 042 00 Košice, Slovakia
Mathematics, 2021, vol. 9, issue 15, 1-18
Abstract:
This paper deals with the design and implementation of cross-platform, D2Q9-BGK and D3Q27-MRT, lattice Boltzmann method solver for 2D and 3D flows developed with ArrayFire library for high-performance computing. The solver leverages ArrayFire’s just-in-time compilation engine for compiling high-level code into optimized kernels for both CUDA and OpenCL GPU backends. We also provide C++ and Rust implementations and show that it is possible to produce fast cross-platform lattice Boltzmann method simulations with minimal code, effectively less than 90 lines of code. An illustrative benchmarks (lid-driven cavity and Kármán vortex street) for single and double precision floating-point simulations on 4 different GPUs are provided.
Keywords: lattice Boltzmann method (LBM); computational fluid dynamics (CFD); parallel computing; graphics processing unit (GPU) computing; ArrayFire library; numerical analysis (search for similar items in EconPapers)
JEL-codes: C (search for similar items in EconPapers)
Date: 2021
References: View complete reference list from CitEc
Citations:
Downloads: (external link)
https://www.mdpi.com/2227-7390/9/15/1793/pdf (application/pdf)
https://www.mdpi.com/2227-7390/9/15/1793/ (text/html)
Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.
Export reference: BibTeX
RIS (EndNote, ProCite, RefMan)
HTML/Text
Persistent link: https://EconPapers.repec.org/RePEc:gam:jmathe:v:9:y:2021:i:15:p:1793-:d:603624
Access Statistics for this article
Mathematics is currently edited by Ms. Emma He
More articles in Mathematics from MDPI
Bibliographic data for series maintained by MDPI Indexing Manager ().