×

兹马思-数学第一资源

用于湍流直接数值模拟的高性能python。(英语) Zbl 1375.76072
摘要:Navier-Stokes方程的直接数值模拟(DNS)是流体力学中一个非常重要的研究工具。尽管如此,仍然很少有公开的研究代码,而且由于大量的数字运算,可用的代码通常是用低级语言编写的,比如C/C公司++Fortran语言. 在本文中,我们描述了一个纯科学的Python伪谱DNS代码,它的性能与C++对于成千上万的处理器和数十亿的未知。我们还描述了一个通过Cython优化的版本,它与C++. 解算器是用Python从头开始编写的,包括mesh、MPI域分解和时间积分器。这些解算器已经在KAUST超级计算实验室的Shaheen超级计算机上进行了验证和基准测试,我们能够显示出非常好的扩展到几千个核心。
实现的一个非常重要的部分是网格分解(我们实现了板状和铅笔状分解)和三维并行快速傅立叶变换(FFT)。网格分解和FFT例程已经在Python中实现,使用串行FFT例程(NumPy、pyFFTW或任何其他串行FFT模块)、NumPy数组操作以及MPI for Python处理的MPI通信(mpi4py公司)。我们展示了如何使用4行紧凑的Python代码在Python中执行3D并行FFT来进行板网格分解,结果发现Shaheen上的并行性能略优于通过FFTW库提供的类似例程。对于铅笔网格分解,执行转换需要7行代码。

理学硕士:
76F65 湍流的直接数值模拟和大涡模拟
76-04号 流体力学相关问题的软件、源代码等
PDF格式 BibTeX公司 XML 引用
参考文献:
[1] M、 Lee,N.Malaya,R.D.Moser,高达786k核心湍流通道流动的Petascale直接数值模拟,载:高性能计算、网络、存储和分析国际会议论文集,美国纽约,2013年,第61:1-61:11页。
[2] de Bruyn Kops,S.,强分层Boussinesq湍流中的经典标度和间歇性,流体力学杂志,775436-463,(2015)
[3] 丘马科夫,S.G。
[4] 约维耶诺,M。
[5] 维米,M。
[6] 蒂卡,B。
[7] 努比,http://www.numpy.org。
[8] 德沃尔特,斯蒂芬·范;克里斯·科尔伯特,S。;Varoquiaux,Gael,numpy阵列:一种高效数值计算的结构,计算机。科学。《工程学》,第13、2、22-30页(2011年)
[9] Python的MPI,https://bitbucket.org/mpi4py/mpi4py/。
[10] 芬尼茨,http://fenicsproject.org。
[11] 莫滕森,M。;瓦伦森德斯塔德,K.,绿洲:一个高水平/高性能的开源Navier-Stokes解算器,计算机。物理。Comm.,188,0,177-188,(2015年)·Zbl 1344.76006号
[12] 莫滕森,J.J。;汉森,L.B。;Jacobsen,K.W.,投影增强波法的实空间网格实现,物理。版次。B、 71,3,(2005年)
[13] S、 Balay,J.Brown,K.Buschelman,W.D.Gropp,D.Kaushik,M.G.Knepley,L.Curfman McInnes,B.F.Smith,H.Zhang,PETSc网页,http://www.mcs.anl.gov/petsc。
[14] 凯奇森,D。;曼德利,K。;艾哈迈迪亚,A。;阿尔格姆迪,A。;德卢娜,M。;帕萨尼,M。;克内普利,M。;Emmett,M.,Pyclaw:波传播问题的可访问、可扩展、可扩展的工具,暹罗科学杂志。计算机,34,4,C210-C231,(2012年)·Zbl 1253.65220型
[15] 卡努托,C。;胡赛尼,M.Y。;夸托尼,A。;臧,T.A.,流体动力学中的光谱方法,(1988),斯普林格-韦拉格纽约海德堡-柏林·Zbl 0658.76001
[16] Orzag,S.A.,《通过过滤高波数分量消除有限差分格式中的混叠》,J.Atmos。《科学》,281074,(1971年)
[17] H、 Q.Ding,R.D.Ferraro,D.B.Gennery,分布式存储并行体系结构的可移植三维FFT软件包,载:第七届SIAM并行处理会议论文集,1995年,第70-71页。
[18] S、 J.Plimpton,并行FFT子程序库,http://www.sandia.gov/sjplimp/docs/fft/README.html。
[19] D、 佩库洛夫斯基,P3DFFT,http://code.google.com/p/p3dfft/。
[20] Pekurovsky,D.,P3DFFT:三维傅里叶变换并行计算的框架,暹罗J.Sci。计算机,34,4,(2012年)·Zbl 1253.65205
[21] N、 Li,S.Laizet,2DECOMP&FFT——一种高度可扩展的二维分解库和FFT接口,in:Cray用户组会议,爱丁堡,2010年。
[22] Pippig,M.,PFFT FFTW到大规模并行架构的扩展,暹罗J.Sci。计算机,35,C213-C236,(2013年)·Zbl 1275.65098
[23] 麻木,http://numba.pydata.org。
[24] Numexpr公司,http://github.com/pydata/numexpr。
[25] 编织,参考http://tutorial/docs/scipy.org/tutorial/docs/scipy。
[26] 赛顿,http://cython.org。
[27] 兰顿,A。
[28] 可伸缩Python,https://github.com/CSC-IT-Center-for-Science/scalable-python。
[29] 恩科瓦拉,J。;罗梅罗,北卡罗来纳州。;申德,S。;Mortensen,J.J.,GPAW——基于python软件的大规模并行电子结构计算,Promedia Comput。科学,4,0,17-25,(2011)
[30] Brachet,M.E.,泰勒-格林涡中三维湍流的直接模拟,流体动力学。第8、1、1-8号决议(1991年)
[31] 阿亚拉,O。;Wang,L.P.使用二维区域分解的三维快速傅立叶变换的并行实现和可伸缩性分析,并行计算,39,58-77,(2013)
此参考列表基于出版商或数字数学图书馆提供的信息。它的项被试探性地匹配到zbMATH标识符,并且可能包含数据转换错误。它试图尽可能准确地反映原始论文中列出的参考文献,而不要求匹配的完整性或精确性。