GPU parallel implementation of a finite volume lattice Boltzmann method for incompressible flows

IF 2.5 3区 工程技术 Q3 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Mengke Wen , Siyuan Shen , Weidong Li
{"title":"GPU parallel implementation of a finite volume lattice Boltzmann method for incompressible flows","authors":"Mengke Wen ,&nbsp;Siyuan Shen ,&nbsp;Weidong Li","doi":"10.1016/j.compfluid.2024.106460","DOIUrl":null,"url":null,"abstract":"<div><div>This work presents a graphics processing units (GPU) parallel algorithm of a cell-centered finite volume lattice Boltzmann method (FVLBM) on unstructured meshes. In the present GPU parallel algorithm, the parallelization is performed in the physical space. To reduce the frequency of GPU memory accesses, this algorithm develops coalesced access to GPU memory. In addition, to avoid the race for resources leading to data anomalies, such as dirty read or phantom read <em>etc.</em>, and the double counting for flux calculation, the efficient face-based data structure often used for flux calculation in cells in the central processing unit (CPU) version of FVLBM is modified into a face-based data structure used for the fluxes on all faces, followed by a cell-based loop for the final residuals in all cells. Therefore, the proposed GPU parallel algorithm does not need to use the resource lock and retains the high efficiency of the face-based data structure in the fluxes computation to enhance its’ parallel efficiency. Additionally, to demonstrate the computational efficiency of the proposed GPU parallel algorithm, various benchmark studies are performed in this work by the proposed parallel scheme on a double precision NVIDIA GeForce RTX 3090Ti GPU card, including (a) the lid-driven flow in a two-dimensional (2D) square cavity, (b) a 2D flow past a cylinder, and (c) the lid-driven flow in a three-dimensional (3D) cubic cavity. The numerical results show that the proposed GPU parallel algorithm can be as accurate as the original CPU serial scheme with 1 to 2 orders of speedup.</div></div>","PeriodicalId":287,"journal":{"name":"Computers & Fluids","volume":"285 ","pages":"Article 106460"},"PeriodicalIF":2.5000,"publicationDate":"2024-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computers & Fluids","FirstCategoryId":"5","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0045793024002913","RegionNum":3,"RegionCategory":"工程技术","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

Abstract

This work presents a graphics processing units (GPU) parallel algorithm of a cell-centered finite volume lattice Boltzmann method (FVLBM) on unstructured meshes. In the present GPU parallel algorithm, the parallelization is performed in the physical space. To reduce the frequency of GPU memory accesses, this algorithm develops coalesced access to GPU memory. In addition, to avoid the race for resources leading to data anomalies, such as dirty read or phantom read etc., and the double counting for flux calculation, the efficient face-based data structure often used for flux calculation in cells in the central processing unit (CPU) version of FVLBM is modified into a face-based data structure used for the fluxes on all faces, followed by a cell-based loop for the final residuals in all cells. Therefore, the proposed GPU parallel algorithm does not need to use the resource lock and retains the high efficiency of the face-based data structure in the fluxes computation to enhance its’ parallel efficiency. Additionally, to demonstrate the computational efficiency of the proposed GPU parallel algorithm, various benchmark studies are performed in this work by the proposed parallel scheme on a double precision NVIDIA GeForce RTX 3090Ti GPU card, including (a) the lid-driven flow in a two-dimensional (2D) square cavity, (b) a 2D flow past a cylinder, and (c) the lid-driven flow in a three-dimensional (3D) cubic cavity. The numerical results show that the proposed GPU parallel algorithm can be as accurate as the original CPU serial scheme with 1 to 2 orders of speedup.
针对不可压缩流动的有限体积晶格玻尔兹曼方法的 GPU 并行执行
本研究提出了一种在非结构网格上以单元为中心的有限体积晶格玻尔兹曼法(FVLBM)的图形处理器(GPU)并行算法。在本 GPU 并行算法中,并行化是在物理空间中进行的。为了降低 GPU 内存访问频率,该算法开发了对 GPU 内存的聚合访问。此外,为了避免资源争夺导致数据异常(如脏读或幻读等)以及流量计算的重复计算,FVLBM 的中央处理器(CPU)版本中通常用于单元流量计算的基于面的高效数据结构被修改为基于面的数据结构,用于计算所有面上的流量,然后通过基于单元的循环来计算所有单元的最终残差。因此,所提出的 GPU 并行算法无需使用资源锁,并在通量计算中保留了基于面的数据结构的高效率,从而提高了并行效率。此外,为了证明所提出的GPU并行算法的计算效率,本研究利用所提出的并行方案在双精度NVIDIA GeForce RTX 3090Ti GPU卡上进行了各种基准研究,包括(a)二维(2D)方形空腔中的顶盖驱动流动,(b)经过圆柱体的二维流动,以及(c)三维(3D)立方体空腔中的顶盖驱动流动。数值结果表明,所提出的 GPU 并行算法与原来的 CPU 串行方案一样精确,而且速度提高了 1 到 2 个数量级。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Computers & Fluids
Computers & Fluids 物理-计算机:跨学科应用
CiteScore
5.30
自引率
7.10%
发文量
242
审稿时长
10.8 months
期刊介绍: Computers & Fluids is multidisciplinary. The term ''fluid'' is interpreted in the broadest sense. Hydro- and aerodynamics, high-speed and physical gas dynamics, turbulence and flow stability, multiphase flow, rheology, tribology and fluid-structure interaction are all of interest, provided that computer technique plays a significant role in the associated studies or design methodology.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信