×

旗鱼:格子Boltzmann方法的灵活多GPU实现。 (英语) Zbl 1344.76004号

摘要:我们介绍了Sailfish,这是一个开源的流体模拟软件包,使用CUDA/OpenCL在现代图形处理单元(GPU)上实现了格子Boltzmann方法(LBM)。我们采用一种新颖的方法来实现GPU代码,并使用运行时代码生成技术和高级编程语言(Python)来实现最先进的性能,同时允许轻松试验不同的LBM模型并针对各种类型的硬件进行调整。我们讨论了代码的一般设计原则,在分布式环境中扩展到多个GPU,以及许多不同LBM模型的GPU实现和优化,包括单组件(BGK、MRT、ELBM)和多组件(Shan-Chen,自由能)。本文还介绍了过去三代NVIDIA GPU(特斯拉、费米、开普勒)的性能基准测试结果,我们希望这些结果对使用此类硬件和类似代码的研究人员有用。

MSC公司:

76-04 流体力学相关问题的软件、源代码等
76米28 粒子法和晶格气体法
65日元10 特定类别建筑的数值算法
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Januszewski,M。;Kostur,M.,用cuda加速随机微分方程的数值解,计算。物理学。社区。,181、1、183-188(2010),网址http://www.sciencedirect.com/science/article/B6TJ5-4X7R842-1/2/ff8a1e76fd160f7aba015ca73e39amad ·Zbl 1205.65024号
[3] 陈,S。;杜伦,G.D。,流体流动的格子Boltzmann方法。流体力学版次。,30, 1, 329-364 (1998) ·兹比尔1398.76180
[4] 艾登,C.K。;克劳森,J.R。,复杂流动的格子boltzmann方法,Annu。流体力学版次。,42, 1, 439-472 (2010) ·Zbl 1345.76087号
[5] d’Humières,d。;Bouzidi,M。;Lallemand,P.,三速三维格子boltzmann模型,物理学。版本E,63,066702(2001)
[6] Bhatnagar,P.L。;毛重,E.P。;Krook,M.,气体碰撞过程模型。I.带电和中性单组分系统中的小振幅过程,Phys。在线架构(architecture)版本。(普罗拉),94,3,511-525(1954)·Zbl 0055.23609号
[7] Shan,X.W。;他,X.Y。,玻尔兹曼方程解中速度空间的离散化,物理学。修订稿。,80, 1, 65-68 (1998)
[8] 珊,X。;Chen,H.,用于模拟多相和多组分流动的Lattice boltzmann模型,Phys。E版,47、3、1815-1819(1993)
[9] 斯威夫特,M。;Orlandini,E。;奥斯本,W。;Yeomans,J.,《液气和二元流体系统的格子Boltzmann模拟》,Phys。E版,54、5、5041-5052(1996)
[10] Latt,J。;Chopard,B.,带正则化预碰撞分布函数的格子boltzmann方法,数学。计算。模拟。,72,2-6,165-168(2006),离散模拟。流体动力学。复杂系统。,统一资源定位地址http://www.sciencedirect.com/science/article/pii/S0378475401583 ·Zbl 1102.76056号
[11] d’Humières,d。;金兹堡,I。;Krafczyk,M。;Lallemand,P。;Luo,L.-S.,三维多重弛豫时间晶格Boltzmann模型,Philos。事务处理。R.Soc.伦敦。数学。物理学。工程科学。,360, 437-451 (2002) ·Zbl 1001.76081号
[12] 卡林,I.V。;Succi,S.,离散动力学方程的平衡,物理学。E版,584053(1998)
[13] 卡林,I。;费兰特,A。;奥廷格,H.,晶格玻尔兹曼方法的完美熵函数,欧罗普希斯。莱特。,47,2182(1999年)
[14] Ansumali,S。;卡林,I.V。;H·C·廷格。,流体动力学的最小熵动力学模型,Europhys。莱特。,63、6、798(2007),网址http://iopscience.iop.org/0295-5075/63/6/798
[15] 南部奇卡塔马拉。;Ansumali,S。;Karlin,I.,三维流体动力学的熵格子boltzmann模型,物理学。修订稿。,97 (2006) ·Zbl 1228.82078号
[16] Yu,H。;Girimaji,S.S。;Luo,L.-S.,使用格子boltzmann方法研究有和无框架旋转的衰减各向同性湍流的DNS和LES,J.Compute。物理。,2092599-616(2005),网址http://linkinghub.elsevier.com/retrieve/pii/S0021999105001907 ·兹比尔1138.76373
[17] Pooley,C.M。;Kusumaatmaja,H。;约曼斯,J.M。,二元格子boltzmann模拟中的接触线动力学,物理学。版本E,78,056709(2008)
[18] Kusumaatmaja,H。;约曼斯,J.M。,二元格子boltzmann模拟中的接触线动力学,物理学。版本E,78,5,056709(2008),URLhttp://pre.aps.org/abstract/pre/v78/i5/e056709
[19] Pooley,C.M。;Furtado,K.,《消除自由能格子boltzmann方法中的虚假速度》,Phys。版本E,77,046702(2008)
[20] Chikatamarla,S。;Karlin,I.,湍流模拟的熵格子boltzmann方法:边界条件,物理学。A(2013),网址http://linkinghub.elsevier.com/retrieve/pii/S037843711300113
[21] Latt,J。;肖伯德,B。;马拉菠菜。;德维尔,M。;Michler,A.,格子boltzmann方法中的直线速度边界,物理学。E版,77,056703(2008)
[22] Chikatamarla,S.S。;Ansumali,S。;卡林,I.V。,格点boltzmann模拟中缺失数据的Grad近似,Europhys。莱特。,74、2、215(2006),网址http://stacks.iop.org/0295-5075/74/i=2/a=215
[23] Yu,D。;梅,R。;Shyy,W.,晶格玻尔兹曼方程方法中开放边界的改进处理:方法的一般描述,Prog。计算。流体动力学。国际期刊,5,1,3-12(2005)
[24] 垃圾,M。;Yang,Z.,格子boltzmann方法的流出边界条件,Prog。计算。流体动力学。国际期刊,8,38-48(2008),网址http://dx.doi.org/10.1504/PCFD.2008.018077 ·Zbl 1139.76045号
[25] 拉德,A.J。C.、。,通过离散boltzmann方程对颗粒悬浮液进行数值模拟。第一部分:理论基础,J.流体力学。,271, 285-309 (1993) ·Zbl 0815.76085号
[26] 邹,Q。;He,X.,关于格子boltzmann-bgk模型的压力和速度边界条件,Phys。流体,9,6,1591-1598(1997),URLhttp://link.aip.org/link/?PHF/9/1591/1 ·Zbl 1185.76873号
[27] 郭,Z。;郑,C。;Shi,B.,《离散晶格对晶格Boltzmann方法中强迫项的影响》,Phys。版本E,65,046308,1-6(2002)·Zbl 1244.76102号
[28] Kupershtokh,A。;梅德韦杰夫,D。;Karpov,D.,关于格子boltzmann方法中的状态方程,计算。数学。申请。,58、5、965-974(2009),网址http://www.sciencedirect.com/science/article/pii/S0898122109001011 ·Zbl 1189.76413号
[29] 科克纳,A。;平托,N。;Lee,Y。;Catanzaro,B。;伊万诺夫,P。;Fasih,A.,Pycuda和pyopencl:基于脚本的gpu运行时代码生成方法,并行计算。,38, 3, 157-174 (2012)
[30] 梅,R。;罗,L.-S。;Lallemand,P。;d’Humières,d.,晶格Botlzmann模拟的一致初始条件,计算。流体,35855-862(2006)·Zbl 1177.76319号
[31] Tolke,J.,使用nVIDIA开发的计算统一设备架构实现Lattice Boltzmann内核,Compute。视觉。科学。,13, 1, 29-39 (2008)
[32] 托尔克,J。;Krafczyk,M.,《桌面PC上的TeraFLOP计算以及用于3D CFD的GPU》,《国际计算杂志》。流体动力学。,22, 7, 443-456 (2008) ·1184.76800兹罗提
[33] 伯纳西,M。;罗西,L。;本兹,R。;斯布拉加利亚,M。;Succi,S.,流动软系统格子boltzmann模型的图形处理单元实现,Phys。版本E,80,6,066707(2009)
[35] 奥布莱希特,C。;库兹尼克,F。;图兰乔,B。;Roux,J.-J.,《图形处理单元的格子boltzmann方法的新方法》,计算。数学。申请。,61、12、3628-3638(2011),网址http://www.sciencedirect.com/science/article/pii/S089812211000091X ·Zbl 1225.76237号
[36] 奥布莱希特,C。;库兹尼克,F。;图兰乔,B。;Roux,J.-J.,《在图形处理单元上高效实现格子boltzmann方法的全局内存访问建模》,(第九届计算科学高性能计算国际会议论文集,VECPAR’10(2011),Springer-Verlag:Springer-Verlag Berlin,Heidelberg),151-161,URLhttp://dl.acm.org/citation.cfm?id=1964238.1964257 ·Zbl 1323.65141号
[37] 库兹尼克,F。;奥布莱希特,C。;鲁萨乌恩,G。;Roux,J.-J.,使用gpu计算处理器进行基于Lbm的流动模拟,Compute。数学。申请。,59,72380-2392(2010),网址http://www.sciencedirect.com/science/article/pii/S0898122109006361 ·Zbl 1193.76112号
[38] 奥布莱希特,C。;库兹尼克,F。;图兰乔,B。;Roux,J.-J.,格子boltzmann方法的多谱实现,计算。数学。申请。,0(2011),URLhttp://www.sciencedirect.com/science/article/pii/S0898122111001064
[39] 斯科多斯,P.A。,晶格玻尔兹曼方法的初始条件和边界条件,Phys。E版,484823-4842(1993)
[40] 哈比奇,J。;Feichtinger,C。;Köstler,H。;海格·G。;Wellein,G.,《gpgpus上格子boltzmann方法的性能工程:架构要求和性能结果》,计算与流体,0(2012),URLhttp://www.sciencedirect.com/science/article/pii/S0045793012000679
[41] Albensoeder,S。;Kuhlmann,H.,《精确的三维眼睑驱动腔流》,J.Compute。物理。,206,2536-558(2005),网址http://www.sciencedirect.com/science/article/pii/S0021999105000033 ·Zbl 1121.76366号
[42] Kida,S.,《具有高对称性的三维周期流》,J.Phys。Soc.日本,54,6,2132-2136(1985),URLhttp://jpsj.ipap.jp/link?jpsj/54/2132/
[43] Chikatamarla,S.S.公司。;Frouzakis,C.E。;卡林,I.V。;Tomboulides,A.G。;K.B.布卢乔斯。,湍流直接数值模拟的格子boltzmann方法,J.流体力学。,656, 298-308 (2010) ·Zbl 1197.76066号
[44] 基廷,B。;瓦哈拉,G。;Yepez,J。;Soe,M。;Vahala,L.,恢复Navier-Stokes流所需的熵格子Boltzmann表示,Phys。修订版E,75036712(2007)
[45] Langaas,K。;约曼斯,J.M。,具有不同相粘度的二元流体的格子Boltzmann模拟及其在二维指进中的应用,《欧洲物理》。J.B,15,133-141(2000)
[46] Chin,J。;博克,E。;Coveney,P.V.公司。,使用Shan-Chen微观相互作用模型,Math对不同粘度的二元不混溶流体的流动进行格子Boltzmann模拟。物理学。工程科学。,360, 1792, 547-558 (2002) ·Zbl 1001.76080号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。