基于MPI的不可压缩NS方程并行计算方法的研究
- 格式:pdf
- 大小:199.06 KB
- 文档页数:3
2007年第26卷增刊化l:进展CHEMlCALINDUSTRYANDENGINEERfNGPROGRESS。
l5‘CFD并行计算技术的研究进展吴明一1.王红星2.秦玉波2,李鑫钢1,一,徐世民1’2(1天津人学化T学院,天津300072:2天津人学精馏技术国家丁程研究中心,灭津300072)摘要:综述了并行计算技术在计算流体动力学(CFD)中的研究及应用进展,介绍了CFD并行化的关键技术研究近况,包括网格处理技术、并行化算法技术以及并行计算平台的研究进展.最后讨论了CFD并行技术的发展方向。
关键词:cFD;并行计算ResearchprogressofCFDparaIlelcomputingWUMingyi\.wANGHon晷xin营.QINYttb孑。
LIxinga’t毒。
,xUShimi矗3(。
SchoolofChemicaIEngineeringandT色chnology,TianIjinUnivers时,Tianjin300072,China:2NationalEngineeringResearchCenterforDiStillationTechnology・Ti州inUniVersity,Ti柚jin300072,China)Absn翟ct:Researcha11d印plicationofCFDonparallelccHn口puterSarereViewed,andthekeytechn0109y,suchas伊idmanagement,parallelprocessingmethod粕dparalleIcomputingplatfomareintroduced.ThedeveIopmentofCFDparallelcomputingisaIsodiscuSsed.Keywords:CFD:p啪llelcomputing计算流体力学(CFD,Computationalfluiddynamics)是指利用数值方法通过计算机求解描述流体运动的数学方程,揭示流体运动的物理规律,研究定常流体运动的空间物理特征和非定常流体运动的时一空物理特征的学科。
大气数值模式中的谱元素方法及其并行计算张理论1 宋君强1 李晓梅2(1.国防科学技术大学计算机学院 长沙 410073)(2.指挥技术学院电子工程系 北京怀柔 100416)zll0434@摘要结合并行计算的研究应用现状,分析了谱模式并行计算中存在的问题,提出了解决问题的对策-谱元素方法。
分析谱元素方法的概念和计算特点,给出谱元素并行计算的优势所在。
针对两维浅水波模拟进行谱元素离散,给出了并行计算结果。
研究表明是谱元素法是一种很有并行潜力的有效模式计算方法。
关键词大气数值模式,谱变换方法,谱元素方法,并行计算1引言大气科学尤其数值模式的发展进步紧紧依赖于并行计算,这一点已经成为大气科学和并行计算两个领域的共识。
在考评一个已有的数值模式或者发展新的数值模式时,应该也必须考虑到其并行计算性能。
为此,对于并行计算和数值模式的现状特别是二者间的适应程度进行分析研究,是一项很有必要的工作。
本文论述了并行计算与谱数值模式的研究与应用现状,分析了其中存在的问题,给出了一种基于非重叠区域分解的谱元素方法,分析了其计算特点及在数值模式中的典型应用。
文章安排如下:第二节论述了当前并行计算的主要技术特点;第三节分析了谱模式的特点,指出了其在并行计算中存在的问题;第四节给出了基于非重叠区域分解的谱元素方法,结合浅水波方程,给出谱元素方法的一个应用实例;第五节为数值实验,指出了谱元素方法的优越性。
最后一节为结论。
2并行计算技术并行计算汇集了从硬件到数学方法等众多学科的精华,以实现高计算性能为目的。
并行计算的进展在并行软件和并行计算机两个方法均呈现不平衡性[1],总的看来:软件落后于硬件,数据传输速度落后于数据处理能力。
在硬件方面,微处理器增长遵循Moore定律,存储器技术的改进速度仅不及处理器增长速度的百分之一。
并行通信系统的两个重要技术指标,即传输带宽和启动时延的改进速度相差近十倍,启动时延长期居高不下,它是并行系统设计的技术难点,更是应用软件设计中所要关注的焦点之一。
万方数据万方数据否则网格将发牛错误。
图2网格拓展及数据交换方式3.4边界条件(1)远场边界条件。
根据当地边界法向速度的正负判断来流是人流还是出流,对于入流边界,所有流动参数均由自由来流确定;对于出流边界,所有流动参数均由内场外插得到。
(2)壁面边界条件。
对于粘性流动,不可穿透的壁面边界应满足无滑移条件:‰=0,‰一0,‰=0壁面压力可通过法向动量方程的简化形式计算为:a,t,一0a竹壁面气体温度由等温壁或绝热壁条件决定,即:L一∞钉毗(等温壁)或I嚣L=o(绝热壁)(3)对称边界条件。
对称边界条件要求对称面两侧的速度切向分量相等,法向分量相反,其他值相等即可。
(4)对接边界条件。
对于对接边界,可根据网格拓扑关系,寻找对应点的流场点,将相邻区的网格内点上的单元物理量通过消息传递赋给当前区的边界外点(即网格延拓得到的虚拟网格)。
这样,通过边界点的传递,在整个迭代过程中保证了分区之间的消息传递。
4算例计算结果与分析这里采用文献E93中给出的圆柱体表面压力系数的结果进行算法的验证。
圆柱体半径为0.038m,其高超声速来流条件为:地=16.34,L一52K,如一82.95Pa,T,o=294.4K。
初始计算网格为三维单分区网格,网格节点总数目为301×101×11,用到的边界条件有远场条件、壁面条件和对称面条件,如图3所示。
图3初始网格及边界条件设定针对单区域的初始网格,沿i方向分别进行2分区、4分区的蕈新划分,并分别在数量不同的Pc机上进行流场数值计算,得到的计算结果如图4~图7所示。
首先考察计算所得流场是否准确。
由图4~图6中的108图41分区网格及压力计算等值线图图52分区网格及压力计算等值线图图64分区网格及压力计算等值线图图7不同分区的Cp计算结果对比压力等值线图可以看出,不同分区得到的流场形式几乎完全一致,在分区交界面上的等值线无间断,保证了物理龟的连续;而通过图7中压力系数的对比,可见不同分区计算值能够很好地吻合,充分验证了边界数据处理方法的合理性和正确性。
非结构动网格分区并行计算方法程兴华;刘巍;张理论【摘要】针对包含运动边界的非定常流动问题,基于弹簧近似法设计了一套非结构动网格分区并行计算流程,引入了METIS软件进行非结构网格二次剖分,研究了对接边界通信类型及其处理方法,基于消息传递并行编程模式实现了非结构动网格求解器的并行化.测试结果表明:该求解器具有较高的并行效率,网格变形模块对非结构动网格并行计算性能具有重要影响.%For parallel simulation of the unsteady flow field with moving boundary, a domain-decomposed computation procedure was designed based on the spring analogy method, and the METIS software was introduced to repartition the original grids.With the research of 1-to-1 interface communication styles and realization, the unstructured dynamic mesh solver was parallelized based on the message passing interface.The test shows that the solver has high parallel efficiency, and the module of mesh deforming has significant effect on the parallel performance.【期刊名称】《国防科技大学学报》【年(卷),期】2017(039)001【总页数】5页(P81-85)【关键词】非结构网格;动网格;区域分解;并行计算【作者】程兴华;刘巍;张理论【作者单位】国防科技大学海洋科学与工程研究院, 湖南长沙 410073;国防科技大学海洋科学与工程研究院, 湖南长沙 410073;国防科技大学海洋科学与工程研究院, 湖南长沙 410073【正文语种】中文【中图分类】O35动网格技术是解决多体分离、流固耦合、可变形飞行器、机翼气动弹性振动和生物仿生流等包含运动边界的非定常流动问题的关键技术[1-3]。
基于MPI与OpenMP混合并行计算技术的研究李苏平,刘羽,刘彦宇(桂林理工大学信息科学与工程学院,广西桂林541004)摘要:针对多核机群系统的硬件体系结构特点,提出了节点间MPI消息传递、节点内部OpenMP共享存储的混合并行编程技术。
该编程模型结合了两者的优点,更为有效地利用了多核机群的硬件资源。
建立了单层混合并行的Jacobi求对称矩阵特征值算法。
实验结果表明,与纯MPI算法相比,混合并行算法能够取得更好的加速比。
关键词:混合编程模型;多核机群;MPI; OpenMPTP312:A:1672-7800(2010)03-0050-031 MPI与OpenMP混合模型MPI( Message Passing Interface)是消息传递并行编程模型的代表和事实标准,可以轻松地支持分布存储和共享存储拓扑结构;OpenMP是为共享存储环境编写并行程序而设计的一个应用编程接口,是当前支持共享存储并行编程的工业标准。
在SMP机群系统中,混合编程模型已经有一些成功的应用,对于多核PC机群的混合编程模型研究才开始起步。
在多核PC 机群中,结合MPI与OpenMP技术,充分利用这两种编程模型的优点,在付出较小的开发代价基础上,尽可能获得较高的性能。
按照在MPI进程间消息传递方式和时机,即消息何时由哪个或哪些线程在MPI进程间传递进行分类,混合模型可以分为以下两种:(1)单层混合模型(Hybrid master- only)。
MPI调用发生在应用程序多线程并行区域之外,MPI实现进程间的通信由主线程执行。
该混合模型编程易于实现,即在基于MPI模型程序的关键计算部分加上OpenMP循环命令#pramgma omp par-allel- -即可。
(2)多层混合模型(Hybrid multiple)。
MPI调用可以发生在应用程序多线程并行区域内,进程间通信的可由程序任何区域内的任何一个或一些线程完成。
在该模型中,当某些线程进行通信时,其它的非通信线程同时进行计算,实现了通信与计算的并行执行,优化了进程间的通信阻塞问题。
基于MPI的二维泊松方程差分并行实现与测试苑野;杨东华【摘要】消息传递是一种广泛应用于集群环境下的并行编程模型.针对简单二维Poisson方程的第一边值问题的典型差分格式,在MPI并行环境下,使用五点差分离散和雅可比迭代法实现了此类方程的并行求解.实际测试表明此类方程在一定问题规模下,其并行算法具有很好的加速比和并行效率.%Message-passing is a widely used cluster environment for parallel programming model. With a simple two-dimensional poisson equation for the first boundary value problem of the typical difference scheme, this paper used five-point difference discretization and the implementation of the Jacobi iterative method for solving such equations in MPI parallel environment. Actual tests showed that such equations in a certain scale of the problem, the parallel algorithm of it had good speedup and parallel efficiency.【期刊名称】《哈尔滨商业大学学报(自然科学版)》【年(卷),期】2011(027)006【总页数】4页(P854-856,861)【关键词】Poisson方程;消息传递接口;有限差分;加速比;并行效率【作者】苑野;杨东华【作者单位】哈尔滨工业大学基础与交叉科学研究院,哈尔滨 150080;哈尔滨工业大学基础与交叉科学研究院,哈尔滨 150080【正文语种】中文【中图分类】TP319随着高速网络和多核处理器技术的发展,集群系统获得了很好的性能.由于性价比高和可扩展性好的特点,集群正逐渐成为主流的并行平台.MPI(Message Passing Interface)消息传递是一种典型的并行编程模型.由于集群是一种典型的分布式存储系统,因此MPI消息传递系统已经成为目前集群上最重要的并行编程环境之一. 在科学计算中经常要数值求解各类偏微分方程.Poisson方程广泛应用于电学、磁学、力学、热学等多个领域,因此解决Poisson方程的计算问题成为了高性能计算领域中的一个最基本问题.目前比较常用的方法有有限差分法、有限元法和有限体积法.用差分方法解Poisson方程,解的结果就是方程的准确解函数在节点上的近似解,这种方法主要是集中在依赖于时间的问题.与其他两种方法相比,有限差分法简单,易并行.因此我们用有限差分方法求解Poisson方程.本文抛开复杂的理论问题,在高性能集群环境下,针对矩形区域上二维Poisson方程边值问题的五点差分格式,使用雅可比迭代法和MPI消息传递接口模型对一类简单的Poisson 方程给出了其差分方程组的并行实现解法,并定量的对该类解法的并行化性能进行了测试.1 MPI技术消息传递是一种广泛应用的并行编程模型.MPI(Message Passing Interface)是1994年5月发布的一种消息传递接口,它定义了用C和Fortran编写消息传递应用程序所用到的核心库例程的语法和语义,具有很多特点.首先,MPI提供了一个易移植的编程接口和一个可靠的通信接口,允许避免内存到内存的拷贝,允许通信重叠,具有良好的通讯性能;其次,它可以在异构系统中透明使用,即能在不同体系结构的处理器上运行;再者,MPI提供的接口与现存消息传递系统接口(如PVM、NX等)相差不大,却提供了更大的灵活性,能在更多的平台上运行;最后,MPI是一个标准,它没有规定底层必须如何实现,故给实现该标准的厂家带来了更大的灵活性,使MPI可扩展性更好.1.1 最基本的MPIMPI是个复杂的系统,它包含128个函数(1994年标准),1997年修订的标准MPI-2已经超过200个,目前常用的大约有30个,然后使用其中的6个最基本的函数就能编写一个完整的MPI程序,6个函数如下.MPI_INT MPI 初始化MPI_FINALIZE结束MPI计算MPI_COMM_SIZE确定进程数MPI_COMM_RANK确定当前进程标识MPI_SEND发一条消息MPI_RECV 接受一条消息1.2 组通讯MPI提供了强大的组通讯功能,可以满足进程间的组通信.组通信一般实现3个功能:通讯、同步和计算.通讯功能主要完成组内数据的传输,分为3种,即一对多通讯,多对一通讯和多对多通讯;而同步功能实现组内所有进程在特定的地点在执行进度上取得一致;计算的功能比较复杂,要对给定数据完成一定的操作.组内通信函数主要包括5类:同步(Barrier)、广播(Bcast)、收集(Gather)、散发(Scatter)和规约(Reduce).1.3 通信体通信体是由一个进程组和进程活动环境(上下文)组成.其中进程组就是一组有限和有序进程的组合;进程活动环境是系统指定的超级标记,它能安全地将相互冲突的通信区分开.通信体提供了MPI中独立的安全的消息传递,不同的通信库使用独立的通信体,保证了在同一通信体的通信操作互不干扰.2 Poisson方程简介2.1 Poisson方程的定义Poisson方程是数学中的一种偏微分方程,即为其中:Δ代表的是拉普拉斯算子,而f和Δ可以是在流形上的实数或复数值的方程.当流形属于欧氏空间,而拉普拉斯算子通常表示为▽2,因此Poisson方程通常写成在二维直角坐标系统中,Poisson方程可以写成2.2 二维Poisson方程的差分离散考虑区域Ω=(0,a)×(0,b)上的Poisson方程的第一边值问题将Ω沿着x,y轴方向均剖分为m,n等分,沿x方向上的步长记为,沿y方向上的步长记为,剖分节点记为(x,y)(i=1,…,m-1,j=ii 1,…,n-1).用μij表示μ 在节点(xi,yi)的差分近似解,则离散后的差分方程为其边界为令),整理后可得其中对于格式(3)~(7),可以使用各种迭代法求解,常用的有逐次超松弛迭代法、共轭梯度法、预条件共轭梯度法、交替方法及多重网格方法等,其中雅可比迭代法以其简单实用和易于并行实现一直受到人们的重视.格式(3)~(8)的雅可比迭代格式为其中:3 实例数据测试与结果分析下面研究一类简单的Poisson方程,当此时Poisson方程的解析式为我们用区域分解法,在每个子区域用五点差分离散及雅可比迭代法并行求解此类方程.本文的硬件测试环境是16个节点的惠普高性能集群,采用千兆以太网互联,每个节点有2颗Intel Xeon 2.66G处理器,16G内存,72G SAS磁盘,NFS共享文件系统,软件环境是Red hat Enterprise Linux 4.6操作系统,内核版本为2.69-67,采用的C编译器为Intel C++12.0,MPI的版本为Intel MPI 4.0.表1为所测试问题的规模及其串行计算的执行时间.一般情况下,问题的串行计算执行时间比其并行计算的单机执行时间短,这主要是因为并行计算的单机时间中包含了并行化所带来的开销.表1 题规模及串行程序执行时间问题规模顺序执行时间400×400 3.0000e+00 800×800 4.9000e+01 1600×1600 2.0000e+02表2为所测试问题的规模及多处理机程序执行时间.对并行算法的性能测试主要是通过加速比和并行效率.我们以问题的多处理机执行时间与单处理机系统执行时间的比值作为多机加速比,把并行算法的加速比与CPU个数之间的比值定义为并行效率.图1为不同问题规模下的多机并行加速比.图2为不同问题规模下的并行效率. 表2 不同问题规模下多处理机程序执行时间问题规模并行执行时间4 node 9 node 16 node 400×400 2.5862e+00 3.0134e+00 3.2024e+00 800×8007.5078e+00 4.9370e+00 4.7353e+00 160×1600 5.2700e+01 1.8333e+01 9.2666e+00由图1可知,当矩阵为400阶时,问题的规模较小,随着节点数目的增多,加速比持续下降,且在节点数node=4时,获得最大加速比为1.16;当矩阵为800阶时,问题规模比较大时,其加速比均大于1,且几乎成线性增长;当矩阵为1 600阶时,问题规模较大,其加速比随节点的增加,表现为先逐渐变大,然后迅速减小.当node=9时,获得最大加速比为2.9655,且node=16时的加速比大于node=4时的加速比,但由图2可知其并行效率下降了61.6%,可以预测,当节点数继续增加时,其加速比和并行效率将会持续降低.由图2可知,当问题规模比较小时,矩阵规模小于800阶,随着节点数的增加,并行效率逐渐降低,但问题规模越大其并行效率也越高.4 结语通过上述实验数据可知,此类Poisson方程的并行效率和加速比很难得到非常理想的值,主要原因在于:问题规模的大小,如果问题规模较小(如:矩阵为400阶或800阶),并行计算的任务量较小,几个处理器就足够了,若处理器太多,则难以实现最佳负载平衡同时处理器也得不到充分利用.反之,如果问题规模较大(如:矩阵为1 600阶),则需要更多的处理器.但随着处理器个数的增加,并行算法的加速比在峰值后呈现下降趋势,并行效率也在下降.参考文献:[1]陈国良.并行计算—结构·算法·编程(修订版)[M].北京:高等教育出版社,2003.[2]王同科,谷同祥.Poisson方程差分格式的SOR方法中最优松弛因子的回归分析方法[J].工程数学学报,2005,22(3):474-480.[3]陆金莆,关治.偏微分方程的数值解法[M].北京:清华大学出版社,2004.[4]章隆兵,吴少刚,蔡飞,等.PC机群上共享存储与消息传递的比较[J].软件学报,2004,15(6):842-849.[5]胡明昌,史岗,胡伟武,等.PC机群上JIAJIA与MPI的比较[J].软件学报,2003(7):1187-1194.[6]张武生,薛巍,李建江,等.MPI并行程序设计实例教程[M].北京:清华大学出版社,2009.[7]都志辉.高性能计算并行编程技术-MPI并行程序设计[M].北京:清华大学出版社,2001.。