非结构网格DILU预条件子众核并行优化算法

    公开(公告)号:CN112446004A

    公开(公告)日:2021-03-05

    申请号:CN201910799250.9

    申请日:2019-08-28

    Abstract: 本发明公开一种非结构网格DILU预条件子众核并行优化算法,包括以下步骤:S1、对所有的从核进行编号,建立众核通信模型;S2、对数组进行分块、编号,各核按块拷入数据,同时按块拷入相应的和;S3、依次确定各块的依赖关系;S4、根据依赖关系,第0块遍历计算一遍,将0号块的值全部更新,同时生成数据数组,发送至后面的块;S5、根据依赖关系,其余块接收来自前在先块的数据,遍历计算后,更新块内数据,同时生成数据数组,发送至后面的块;S6、当某一从核完成更新并将数据发送给需要的核之后,重新拷入新的块。本发明对科学计算领域常见的预条件子并行问题进行代码级优化,极大减少预处理时间,提高优化效率,对大规模线性方程组求解的性能提升效果更加显著。

    解决非结构网格离散访存问题众核并行优化算法

    公开(公告)号:CN112445604A

    公开(公告)日:2021-03-05

    申请号:CN201910799249.6

    申请日:2019-08-28

    Abstract: 本发明公开一种解决非结构网格离散访存问题众核并行优化算法,包括以下步骤:S1、将网格单元周围的网格面通量数据分为若干数据块,并将不同数据块定义为不同属性;S2、将分块后的数据块并行拷入各个从核中;S3、各从核并行遍历拷入的数据块中的数据,按照该数据所对应的l(u)所在的位置,对一个数据块中的若干数据进行局部重排,并记录重排后各个数据位置索引;S4、各从核分别从主存中拷入一个通量数据块,并根据S3记录的位置索引,从重排序后的暂存空间中,拷入通量数据块所需要的Lower数据、Upper数据进行计算。本发明对非结构网格离散访存问题进行基于众核的重排序优化,极大减少了离散访存时间,提高该类问题的求解效率,从而提高整个应用系统的运行效率。

    具有多重条件判别的循环优化方法

    公开(公告)号:CN112560163A

    公开(公告)日:2021-03-26

    申请号:CN201910910098.7

    申请日:2019-09-25

    Abstract: 本发明公开一种具有多重条件判别的循环优化方法,包括以下步骤:S1、分析程序运行时的时间热点函数,找出时间热点函数中一个或多个耗时程序段;S2、若S1中找到的循环段为多重条件判别的循环段,执行下一步;S3、开始第一重循环;S4、开始第二重循环;S5、重复类似S3或S4过程;S6、判断最内层循环条件的逻辑值:若为“真”,进行原方法的核心计算、执行S6,若为“假”,直接开始最内层循环的下一个值计算;S7、重复步骤S6,完成最内层循环计算;S8、依据步骤S7的处理方法,依次完成S5、S4、S3步骤相应的循环,完成整个多重循环段的计算。本发明使大规模并行计算的性能有显著提升,提高相关问题的求解效率,从而提高整个应用系统的计算运行效率,对实际工程课题的数值模拟有重要意义。

Patent Agency Ranking