- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于多维区域的并行化方法.pdf
基于多维区域的并行化方法
陈 军,莫则尧,张爱清,左风丽
(北京应用物理与计算数学研究所高性能计算中心,100088)
(chenojun@ )
摘 要 在实际大型科学和工程应用中,并行程序大多采用将串行程序直接并行化的方法。
但是,由于串行程序的固有结构,直接并行化存在着并行粒度不高的问题。为了充分挖掘并
行性,实现规模的可扩展,我们提出了一种基于多维区域的并行化方法,并对一典型串行程
序进行并行化,目前已经将它的平均并行粒度从十几个提高到上千个。
关键字 数据相关,控制相关,程序并行化,区域,并行粒度
1.引言
反应堆内的物理过程以及它的许多核的和工程方面的特性,都和中子群体在系统内的运
动以及系统内中子的空间-能量分布有关。其中,描述中子在介质内输运过程中的中子密度
分布函数所满足的基本方程式——中子输运方程的求解,是反应堆物理分析中的基本组成部
分[1]。因此,对这部分的并行化并使之具有良好的规模可扩展性,是亟待解决的问题。
但是,直接将它并行化存在着并行粒度不高的问题。由于串行程序的固有结构,直接将
它简单并行的结果估计在十几个数量的并行粒度级别上,不能利用更多的处理机资源来处理
更大规模的问题,达不到规模的可扩展。因此,我们基于灵活的多维区域,提出了一种并行
化方法,来达到提高并行粒度的目的。
文章结构如下:第 2 节是相关理论基础[2],第 3 节是求解中子输运方程串行程序的抽
象二级模型,第 4 节是基于多维区域的并行化方法,最后总结全文。
2 .相关理论基础
2.1 数据和控制相关
程序中的数据相关主要包括三种类型:流相关,反向相关和输出相关。如果程序中,从
语句 s1 到 s2 存在执行通路,则它们存在如下关系:
定义 2.1.1 :流相关:若 s1 对某个值进行写操作,该值随后被 s2 引用。
定义 2.1.2 :反向相关:如果 s1 引用某值,而该值随后被 s2 刷新。
定义 2.1.3 :输出相关:如果 s1 对某个值进行写操作,该值随后被 s2 刷新。
其中,流相关又称作真相关,后两种被称为伪相关,因为它们可通过一定变换消除相关。
定义 2.1.4 :控制相关:如果 s2 的执行取决于s1 的执行结果,则它们存在控制相关。
*本课题获国家 863-11 高技术课题(2001AA111040)经费资助。
2.2 循环中的相关
通常,循环占据了整个程序执行过程的绝大部分。因此,在循环层次上的相关分析是并
行化技术主要研究内容。循环中的相关关系分为跨循环的相关和循环无关的相关。
定义 2.2.1 跨循环的相关:一次循环迭代和另一次迭代之间的数据和控制相关关系。
定义 2.2.2 循环无关的相关:虽限定了循环体内部语句的执行顺序,但不能阻止循环的并行
执行。
3 .求解中子输运方程串行程序的抽象二级模型
在中子输运问题中,多群方法是最常用的离散方法。在该方法中,将中子通量密度的分
布范围划分为多个间隔,每个能量间隔称为一个能群。中子输运问题就被离散为多个能群的
计算和耦合过程。
通过分析,我们首先抽象出了求解中子输运方程的串行程序的二级模型。第一级为时间
帧循环模型,这里的时间帧指的是一次时间迭代中所有能群特征数据及其对这些数据的计
算。在该级上,我们主要分析跨时间帧的相关关系(简称帧间相关),即前一时间帧计算与
本时间帧计算之间的流相关。第二级为群循环模型,指的是时间帧内部对多个能群特征数据
计算的嵌套循环。每一个时间帧内包含多个能群循环计算。在该级上,我们将群循环之间的
相关关系定义为群间相关。
开始
初始化
群循环
时
间 群循环
帧
循
环 …
文档评论(0)