CN102520917A - 一种三维不可压缩管流的并行化方法 - Google Patents

一种三维不可压缩管流的并行化方法 Download PDF

Info

Publication number
CN102520917A
CN102520917A CN2011104202297A CN201110420229A CN102520917A CN 102520917 A CN102520917 A CN 102520917A CN 2011104202297 A CN2011104202297 A CN 2011104202297A CN 201110420229 A CN201110420229 A CN 201110420229A CN 102520917 A CN102520917 A CN 102520917A
Authority
CN
China
Prior art keywords
stick
border
data
grid
iteration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011104202297A
Other languages
English (en)
Inventor
万健
朱礼廷
张纪林
毛洁
徐向华
蒋从锋
任永坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN2011104202297A priority Critical patent/CN102520917A/zh
Publication of CN102520917A publication Critical patent/CN102520917A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明了公开了一种三维不可压缩管流的并行化方法,它是一种面向分布式集群的并行化方法。本发明对传统的线性系统进行替换,通过引入网格条块的执行顺序,在不改变传统迭代方法性质的同时,提高了执行过程的数据局部性;通过对迭代空间进行区域分解和网格条块的重新排序,实现了方法的并行化;通过循环交错条块技术和增加时间维对迭代空间进行时滞划分,减小了执行过程的通信和同步开销;在迭代的实际执行过程中,构造了并行方法的性能自动调优器,通过探测找到效率最优情况下的参数数值组合,并固定参数值,实现并行方法的运行效率最优。

Description

