IDEAS home Printed from https://ideas.repec.org/a/gam/jmathe/v9y2021i15p1793-d603624.html
   My bibliography  Save this article

Cross-Platform GPU-Based Implementation of Lattice Boltzmann Method Solver Using ArrayFire Library

Author

Listed:
  • 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)

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.

Suggested Citation

  • Michal Takáč & Ivo Petráš, 2021. "Cross-Platform GPU-Based Implementation of Lattice Boltzmann Method Solver Using ArrayFire Library," Mathematics, MDPI, vol. 9(15), pages 1-18, July.
  • Handle: RePEc:gam:jmathe:v:9:y:2021:i:15:p:1793-:d:603624
    as

    Download full text from publisher

    File URL: https://www.mdpi.com/2227-7390/9/15/1793/pdf
    Download Restriction: no

    File URL: https://www.mdpi.com/2227-7390/9/15/1793/
    Download Restriction: no
    ---><---

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jmathe:v:9:y:2021:i:15:p:1793-:d:603624. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    We have no bibliographic references for this item. You can help adding them by using this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.