-
公开(公告)号:CN112446004A
公开(公告)日:2021-03-05
申请号:CN201910799250.9
申请日:2019-08-28
Applicant: 无锡江南计算技术研究所
IPC: G06F17/11
Abstract: 本发明公开一种非结构网格DILU预条件子众核并行优化算法,包括以下步骤:S1、对所有的从核进行编号,建立众核通信模型;S2、对数组进行分块、编号,各核按块拷入数据,同时按块拷入相应的和;S3、依次确定各块的依赖关系;S4、根据依赖关系,第0块遍历计算一遍,将0号块的值全部更新,同时生成数据数组,发送至后面的块;S5、根据依赖关系,其余块接收来自前在先块的数据,遍历计算后,更新块内数据,同时生成数据数组,发送至后面的块;S6、当某一从核完成更新并将数据发送给需要的核之后,重新拷入新的块。本发明对科学计算领域常见的预条件子并行问题进行代码级优化,极大减少预处理时间,提高优化效率,对大规模线性方程组求解的性能提升效果更加显著。
-
公开(公告)号:CN112445604A
公开(公告)日:2021-03-05
申请号:CN201910799249.6
申请日:2019-08-28
Applicant: 无锡江南计算技术研究所
IPC: G06F9/50
Abstract: 本发明公开一种解决非结构网格离散访存问题众核并行优化算法,包括以下步骤:S1、将网格单元周围的网格面通量数据分为若干数据块,并将不同数据块定义为不同属性;S2、将分块后的数据块并行拷入各个从核中;S3、各从核并行遍历拷入的数据块中的数据,按照该数据所对应的l(u)所在的位置,对一个数据块中的若干数据进行局部重排,并记录重排后各个数据位置索引;S4、各从核分别从主存中拷入一个通量数据块,并根据S3记录的位置索引,从重排序后的暂存空间中,拷入通量数据块所需要的Lower数据、Upper数据进行计算。本发明对非结构网格离散访存问题进行基于众核的重排序优化,极大减少了离散访存时间,提高该类问题的求解效率,从而提高整个应用系统的运行效率。
-
公开(公告)号:CN112559032B
公开(公告)日:2023-06-13
申请号:CN201910910103.4
申请日:2019-09-25
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于循环段的众核程序重构方法,包括基于循环段拆分的重构算法和基于循环段合并的重构算法,其中,所述基于循环段拆分的重构算法包括基于主从协同任务的循环段拆分和基于空间压缩的循环段拆分,所述基于循环段合并的重构算法包括基于相似结构的循环段合并和基于增加循环量的循环段合并。本发明根据异构系统的结构特点和性能指标,优化循环段的层次结构和顺序,充分发挥系统的性能优势,从而最大程序提高应用软件的计算性能。
-
公开(公告)号:CN112560163A
公开(公告)日:2021-03-26
申请号:CN201910910098.7
申请日:2019-09-25
Applicant: 无锡江南计算技术研究所
IPC: G06F30/15 , G06F30/28 , G06F30/25 , G06F30/23 , G06F111/08 , G06F111/10 , G06F113/08 , G06F119/14
Abstract: 本发明公开一种具有多重条件判别的循环优化方法,包括以下步骤:S1、分析程序运行时的时间热点函数,找出时间热点函数中一个或多个耗时程序段;S2、若S1中找到的循环段为多重条件判别的循环段,执行下一步;S3、开始第一重循环;S4、开始第二重循环;S5、重复类似S3或S4过程;S6、判断最内层循环条件的逻辑值:若为“真”,进行原方法的核心计算、执行S6,若为“假”,直接开始最内层循环的下一个值计算;S7、重复步骤S6,完成最内层循环计算;S8、依据步骤S7的处理方法,依次完成S5、S4、S3步骤相应的循环,完成整个多重循环段的计算。本发明使大规模并行计算的性能有显著提升,提高相关问题的求解效率,从而提高整个应用系统的计算运行效率,对实际工程课题的数值模拟有重要意义。
-
-
-