[发明专利]异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法及系统在审
申请号: | 201910629582.2 | 申请日: | 2019-07-12 |
公开(公告)号: | CN110347967A | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 喻高远;金先龙;李俊杰;马志强;廖鹏 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F17/11 | 分类号: | G06F17/11;G06F15/173 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 两级 线性方程组 众核处理器 并行计算 缩聚 异构 分区 子区域 主核 分布式数据存储 分层通信 数据信息 同步访问 多文件 局部化 从核 存储 组装 通信 | ||
1.一种异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,包括如下步骤:
S1,经分区软件将任意带状线性方程组数据剖分为N个初始子区域,并将每个初始子区域的方程组系数和方程右端项单独保存于一个文件中,其中N为单个核组的整数倍;
S2,各核组主核并行读取所述初始子区域的系统方程数据,并将各初始子区域的系统方程数据传递给相应的从核,各核组从核同步单独形成每个初始子区域的系统方程,经缩聚消去每个初始子区域内部变量,得到仅与边界变量相关的各初始子区域的界面方程;
S3,各核组主核通过组集位于同一核组内的所有底层初始子区域界面方程形成各顶层组装子区域的系统方程,经缩聚消去每个组装子区域的内部变量,得到仅与边界变量相关的各顶层组装子区域的界面方程;
S4,各核组主核通过相互通信利用并行算法求解组装子区域的界面方程,得到各组装子区域边界变量后,同时回代求解每个组装子区域内部变量;
S5,各核组主核将包括内部变量、边界变量和系统方程数据在内的顶层组装子区域的结果发送给位于同一核组内的底层各初始子区域,底层各初始子区域从接收结果中提取自身边界变量值,再回代求解内部变量;若迭代结束则输出结果,否则重新从第二步开始执行。
2.根据权利要求1所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述步骤S1中,每个所述初始子区域内的n阶方程按p个区域平均分配,余数q依次附加到前q个区域上,则每个区域占有的方程组阶数为:
3.根据权利要求1所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述步骤S3中,所述顶层组装子区域是把位于同一核组内的所有底层初始子区域组装在一起,并只保留初始子区域边界变量信息生成的新子区域。
4.根据权利要求1所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述步骤S4中,所述并行算法为并行SuperLU算法,并行SuperLU算法并行求解时各组装子区域的等效系数矩阵和等效方程右端项仍分布式存储在各核组主核上,中间计算结果也以矩阵和向量积的形式分布式存储在各核组主核上,从核仅用于计算。
5.根据权利要求1所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述步骤S4中,所述相互通信包括局部通信和全局通信,所述局部通信只存在于各核组主核与从核之间,所述全局通信用于部分点积操作和整体矩阵分解的计算。
6.根据权利要求1所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述步骤S2-S5任一步骤中的所述界面方程其左端项均为凝聚得到的子区域等效方程系数矩阵,其右端项均为凝聚得到的子区域等效方程右端项向量。
7.根据权利要求1所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述步骤S2-S5任一步骤中的所述内部变量是指仅从属于一个子区域独有的变量,且和子区域内部方程系数相关的变量,所述的子区域为初始子区域或组装子区域。
8.根据权利要求1所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述步骤S2-S5任一步骤中的边界变量是指从属于两个或多个子区域的变量,且和子区域边界方程系数相关的变量,所述的子区域为初始子区域或组装子区域。
9.根据权利要求8所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,其特征在于,所述边界变量与边界方程带宽的关系为2*(l+m),其中,l为对角线下的半带宽,m为对角线上的半带宽,且满足条件l≤m。
10.一种异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算系统,其特征在于,采用权利要求1-9任一所述的异构众核处理器的任意带状线性方程组两级分区两次缩聚并行计算的方法,包括:
初始子区域生成模块:通过分区软件将任意带状线性方程组数据剖分为N个初始子区域,并将每个初始子区域的方程组系数和方程右端项单独保存于一个文件中,其中N为单个核组的整数倍;
初始子区域界面方程获取模块:通过各核组主核并行读取所述初始子区域的系统方程数据,并将各初始子区域的系统方程数据传递给相应的从核,各核组从核同步单独形成每个初始子区域的系统方程,经缩聚消去每个初始子区域内部变量,得到仅与边界变量相关的各初始子区域的界面方程;
组装子区域界面方程获取模块:各核组主核通过组集位于同一核组内的所有底层初始子区域界面方程形成各顶层组装子区域的系统方程,经缩聚消去每个组装子区域的内部变量,得到仅与边界变量相关的各顶层组装子区域的界面方程;
并行求解模块:各核组主核通过相互通信利用并行SuperLU算法求解组装子区域的界面方程,得到各组装子区域边界变量后,同时回代求解每个组装子区域内部变量;
迭代结果输出模块:每个核组内的主核将包括内部变量、边界变量和系统方程数据在内的顶层组装子区域的结果发送给位于同一核组内的底层各初始子区域,底层各初始子区域从接收结果中提取自身边界变量值,再回代求解内部变量;若迭代结束则输出结果,否则继续迭代。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910629582.2/1.html,转载请声明来源钻瓜专利网。