一种三维不可压缩管流的并行化方法
技术领域
本发明属于流体力学数值模拟领域,涉及一种三维不可压缩管流的并行化方法。
背景技术
在流体力学数值模拟中,磁流体管流的数值模拟研究是聚变反应堆双冷或者双功能液态锂铅包层的研究的热点之一。在聚变反应堆包层应用中,要想得到正确的数值模拟解,必须保证垂直于外加磁场壁面附近的哈德曼层(                                               )有一定数量的网格。实际的磁流体管流的数值模拟当中由于外加磁场和流动的液态金属的相互作用以及网格要求的特殊性导致网格规模大及迭代求解过程缓慢,常常持续数小时或数天,因此必须采用并行方法才能完成磁流体管流的数值模拟。
在计算流体力学数值模拟中,并行技术一般采用物理区域分割并行方法,计算网格划分和计算区域分解是实现粗粒度并行的最直接有效的任务分配策略。区域分解方法因其适用于构造并行算法的特点,被逐渐推广到CFD领域,并在近年来发展迅速,已经成为并行计算中最活跃的研究之一,在流体力学方面都有着重要的应用。
有限差分方法的并行一直是数值计算的重要研究对象,关于有限差分的并行化,还有4个问题需要进一步的优化。(1)数据局部性问题。传统的迭代方法,对迭代间的数据局部性优化效果有限。(2)可扩展性问题。传统的并行化迭代算法在迭代内和迭代间都需要同步操作以维护数据依赖关系。处理机进行全局的同步,会增加开销时间,当处理机的台数增多时,全局同步的代价变得更加重要,并且影响算法的可扩展性。(3)通信和同步开销问题。由于传统的并行化算法需要在每次迭代过程中通过通信操作得到边界数据,通信开销制约了并行算法的效率。并且当问题给定时,随着处理机台数的增大,并行纯计算时间在减少,而通信时间在不断增加,这必将影响并行算法的可扩展性。(4)数据依赖关系问题。迭代空间划分所引入的条块依赖关系严重阻碍了循环的并行化,大量的Cache缺失和TLB容量缺失会以及通信开销严重影响传统迭代算法程序的性能,因此需要研究减少通信时间的新方法。
发明内容
本发明提出了三维不可压缩管流的并行化方法,它面向分布式集群并具有自动调优的功能,通过使用交错条块和网络条块重排序技术,提高并行执行的性能。
本发明所采用的技术方案是:
本发明是将迭代空间分块引入到执行序中,通过时间轴方向将迭代空间划分成网格条块,实现了对同一网格块进行递归式多次迭代步更新,从而在不改变原有迭代方法性质的同时,提高了条块内数据局部性;通过改变条块网格条块间数据依赖关系,提高条块执行的并行度。
本发明具体步骤为:
1、迭代空间的网格条块划分:依据处理器数目P及处理器拓扑结构,利用区域分解法将空间计算区域划分成P个子空间。
2、沿时间轴方向对迭代空间进行划分:采用时滞技术,在迭代时间步上对每层迭代的子空间进行边界修正。定义有向图
Figure 40657DEST_PATH_IMAGE004
存放相邻网格块的数据依赖关系。若网格块与网格块
Figure 277920DEST_PATH_IMAGE008
边界相连且正向迭代时
Figure 92292DEST_PATH_IMAGE008
的更新顺序在之前,则
Figure 493372DEST_PATH_IMAGE010
,即
Figure 692273DEST_PATH_IMAGE012
的迭代更新依赖条块中的边界数据。对迭代空间划分后,形成网格条块。
3、对网格条块进行重新排序。根据处理器个数,对所有的网格条块进行重新排序,实现并行化。
4、指定迭代方向。交错条块迭代算法分为奇数
Figure 416832DEST_PATH_IMAGE014
次和偶数次迭代,并且奇数
Figure 721223DEST_PATH_IMAGE014
次迭代和偶数
Figure 306925DEST_PATH_IMAGE014
次迭代执行方向相反。
5、以网格条块为单位执行奇数
Figure 736769DEST_PATH_IMAGE014
次迭代数据更新。执行奇数
Figure 281190DEST_PATH_IMAGE014
次迭代更新,更新顺序按照重新排序之后各个子空间内的条块顺序。当更新奇数
Figure 556314DEST_PATH_IMAGE014
中的"边界递减条块"和"边界偏移条块"后,需要将边界数据发送给相邻的"边界递增条块"和"边界偏移条块",而接收数据的条块必须在接收完数据后才进行迭代更新。空间条块的边界网格点必须发送给其它相邻子空间以维护数据依赖关系。"边界递减条条块"在执行更新后将自身边界网格数据发送给"边界递增条块"。"边界递增条块"必须在接受其它子空间条块发送的边界网格数据后才执行更新。"边界偏移条块"在执行前后需要接收数据和发送数据。其余的条块为"边界不变条块",其自身计算不需要其它处理器中网格条块的边界值,也不需要发送自身网格数据给其它条块。
所述的"边界递减条块"为每迭代计算一次边界减少一层的网格条块,"边界偏移条块"为每迭代计算一次边界偏移一层的网格条块,"边界不变条块"为迭代过程中边界不发生变化的网格条块。
6、以网格条块为单位执行偶数
Figure 262101DEST_PATH_IMAGE014
次迭代数据更新。执行偶数
Figure 597268DEST_PATH_IMAGE014
次迭代更新,更新顺序按照每个子空间内的条块顺序反序执行。当更新偶数
Figure 139239DEST_PATH_IMAGE014
次中的"边界递减条块"和"边界偏移条块"后,需要将边界数据发送给相邻的"边界递增条块"和"边界偏移条块",而接收数据的条块必须在接收完数据后才进行迭代更新。
7、反复执行步骤5和步骤6,直至整个计算过程达到指定的收敛标准。
本发明的有益效果:所有的处理器可以同时对它们的子空间进行处理;连续两次正反扫描过程中,方法的工作集不变;每执行
Figure 218053DEST_PATH_IMAGE014
次迭代操作,通信一次;采用阻塞式通信,通过计算和通信叠加,对方法的通信进行了优化。
本发明所提出的一种三维不可压缩管流的并行化方法具有良好的并行效率和可扩展性。另外,对并行计算过程中的条块大小及内部迭代次数
Figure 716031DEST_PATH_IMAGE014
等参数,针对不同的体系结构下,选择最优的参数,实现了并行的运行效率最优。
附图说明
图1是对迭代空间进行数据划分的示意图。
图2是条块生长过程的示意图。
图3是四维迭代空间的两类条块划分方法示意图。
图4是两类条块划分方法的条块依赖图。
图5是多个子区域的并行化的示意图。
具体实施方式
下面结合附图对本方法的具体实施方式作进一步详细的说明。
本发明提出的一种三维不可压缩管流的并行化方法,它面向分布式集群并具有自动调优的功能,对传统的线性系统进行替换,通过引入网格条块序的执行顺序,在不改变传统迭代方法性质的同时,提高了执行过程的数据局部性;通过对迭代空间进行区域分解和网格条块的重新排序,实现了并行化;通过循环交错条块技术和增加时间维对迭代空间进行时滞划分,减小了执行过程的通信和同步开销;在迭代的实际执行过程中,构造了并行技术的性能自动调优器,通过探测找到效率最优情况下的参数数值组合,并固定参数值,实现并行方法的运行效率最优。
对迭代空间的网格条块划分:依据处理器数目P及处理器拓扑结构,利用区域分解法将空间计算区域划分成P个子空间。图1中将迭代空间划分成了
Figure 549994DEST_PATH_IMAGE016
个子空间。
沿时间轴方向对迭代空间进行划分:采用时滞技术,在迭代时间步上对每层迭代的子空间进行边界修正。定义有向图
Figure 812217DEST_PATH_IMAGE004
存放相邻网格块的数据依赖关系。若网格块
Figure 694723DEST_PATH_IMAGE006
与网格块
Figure 109523DEST_PATH_IMAGE008
边界相连且正向迭代时
Figure 52072DEST_PATH_IMAGE008
的更新顺序在
Figure 303056DEST_PATH_IMAGE006
之前,则
Figure 785990DEST_PATH_IMAGE010
,即
Figure 258559DEST_PATH_IMAGE012
的迭代更新依赖
Figure 686523DEST_PATH_IMAGE008
条块中的边界数据。对迭代空间划分后,形成网格条块。图2为子空间边界的修正过程,每一次迭代操作,在三个方向上分别偏移一层边界。
对网格条块进行重新排序:根据处理器个数,对所有的数据条块进行重新排序,以实现并行化执行。图3给出了四维迭代空间(空间维+时间维)迭代空间的两种交错划分,对应的网格条块依赖关系如图4所示。图3和图4的左半部分显示网格条块按条块顺序串行执行的迭代更新,从正向第1块tile(1)到第12块数据tile(12),然后从第12块tile(12)到第1块数据tile(1),长度为12,因此没有并行度。图3和图4的右半部分显示,通过增加边界条块进而改变网格条块的执行顺序,可以实现四个进程的并行执行迭代更新,并行度为4。四个进程在正向执行条块迭代更新过程中,分别执行所属第一个条块后执行同步操作以维护条块间的数据依赖关系。同样四个进程在反向执行条块更新过程中,分别在执行所属第一个条块后执行同步操作以维护条块间的数据依赖关系,显然,第二种划分的执行速度是第一种划分方式的四倍。通过改变条块网格条块间数据依赖关系,提高条块执行的并行度。
指定迭代方向。交错条块迭代算法分为奇数
Figure 611754DEST_PATH_IMAGE014
次和偶数次迭代,并且奇数
Figure 959875DEST_PATH_IMAGE014
次迭代和偶数
Figure 244226DEST_PATH_IMAGE014
次迭代执行方向相反。
以网格条块为单位执行奇数
Figure 469802DEST_PATH_IMAGE014
次迭代数据更新。执行奇数
Figure 560118DEST_PATH_IMAGE014
次迭代更新,更新顺序按照重新排序之后各个子空间内的条块顺序。当更新奇数
Figure 741701DEST_PATH_IMAGE014
中的"边界递减条块"和"边界偏移条块"后,需要将边界数据发送给相邻的"边界递增条块"和"边界偏移条块",而接收数据的条块必须在接收完数据后才进行迭代更新。空间条块的边界网格点必须发送给其它相邻子空间以维护数据依赖关系。"边界递减条条块"在执行更新后将自身边界网格数据发送给"边界递增条块"。"边界递增条块"必须在接受其它子空间条块发送的边界网格数据后才执行更新。"边界偏移条块"在执行前后需要接收数据和发送数据。其余的条块为"边界不变条块",其自身计算不需要其它处理器中网格条块的边界值,也不需要发送自身网格数据给其它条块。
所述的"边界递减条块"为每迭代计算一次边界减少一层的网格条块,"边界偏移条块"为每迭代计算一次边界偏移一层的网格条块,"边界不变条块"为迭代过程中边界不发生变化的网格条块。
以网格条块为单位执行偶数
Figure 242958DEST_PATH_IMAGE014
次迭代数据更新。执行偶数
Figure 142781DEST_PATH_IMAGE014
次迭代更新,更新顺序按照每个子空间内的条块顺序反序执行。当更新偶数
Figure 708891DEST_PATH_IMAGE014
次中的"边界递减条块"和"边界偏移条块"后,需要将边界数据发送给相应的"边界递增条块"和"边界偏移条块",而接收数据的条块必须在接收完数据后才进行迭代更新。
反复执行上述奇数
Figure 72877DEST_PATH_IMAGE014
次迭代和偶数
Figure 433451DEST_PATH_IMAGE014
次迭代数据更新,直至整个计算过程达到指定的收敛标准。图5为整个的并行执行过程。
本发明分开了一种三维不可压缩管流的并行化方法,它对传统的线性系统进行替换,通过将网格条块序引入串行方法的执行顺序,在不改变传统迭代方法性质的同时,提高了执行过程的数据局部性;通过对迭代空间进行区域分解和网格条块的重新排序,实现了并行化;通过循环交错条块技术和增加时间维对迭代空间进行时滞划分,减小了执行过程的通信和同步开销;在迭代的实际执行过程中,构造了并行技术的性能自动调优器,通过探测找到效率最优情况下的参数数值组合,并固定参数值,实现并行化方法的运行效率最优。

