Cross-Platform GPU-Based Implementation of Lattice Boltzmann Method Solver Using ArrayFire Library
Keyword(s):
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.
2014 ◽
Vol 554
◽
pp. 665-669
2004 ◽
Vol 46
(9)
◽
pp. 921-937
◽
Keyword(s):
2011 ◽
Vol 61
(12)
◽
pp. 3711-3721
◽
Keyword(s):
2012 ◽
Vol 25
(2 (A))
◽
pp. 165-175
◽
2012 ◽
Vol 26
(12 (C))
◽
2014 ◽
Vol 05
(02)
◽
pp. 1350024
◽
2007 ◽
Vol 18
(05)
◽
pp. 805-817
◽
2013 ◽
Vol 28
(2)
◽
pp. 215-231
◽