[发明专利]一种基于异构众核的LBM并行优化方法在审
申请号: | 202110440081.7 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113127200A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 张武;张晓潇;其他发明人请求不公开姓名 | 申请(专利权)人: | 苏州流场信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F13/28;G06F9/38;G06F9/30;G06F30/28 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215300 江苏省苏州市昆山开发区*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 异构众核 lbm 并行 优化 方法 | ||
1.一种基于异构众核的LBM并行优化方法,其特征在于,其包括以下步骤:
步骤一,根据LBM并行运算特性对“神威·太湖之光”的单核组进行数据储存、循环运算、通信方式上进行优化;
步骤二,在LDM上,采取双缓冲模式让LBM并行计算更加高效,同时采取了新的数据块格式;
步骤三,在进程任务划分上,根据并行度和算法难易,采取二维划分策略,同时根据LBM并行运算特性进行了计算结构的优化。
2.根据权利要求1所述的基于异构众核的LBM并行优化方法,其特征在于,所述步骤一包括:
步骤十一,优化后的数据存储格式,存储格式为数组结构体结构体(Structure ofArray)结构。按照格点信息类别分别存储格点的类型信息、格点的邻居信息和格点的分布函数(包括碰撞后和迁移后的分布函数),但是化后的格点碰撞过程仍然需要其18个邻居的分布函数信息,但是由于其所有邻居的分布函数存储在内存连续的区域,因此计算过程在读取过程没有过多消耗;
步骤十二,LBM并行程序中存在大量循环迭代计算,通过对这些循环迭代过程进行展开、指令重排能够提高对寄存器的利用效率,避免过多不必要的读写操作,提高程序的访存效率,加快程序的执行效率;
步骤十三,为了充分减少通信带来的时间消耗,启动从核之间的寄存器通信,该通信方式速度远超过直接访问主存方式。这个过程需要将64个计算核心的数据规约到0号核心。因为从核之间的寄存器通信只能进行行与行或者列与列之间的通信,为了加快该规约过程的速度,程序规约过程。首先,对于每一行,0、2、4、6号核心分别接收1、3、5、7号核心的结果。然后,0号和4号核心分别接收2、6号核心的结果。最后0号核心得到每行最终的结果。
3.根据权利要求1所述的基于异构众核的LBM并行优化方法,其特征在于,所述步骤二LDM优化包括:
申威26010处理器中每个计算核心有64KB大小的LDM,从核可以通过DMA方式与主存进行数据通信,为了提高“申威26010”处理器的加速性能,降低从核间的通信开销是一个关键步骤。双缓冲模式是在需要多次DMA读写操作的碰撞迁移计算过程中,在从核的局部存储空间上申请大小为通信数据2倍的内存空间,用来存放两份同样大小且互为对方的缓冲数据。通过程序控制来实现双缓冲模式,除了第一次和最后一次的数据通信过程,每次从核进行计算的同时,进行下一次计算的读取(或存储)数据的通信。同时提出新的数据块格式,以适合双缓冲模式的数据块传递。
4.根据权利要求1所述的基于异构众核的LBM并行优化方法,其特征在于,所述步骤三包括:
二维划分策略需要跟上下左右四个面交换面上的数据,跟右上、左上、左下和右下交换边的数据。这种策略能够保证并行度和通信复杂度都能得到均衡,为算法的可扩展性提供了很好的基础;计算结构上,计算核心阵列负责算法中碰撞与迁移部分的计算,这部分也是算法中计算最密集的部分,能够充分利用计算核心资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州流场信息技术有限公司,未经苏州流场信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110440081.7/1.html,转载请声明来源钻瓜专利网。