面向处理器指令cache的低功耗编译方法

    公开(公告)号:CN112445480A

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

    申请号:CN201910794737.8

    申请日:2019-08-27

    Abstract: 本发明公开一种面向处理器指令cache的低功耗编译方法,包括以下步骤:S1、寻找最内层循环;S2、判断寻找到的最内层循环是否可以展开;S3、结合L0 cache计算展开次数:即根据循环体的最大伪指令条数MAX_UNROLLED_INSNS、循环体的最大平均伪指令条MAX_AVERAGE_UNROLLED_INSNS和最大展开次数MAX_UNROLL_TIMES,计算展开次数;S4、根据展开次数实现代码展开;S5、在编译器中端,对循环中语句建立依赖关系图,并把循环中每一条语句设为一个区域;S6、遍历所有区域,检查是否有生产者消费者的依赖关系;S7、根据L0 cache容量大小确定最优分区大小;S8、有选择的进行合并语句;S9、将剩余的每一个分区都生成一个循环树,实现循环剥离。本发明实现了循环优化的精细控制策略,保证L0 cache的高命中率,有效降低取指和译码功耗,以提高性能减少功耗。

    一种编译器及软件管理存储器的重用优化方法

    公开(公告)号:CN102880497B

    公开(公告)日:2015-05-20

    申请号:CN201210372306.0

    申请日:2012-09-28

    Abstract: 本发明实施例公开了一种编译器及软件管理存储器的重用优化方法,用于对软件管理存储器进行重用优化,实现软件管理存储器的空间重用分配。本发明实施例中的编译器包括:分析模块,用于根据待写入软件管理存储器的变量的排布方式增加关键字,将关键字及变量的信息发送给编译模块;编译模块,用于识别关键字,为关键字设置重用标识;对设置了重用标识的关键字对应的变量生成具有重用特征的代码形式,将具有重用特征的代码形式发送给链接模块;链接模块,用于根据具有重用特征的代码形式生成临时链接脚本,对临时链接脚本进行链接处理,并进行重用变量的排布,实现软件管理存储器的空间重用分配。

    一种寄存器分配方法、系统及处理器

    公开(公告)号:CN102968379A

    公开(公告)日:2013-03-13

    申请号:CN201210410331.3

    申请日:2012-10-24

    Abstract: 本发明实施例提供一种寄存器分配方法、系统及处理器;其中方法基于一种处理器,所述处理器包括:向量寄存器,由至少一个存储器组成的存储器组,和内存,所述存储器组的读取速度快于内存的读取速度;所述方法包括:判断所述向量寄存器中是否存在能够存储当前变量的可用存储空间;若是,在所述可用存储空间中,为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中;若否,判断所述存储器组中是否存在能够存储当前变量的可用存储空间;若是,依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中;若否,将当前变量保存入内存中。本发明减少了保存入内存的变量数量。

    针对异构众核的快速线程启动方法

    公开(公告)号:CN112445581B

    公开(公告)日:2022-11-15

    申请号:CN201910799253.2

    申请日:2019-08-28

    Abstract: 本发明公开一种针对异构众核的快速线程启动方法,包括以下步骤:S1、控制核心进行线程信息初始化的工作;S2、控制核心获取加速核心上将要运行的线程函数的PC值、参数等信息;S3、控制核心根据异构众核的结构特征选择传输方式;S4、控制核心写入线程信息并置传输标志;S5、控制核心进入等待线程结束的状态;S6、加速核心进入等待传输标志的状态;S7、加速核心启动传输操作;S8、启动线程函数执行;S9、各加速核心的线程函数执行完毕后,进行加速核心间的同步操作;S10、通知控制核心线程函数已执行结束;S11、控制核心进行线程回收操作。本发明实现了快速的线程启动与回收,减少了控制核心和加速核心在线程启动交互过程中的访存和控制开销,为应用程序的高效执行奠定了基础。

    一种面向量子加速设备的混合式编译方法

    公开(公告)号:CN115271084A

    公开(公告)日:2022-11-01

    申请号:CN202210933691.5

    申请日:2022-08-04

    Abstract: 一种面向量子加速设备的混合式编译方法,属于量子计算技术领域。本发明包括如下步骤:步骤S1,通过标准化的量子代码编程接口,对混合代码中的经典代码与量子代码进行识别;步骤S2,对经典代码进行编译,生成可执行码;步骤S3,运行经典代码的可执行码,若遇到量子代码编程接口,则进行步骤S4,并在接收到步骤S5的运行结果后,继续运行并重复本步骤的操作,直至整个计算进程结束;步骤S4,对量子代码进行编译,生成可执行码;步骤S5,运行量子代码的可执行码。本发明操作简单高效,易于实现,同时可靠性高。

    片上存储空间动态配置方法
    36.
    发明公开

    公开(公告)号:CN114218148A

    公开(公告)日:2022-03-22

    申请号:CN202110398334.9

    申请日:2021-04-14

    Abstract: 本发明公开一种片上存储空间动态配置方法,包括以下步骤:S1、读取输入参数;S2、读取硬件的LDM配置寄存器;S3、获取计算核栈空间大小及计算核的栈指针;S4、对new_cache_size和old_cache_size进行比较;S5、将计算核栈空间转移至新分配的该局存空间中;S6、确认本计算核相关的DMA操作均已完成;S7、刷新计算核Cache;S8、对new_cache_size和old_cache_size进行比较;S9、释放mem_a空间,转到S11执行。本发明可以避免固定配置下因为LDM或者Cache容量不足造成的性能损失,最大程度发挥其性能优势。

    动态内存管理方法
    37.
    发明公开

    公开(公告)号:CN114217938A

    公开(公告)日:2022-03-22

    申请号:CN202110349032.2

    申请日:2021-03-31

    Abstract: 本发明公开一种动态内存管理方法,包括以下步骤:S1、在运行课题时指定x属性内存空间的总大小;S2、开辟相应大小的x属性内存空间;S3将目标码中的静态x属性内存空间映射到S2中所开辟的x属性内存空间的前半部分,剩余的后半部分x属性内存空间即为动态x属性内存空间;S4、用户课题在代码中调用xspace_malloc函数动态申请x属性内存空间;S6、用户课题可以在代码中调用get_allocatable_xspace_size获取当前剩余的动态x属性内存空间大小。本发明解决了在支持多空间属性的编程环境中,单纯使用malloc、free函数无法满足多空间属性的动态内存管理需求的问题。

    一种编译自调优方法
    38.
    发明公开

    公开(公告)号:CN114217805A

    公开(公告)日:2022-03-22

    申请号:CN202110330631.X

    申请日:2021-03-26

    Abstract: 本发明公开一种编译自调优方法,包括以下步骤:S1、对代码进行插桩;S2、收集代码运行时的信息数据;S3、根据访存密集程度和计算密集程度,将目标代码分为四类;S4、将S3中的分类信息传递给S11;S5、对系统环境参数进行配置;S6、对通用编译优化选项进行配置;S7、对定制编译优化选项进行配置;S8、对通用编译优化选项与定制编译优化选项进行分析分类;S9、对自调优过程的环境参数进行配置;S10、将S9中环境参数的配置信息传递给S11;S11、对使能概率进行调整;S12、进行编译选项的自动调优;S13、获得一组编译优化选项组合能。本发明能够充分发挥出处理器及系统软件环境某些定制化设计带来的性能红利,提高编译自调优过程效率。

    自适应内建函数与指令操作选择翻译方法

    公开(公告)号:CN112540750A

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

    申请号:CN201910897633.X

    申请日:2019-09-23

    Abstract: 本发明公开一种自适应内建函数与指令操作选择翻译方法,基于编译器实现,包括以下步骤:S1、编译器使用最高优化等级编译该内建函数,当汇编指令少于或等于3条时,将SDNode一对一的降级为汇编指令;S2、当汇编指令大于3条时,判断该内建函数预设的使用频率,若使用频率不高,则以内建函数可拆分的伪指令节点和定义的虚拟寄存器为参数,通过BuildMI函数将内建函数降级为汇编指令;S3、若使用频率较高,则以内建函数的输入和输出作为源寄存器和目的寄存器,使用BuildMI函数创建一条伪指令,使用BuildMI函数扩展上述伪指令,并将扩展后的伪指令降级为汇编指令。本发明可以根据内建函数实现的复杂度选择内建函数节点降级的途径,以使程序的编译运行达到最优化的效果。

    基于异构平台的自适应节点融合编译优化方法

    公开(公告)号:CN112527304A

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

    申请号:CN201910885756.1

    申请日:2019-09-19

    Abstract: 本发明公开一种基于异构平台的自适应节点融合编译优化方法,包括以下步骤:S1、生成中间表示;S2、DAG融合子图识别;S3、节点融合策略;S4、代价评估;S5、自适应选择节点融合策略,即根据S4计算得到的第k个融合策略代价,结合目标后端的寄存器、cache、内存使用情况,自适应地选择最优的节点融合策略;S6、目标相关节点融合,根据节点融合策略,将S23中匹配得到的DAG子图的控制流和数据流关系,转移到S5选择出的节点融合策略所生成的融合后的DAG子图上,使用融合后的DAG子图替换融合前的DAG子图,转到S22;S7、生成目标代码,即编译器对降级完成后的DAG进行编译处理,生成异构平台代码。本发明为异构平台的节点融合优化提供精确指导,能够进一步挖掘异构平台复合指令的潜力,提升异构平台的性能。

Patent Agency Ranking