面向异构SIMD扩展部件的自动向量化方法

    公开(公告)号:CN103279327B

    公开(公告)日:2015-11-25

    申请号:CN201310155403.9

    申请日:2013-04-28

    Abstract: 本发明涉及高性能计算自动并行化领域,特别涉及一种面向异构SIMD扩展部件的自动向量化方法,适用于不同向量长度、不同向量指令集的异构SIMD扩展部件,设计一套虚拟指令集,能够在自动向量化统一架构下将输入的C和Fortran程序转化为虚拟指令的中间表示,通过向量长度解虚拟化和指令集解虚拟化,自动变换为面向异构SIMD扩展部件的向量化代码,使程序员从繁冗复杂的手工向量化编码中解脱出来,本发明将向量化方法与相关优化方法相结合,从不同粒度进行向量识别,通过常规优化和引用点优化,最大限度的发掘循环级和基本块级的混合并行性,通过分析跨越基本块的数据依赖,对生成后的代码进行冗余优化,有效提升了程序的执行效率。

    基于二次规划模型的非线性下标表达式的依赖测试方法

    公开(公告)号:CN103226513B

    公开(公告)日:2015-12-09

    申请号:CN201310147595.9

    申请日:2013-04-25

    Abstract: 本发明涉及一种分析程序指令之间依赖关系的方法,属于高性能计算中并行化编译优化技术领域,特别是涉及一种基于二次规划模型的非线性下标表达式的依赖测试方法,本发明针对传统依赖测试方法对非线性依赖测试的不足,通过对循环索引边界约束条件下二次下标表达式的极值分析,将二次表达式的依赖测试抽象为一种二次规划的非线性规划问题,构造一种针对二次下标表达式依赖测试方法的可行方法,判定被测数组对之间的依赖,从而有效提高判定依赖和并行识别的能力。

    面向异构SIMD扩展部件的自动向量化方法

    公开(公告)号:CN103279327A

    公开(公告)日:2013-09-04

    申请号:CN201310155403.9

    申请日:2013-04-28

    Abstract: 本发明涉及高性能计算自动并行化领域,特别涉及一种面向异构SIMD扩展部件的自动向量化方法,适用于不同向量长度、不同向量指令集的异构SIMD扩展部件,设计一套虚拟指令集,能够在自动向量化统一架构下将输入的C和Fortran程序转化为虚拟指令的中间表示,通过向量长度解虚拟化和指令集解虚拟化,自动变换为面向异构SIMD扩展部件的向量化代码,使程序员从繁冗复杂的手工向量化编码中解脱出来,本发明将向量化方法与相关优化方法相结合,从不同粒度进行向量识别,通过常规优化和引用点优化,最大限度的发掘循环级和基本块级的混合并行性,通过分析跨越基本块的数据依赖,对生成后的代码进行冗余优化,有效提升了程序的执行效率。

    基于异构可重构体系结构面向任务流的编译方法

    公开(公告)号:CN101441569B

    公开(公告)日:2012-05-30

    申请号:CN200810231010.0

    申请日:2008-11-24

    Abstract: 本发明涉及一种基于异构可重构体系结构面向任务流的新型编译方法;该方法含有下列步骤:a.根据参数设置,应用具有不同针对性的任务流识别与优化技术,将被编译的串行程序或并行程序进行自动任务流化,产生任务流程序源代码;b.根据异构计算系统的执行特征,将任务流程序源代码中的任务根据其特点进行软硬件功能的动态划分,产生低级代码和配置流;c.产生目标程序和相应的FPGA配置流文件,完成面向异构可重构结构和任务流机制的特定优化;本发明针对不同计算任务的特点和需求,采用先进的软硬件功能动态划分和协同技术,产生出针对CPU的低级代码和针对RLU的配置流,有效提高了系统的整体性能和可重构计算资源的利用率。

    渐进式智能回溯向量化代码调优方法

    公开(公告)号:CN103207786B

    公开(公告)日:2016-03-23

    申请号:CN201310154727.0

    申请日:2013-04-28

    Abstract: 本发明涉及一种渐进式智能回溯向量化代码调优方法,主要包括以下步骤:(1)静态调优:在源程序中添加编译指示语句,生成向量化程序;(2)动态调优:进行动态插桩,获取程序剖面信息和动态插桩信息,根据反馈信息文件生成优化后的向量化程序;(3)配置向量化基础选项和优化选项,在向量化过程中逐一添加优化选项,并将调优结果与添加前的调优结果相比较,如当前调优结果优于上一次,则保留,否则回溯。通过采用上述步骤,能够优化生成代码中的向量化语句,提高生成代码的执行效率,从而缓解程序员设计和编写并行程序的压力,并充分发挥当前高性能巨型计算机系统的计算能力。

    面向异构众核多级存储结构的数据分布与局部性优化方法

    公开(公告)号:CN103226487B

    公开(公告)日:2016-01-13

    申请号:CN201310148326.4

    申请日:2013-04-25

    Abstract: 本发明涉及一种面向异构众核多级存储结构的数据分布与局部性优化方法,具体为:对程序进行数据流分析,完成数据在不同类型核心的存储器之间的高效映射和布局,通过自动生成指导数据分布的相关数据管理子句,显式控制局部存储器与主存储器的数据传输,决定数据进入局部存储器以及从局部存储器写回的时机、位置和内容,优化异构众核多级存储结构的存储性能;具体含有下列步骤:步骤1:数据规模自适应的数组分块;步骤2:数组访问模式指导的数据分布;步骤3:主从协作的数组转置;步骤4:外围数据传输简化;本发明提升了程序的执行效率。

    面向异构众核多级存储结构的数据分布与局部性优化方法

    公开(公告)号:CN103226487A

    公开(公告)日:2013-07-31

    申请号:CN201310148326.4

    申请日:2013-04-25

    Abstract: 本发明涉及一种面向异构众核多级存储结构的数据分布与局部性优化方法,具体为:对程序进行数据流分析,完成数据在不同类型核心的存储器之间的高效映射和布局,通过自动生成指导数据分布的相关数据管理子句,显式控制局部存储器与主存储器的数据传输,决定数据进入局部存储器以及从局部存储器写回的时机、位置和内容,优化异构众核多级存储结构的存储性能;具体含有下列步骤:步骤1:数据规模自适应的数组分块;步骤2:数组访问模式指导的数据分布;步骤3:主从协作的数组转置;步骤4:外围数据传输简化;本发明提升了程序的执行效率。

    渐进式智能回溯向量化代码调优方法

    公开(公告)号:CN103207786A

    公开(公告)日:2013-07-17

    申请号:CN201310154727.0

    申请日:2013-04-28

    Abstract: 本发明涉及一种渐进式智能回溯向量化代码调优方法,主要包括以下步骤:(1)静态调优:在源程序中添加编译指示语句,生成向量化程序;(2)动态调优:进行动态插桩,获取程序剖面信息和动态插桩信息,根据反馈信息文件生成优化后的向量化程序;(3)配置向量化基础选项和优化选项,在向量化过程中逐一添加优化选项,并将调优结果与添加前的调优结果相比较,如当前调优结果优于上一次,则保留,否则回溯。通过采用上述步骤,能够优化生成代码中的向量化语句,提高生成代码的执行效率,从而缓解程序员设计和编写并行程序的压力,并充分发挥当前高性能巨型计算机系统的计算能力。

    任务流计算模型
    9.
    发明公开

    公开(公告)号:CN101408850A

    公开(公告)日:2009-04-15

    申请号:CN200810231111.8

    申请日:2008-11-27

    Abstract: 本发明公开了一种适用于可重构高效能计算机系统的任务流计算模型。以一个五元组{T,R,SC,EC,TS}的形式表述了在任务流的方式下求解问题的途径,其中T是任务的有穷集合,R是任务之间的关系集合,SC是任务的启动条件集合,EC是任务的终止条件集合,TS是任务的有穷序列集合。在不受资源等因素制约的前提下,力求以求解问题的最佳方案为牵引,合理划分软、硬任务的粒度,根据问题和任务的需求重构系统,达到高效费比、高利用率。本发明任务流计算模型将任务作为一个基本单元来处理,给出了任务流的定义,任务的划分原则,任务流的各种形式。该模型可用于不同粒度并行性的刻画,为准确清晰地划分任务和描述面向任务流的可重构高效能计算奠定基础。

    基于二次规划模型的非线性下标表达式的依赖测试方法

    公开(公告)号:CN103226513A

    公开(公告)日:2013-07-31

    申请号:CN201310147595.9

    申请日:2013-04-25

    Abstract: 本发明涉及一种分析程序指令之间依赖关系的方法,属于高性能计算中并行化编译优化技术领域,特别是涉及一种基于二次规划模型的非线性下标表达式的依赖测试方法,本发明针对传统依赖测试方法对非线性依赖测试的不足,通过对循环索引边界约束条件下二次下标表达式的极值分析,将二次表达式的依赖测试抽象为一种二次规划的非线性规划问题,构造一种针对二次下标表达式依赖测试方法的可行方法,判定被测数组对之间的依赖,从而有效提高判定依赖和并行识别的能力。

Patent Agency Ranking