Claims (1)

1.一种三维不可压缩管流的并行化方法,其特征在于该方法包括以下步骤:
步骤1、迭代空间的网格条块划分:依据处理器数目P及处理器拓扑结构,利用区域分解法将空间计算区域划分成P个子空间;
步骤2、沿时间轴方向对迭代空间进行划分:采用时滞技术,在迭代时间步上对每层迭代的子空间进行边界修正;定义有向图                                                
Figure 2011104202297100001DEST_PATH_IMAGE001
存放相邻网格块的数据依赖关系;若网格块与网格块边界相连且正向迭代时
Figure 633317DEST_PATH_IMAGE003
的更新顺序在之前,则
Figure 845173DEST_PATH_IMAGE004
,即
Figure 2011104202297100001DEST_PATH_IMAGE005
的迭代更新依赖
Figure 414826DEST_PATH_IMAGE003
条块中的边界数据;对迭代空间划分后,形成网格条块;
步骤3、对网格条块进行重新排序:根据处理器个数,对所有的网格条块进行重新排序,实现并行化;
步骤4、指定迭代方向:交错条块迭代算法分为奇数
Figure 66387DEST_PATH_IMAGE006
次和偶数次迭代,并且奇数
Figure 818497DEST_PATH_IMAGE006
次迭代和偶数
Figure 367290DEST_PATH_IMAGE006
次迭代执行方向相反;
步骤5、以网格条块为单位执行奇数次迭代数据更新:执行奇数次迭代更新,更新顺序按照重新排序之后各个子空间内的条块顺序;当更新奇数
Figure 796631DEST_PATH_IMAGE006
中的"边界递减条块"和"边界偏移条块"后,需要将边界数据发送给相邻的"边界递增条块"和"边界偏移条块",而接收数据的条块必须在接收完数据后才进行迭代更新;空间条块的边界网格点必须发送给其它相邻子空间以维护数据依赖关系;"边界递减条条块"在执行更新后将自身边界网格数据发送给"边界递增条块";"边界递增条块"必须在接受其它子空间条块发送的边界网格数据后才执行更新;"边界偏移条块"在执行前后需要接收数据和发送数据;其余的条块为"边界不变条块",其自身计算不需要其它处理器中网格条块的边界值,也不需要发送自身网格数据给其它条块;
所述的"边界递减条块"为每迭代计算一次边界减少一层的网格条块,"边界偏移条块"为每迭代计算一次边界偏移一层的网格条块,"边界不变条块"为迭代过程中边界不发生变化的网格条块;
步骤6、以网格条块为单位执行偶数
Figure 199931DEST_PATH_IMAGE006
次迭代数据更新;执行偶数
Figure 521191DEST_PATH_IMAGE006
次迭代更新,更新顺序按照每个子空间内的条块顺序反序执行;当更新偶数
Figure 275520DEST_PATH_IMAGE006
次中的"边界递减条块"和"边界偏移条块"后,需要将边界数据发送给相邻的"边界递增条块"和"边界偏移条块",而接收数据的条块必须在接收完数据后才进行迭代更新;
步骤7、反复执行步骤5和步骤6,直至整个计算过程达到指定的收敛标准。
CN2011104202297A 2011-12-15 2011-12-15 一种三维不可压缩管流的并行化方法 Pending CN102520917A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104202297A CN102520917A (zh) 2011-12-15 2011-12-15 一种三维不可压缩管流的并行化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104202297A CN102520917A (zh) 2011-12-15 2011-12-15 一种三维不可压缩管流的并行化方法

