基于CUDA的格子Boltzmann数值模拟加速实现Implementation of the Acceleration Simulation with Lattice Boltzmann Method Based on CUDA
覃章荣;张超英;丘滨;李圆圆;莫刘刘;
摘要(Abstract):
针对近年来利用CUDA技术在个人计算机显卡的GPU上实现LBM并行加速计算的研究越来越多,但对在GPU中使用不同GPU存储器进行计算的具体实现算法以及其对计算性能的影响分析研究甚少,文章实现了在GPU中使用不同存储器进行LBM并行计算,给出了具体的实现算法,并以平面Poiseuille流为算例,在普通个人计算机上,分别使用NVIDIA GeForce GTS450GPU和Intel Core i5-760 4核CPU进行计算。结果表明,两者计算结果吻合得很好,最高获得了约107倍的加速比,验证了在GPU上进行LBM并行计算的可行性以及加速性能,为在低成本的个人计算机上高效率地解决计算流体力学中的复杂计算问题提供了一种非常有效的途径。
关键词(KeyWords): GPU;CUDA;格子Boltzmann方法;平面Poiseuille流
基金项目(Foundation): 国家自然科学基金资助项目(11162002)
作者(Authors): 覃章荣;张超英;丘滨;李圆圆;莫刘刘;
DOI: 10.16088/j.issn.1001-6600.2012.04.002
参考文献(References):
- [1]CHEN Shi-yi,DOOLEN G D.Lattice Boltzmann method for fluid flows[J].Ann Rev Fluid Mech,1998,30:329-364.
- [2]闻炳海,张超英,刘海燕,等.大血管中血液流动的LBM模拟[J].广西师范大学学报:自然科学版,2008,26(4):22-25.
- [3]邱冰,王立龙,薛泽,等.用晶格Boltzmann方法研究微血管脉动流中悬浮颗粒运动特征的转变[J].广西师范大学学报:自然科学版,2011,29(4):7-11.
- [4]郑彦奎,刘沙,熊生伟,等.Lattice Boltzmann方腔模型的CUDA加速实现[J].科学技术与工程,2010,10(7):1684-1688.
- [5]张云,王小伟,葛蔚,等.多松弛时间格子Boltzmann方法在GPU上的实现[J].计算机与应用化学,2011,28(3):265-269.
- [6]TLKE J,KRAFCZYK M.TeraFLOP computing on a desktop PC with GPUs for 3D CFD[J].International Journalof Computational Fluid Dynamics,2008,22(7):443-456.
- [7]李博,李曦鹏,张云,等.耦合Nvidia/AMD两类GPU的格子玻尔兹曼模拟[J].科学通报,2009,54(20):3177-3184.
- [8]NVIDIA Corporation.NVIDIA CUDA C Programming Guide,version 4.2[EB/OL].(2012-5-10)[2012-7-16].http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA C Programming Guide.pdf.
- [9]CHEN Shi-yi,CHEN Hu-dong,MARTINE D O,et al.Lattice Boltzmann model for simulation of magnetohydrodyna-mics[J].Phys Rev Lett,1991,67(27):3776-3781.
- [10]FILIPPOVA O,HANEL D.Lattice Boltzmann simulation of gas-particle flow in filters[J].Comput Flui,1997,26(7):697-712.