EconPapers    
Economics at your fingertips  
 

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 ().

 
Page updated 2025-03-19
Handle: RePEc:gam:jmathe:v:9:y:2021:i:15:p:1793-:d:603624