Publications (1)

Publication Number Publication Date
CN102520917A true CN102520917A (zh) 2012-06-27

Family

ID=46291860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104202297A Pending CN102520917A (zh) 2011-12-15 2011-12-15 一种三维不可压缩管流的并行化方法

Country Status (1)

Country Link
CN (1) CN102520917A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150290A (zh) * 2013-02-28 2013-06-12 杭州电子科技大学 一种新型的三维不可压缩管流数值模拟方法
CN103984527A (zh) * 2014-04-01 2014-08-13 杭州电子科技大学 优化稀疏矩阵向量乘提升不可压缩管流模拟效率的方法
CN112162957A (zh) * 2020-10-13 2021-01-01 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据压缩存储方法、解压缩方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009059045A2 (en) * 2007-10-30 2009-05-07 University Of Utah Research Foundation Fast iterative method for processing hamilton-jacobi equations
CN102096744A (zh) * 2011-03-07 2011-06-15 杭州电子科技大学 一种非规则迭代并行化方法
CN102200962A (zh) * 2011-07-25 2011-09-28 杭州电子科技大学 一种基于迭代空间条块的并行有限差分模版方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009059045A2 (en) * 2007-10-30 2009-05-07 University Of Utah Research Foundation Fast iterative method for processing hamilton-jacobi equations
CN102096744A (zh) * 2011-03-07 2011-06-15 杭州电子科技大学 一种非规则迭代并行化方法
CN102200962A (zh) * 2011-07-25 2011-09-28 杭州电子科技大学 一种基于迭代空间条块的并行有限差分模版方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150290A (zh) * 2013-02-28 2013-06-12 杭州电子科技大学 一种新型的三维不可压缩管流数值模拟方法
CN103984527A (zh) * 2014-04-01 2014-08-13 杭州电子科技大学 优化稀疏矩阵向量乘提升不可压缩管流模拟效率的方法
CN112162957A (zh) * 2020-10-13 2021-01-01 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据压缩存储方法、解压缩方法及装置

