[发明专利]SOR的并行通信优化方法无效
申请号: | 200810239582.3 | 申请日: | 2008-12-12 |
公开(公告)号: | CN101430654A | 公开(公告)日: | 2009-05-13 |
发明(设计)人: | 胡长军;李建江;赵冲冲;张继林 | 申请(专利权)人: | 北京科技大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F17/13 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sor 并行 通信 优化 方法 | ||
1、SOR的并行通信优化方法,其特征在于:优化方法分为两个阶段顺序进行,包括串行执行阶段和并行执行阶段;将1维空间网格点和1维时间点组成1+1维的迭代空间网格系统Snode_space(Z,T),Z为一维的网格空间,T表示时间空间;其中网格点Pnode定义为:Pnode(x,t)={ux(t)|(x∈Z,t∈T)},x表示一维网格点,t表示时间维,ux(t)表示1+1维迭代空间内的网格点;
第一阶段:串行执行阶段
步骤1.网格块划分
用区域分解方法将网格区域Snode_space(Z,T)在T=0处进行等份划分,划分后使得每块网格Sub_Snode_space(m,t=0)中的网格点数为R,1≤m≤L,m表示t=0时的第m个网格块,L为t=0时的总块数,R满足R>2K,K为单向迭代次数,K的值为cache大小的一半;
步骤2.在网格块的基础上,沿时间轴对网格区域进行划分
划分方法采用时滞技术,对每层网格子区域修正其边界,修正方法描述如下:
a)对于奇数K层循环中的第一个网格块:
Sub_Snode_space(m=1,t=k)=Sub_Snode_space(m=1,t=k-1)-Pynode(m,k-1),其中,Pynode(m,k-1)为第m个网格块在第k-1次迭代时间步的右边界点;
b)对于奇数K层循环中的最后一个网格块,即第L个网格块:Sub_Snode_space(m=L,t=k)=Sub_Snode_space(m=L,t=k-1)+Pynode(m-1,k-1),其中,Pynode(m-1,k-1)为第m-1个网格块在第k-1次迭代时间步的右边界点;
c)对于奇数K层循环中的除第一个和最后一个网格块外的其他网格块:Sub_Snode_space(m,t=k)=Sub_Snode_space(m,t=k-1)+Pynode(m-1,k-1)-Pynode(m,k-1);
d)对于偶数K层循环中的最后一个,即第L个网格块:Sub_Snode_space(m=L,t=k)=Sub_Snode_space(m=L,t=k-1)-Pznode(m,k-1),其中,Pznode(m,k-1)为第m个网格块在第k-1次迭代时间步的左边界点;
e)对于偶数K层循环中的第一个网格块:Sub_Snode_space(m=1,t=k)=Sub_Snode_space(m=1,t=k-1)+Pznode(m+1,k-1),其中,Pznode(m+1,k-1)为第m个网格块在第k-1次迭代时间步的左边界点;
f)对于偶数K层循环中的除第一个和最后一个网格块外的其他网格块:Sub_Snode_space(m,t=k)=Sub_Snode_space(m,t=k-1)+Pznode(m+1,k-1)-Pznode(m,k-1);
以上修正中,1≤k≤K;
边界修正后,在奇数K次迭代中,网格块和相应的边界点组成了下层空间网格条块b_tile1~b_tileL,在偶数K次迭代中,网格块和相应的边界点组成了上层网格条块t_tile1~t_tileL;
步骤3.按空间网格条块顺序执行SOR方法
网格条块生成后,按条块顺序执行,以条块内部网格点层作为内部执行序,条块序作为外部执行序,其执行顺序描述如下:
对于奇数K层循环中,依次执行块b_tile1~b_tileL,每个块内,按时间步顺序执行,每个时间步是按照从左到右的顺序进行计算;
对于偶数K层循环中,依次执行块t_tile1~t_tileL,每个块内,按时间步顺序执行,每个时间步是按照从右到左的顺序进行计算;
第二阶段,并行执行实现步骤描述如下:
步骤4.依据处理器数目q,将空间计算区域划分为q个子空间sub_domain;第一块子空间的大小和最后一块子区域的大小通过添加和减少K/2个数据进行修正,其它子区域的大小为n/q;
步骤5.该方法分奇数和偶数K次迭代,并且奇数K次迭代与偶数K次迭代执行方向相反;
步骤6.各子区域通过时间轴进行划分,同步骤2执行;
步骤7.对网格条块重新排序:
根据多色排序方法将所有的网格块进行重新排序,相邻的网格块使用不同颜色,并对相同颜色使用连续的数字标示;
步骤8.以网格条块为单位执行奇数K次迭代数据更新:
首先,执行奇数K次迭代更新,更新所有sub_domain中的“发送条块”,以及第一个条块;然后,将边界数据发送给相邻sub_domain的“接收条块”;最后,更新所有sub_domain中的“接收条块”,以及最后一个条块;
步骤9.以网格条块为单位执行偶数K次迭代数据更新:
首先,执行偶数K次迭代更新,更新所有sub_domain中的“发送条块”,以及最后一个条块;然后,将边界数据发送给相邻sub_domain的“接收条块”;最后,更新所有sub_domain中的“接收条块”,以及第一个条块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学,未经北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810239582.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:高倍聚光太阳电池封装方法
- 下一篇:投影机灯泡盖锁紧机构