Similar Documents

Publication Publication Date Title
CN108241890B (zh) 一种可重构神经网络加速方法及架构
AU2019442319A1 (en) Structural topology optimization method based on material-field reduction series expansion
CN102110079B (zh) 一种基于mpi的分布式共轭梯度法的调优计算方法
CN103281376A (zh) 一种云环境下海量时序遥感影像的自动缓存构建方法
CN105589951A (zh) 一种海量遥感影像元数据分布式存储方法及并行查询方法
CN104156267A (zh) 任务分配方法、任务分配装置及片上网络
Jin et al. A parallel optimization method for stencil computation on the domain that is bigger than memory capacity of GPUs
CN103188346A (zh) 支持分布式决策的大规模高并发访问i/o服务器负载均衡系统
CN102520917A (zh) 一种三维不可压缩管流的并行化方法
CN111079078A (zh) 面向结构网格稀疏矩阵的下三角方程并行求解方法
Nakajima Optimization of serial and parallel communications for parallel geometric multigrid method
CN104572295A (zh) 匹配于高性能计算机体系结构的结构网格数据管理方法
CN101799846A (zh) 一种地下水修复多目标优化方法
Gondimalla et al. Eureka: Efficient Tensor Cores for One-sided Unstructured Sparsity in DNN Inference
CN102521463A (zh) 一种优化Cache行为提升油藏数值模拟效率的方法
CN105874437B (zh) 存储器管理方法和装置
CN102200962A (zh) 一种基于迭代空间条块的并行有限差分模版方法
CN102223404A (zh) 一种基于访问成本和传输时间的副本选择方法
Han et al. A global router on GPU architecture
CN105138607A (zh) 一种基于混合粒度分布式内存网格索引的knn查询方法
CN104598600B (zh) 一种基于分布式内存的并行数字地形分析优化方法
CN102509177B (zh) 一种基于云平台的局部加权线性回归预测运算的方法
CN103425787A (zh) 一种渐进最优的三角网格重复顶点快速去除方法
CN114021070A (zh) 一种基于微架构处理器的深度卷积计算方法及系统
Ampellio et al. A hybrid ABC for expensive optimizations: CEC 2016 competition benchmark

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120627