面向容量受限的程序栈空间深度追溯方法

    公开(公告)号:CN112445482B

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

    申请号:CN201910794946.2

    申请日:2019-08-27

    Abstract: 本发明公开一种面向容量受限的程序栈空间深度追溯方法,包括以下步骤:S1、在链接器中建立函数信息的数据结构,形成函数调用关系流程图;S2、获取所有的函数符号信息,建立相应的函数信息数据结构,并将函数的名称、PC值范围、自身栈空间深度信息安装到对应的函数信息结构中;S3、遍历程序所有的重定位信息,根据重定位信息来确定函数调用关系,根据分析结果更新各个函数信息的链表指针;S4、对建立的函数调用关系图做深度优先遍历,通过累加计算获取根节点函数的栈空间深度,对所有根节点栈空间深度做排序后输出。本发明通过静态分析的方法获取栈空间信息,无需重新编译,无需运行插桩,对于程序分析、错误定位以及程序优化有着很好的指导作用。

    基于异构众核处理器的卷积加速方法

    公开(公告)号:CN112446471B

    公开(公告)日:2022-09-13

    申请号:CN201910799257.0

    申请日:2019-08-28

    Abstract: 本发明公开一种基于异构众核处理器的卷积加速方法,包括以下步骤:S1、根据异构众核处理器的核数,确定输入特征图和卷积核的多核划分方法,实现众核并行加速,S2、各计算核心将划分后的数据通过DMA的方式传输至片上存储器,实现片上存储加速,S3、将卷积操作核心计算过程中的标量计算操作优化为向量计算操作,实现SIMD指令加速,S4、结合异构众核处理器流水线特性,对卷积操作核心计算过程的指令流进行优化,以提高执行效率,实现指令并行加速。本发明对卷积操作进行加速,显著提升了卷积神经网络在异构众核处理器上的训练和推理性能。

    一种基于异构众核架构的C++融合编程方法

    公开(公告)号:CN114217770A

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

    申请号:CN202110325186.8

    申请日:2021-03-26

    Abstract: 本发明公开一种基于异构众核架构的C++融合编程方法,包括以下步骤:S1、主核以头文件“athreadcxx.h”的形式提供athreadcxx类的对象;S2、athreadcxx类的对象通过构造函数进行从核资源的初始化,通过析构函数进行从核资源的回收;S3、编译器通过选项‑mhost将使用athreadcxx类的对象编程的主核程序进行编译;S4、从核以头文件“slavecxx.h”的形式提供线程私有全局变量PEN、COL和ROW,用于保存当前从核的编号和行列信息。本发明解决了不同架构的指令集混合链接符号多重定义问题、从核间的全局变量访存问题。

    即时编译引擎自适应函数加载方法

    公开(公告)号:CN112558976A

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

    申请号:CN201910903889.7

    申请日:2019-09-24

    Abstract: 本发明公开一种即时编译引擎自适应函数加载方法,面向异构众核平台,包括以下步骤:S1、对于一个函数符号,执行引擎检查其是否为外部函数;S2、对于一个S1中标记的外部函数符号,执行引擎检查其是否为从核函数,并使用对应的动态链接库加载函数加载包含该外部函数符号的动态链接库;S3、从步骤S2中加载的动态链接库中获取外部函数入口地址;S4、使用步骤S3中获取的外部函数入口地址,对用户程序代码段进行GOT表覆写和重定位回填。本发明实现了异构众核程序对核组空间的有效利用,完善了面向异构众核平台的即时编译引擎的功能。

    异构平台下宽度非对称向量兼容性的编译处理方法和装置

    公开(公告)号:CN112445488A

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

    申请号:CN201910831166.0

    申请日:2019-09-04

    Abstract: 本发明公开一种异构平台下宽度非对称向量兼容性的编译处理方法和装置,包括以下模块:编译器预处理模块,用于对非对称异构向量的统一声明,还用于通过编译选项来控制对应的数据和接口调用的target预处理,转换为对应平台自身适应的接口;编译器前端中端分析模块,用于根据接口的调用方式,进行内部中间表示的转换或者向量降级,生成对应平台的中间表示;编译器后端拆分模块,用于根据中间表示,生成对应的后端指令。本发明实现主从核编译器向量开发的继承性、减少用户程序异构编码限制,无需去关注异构平台对向量支持的差异性。

    针对结构体成员的重组优化方法

    公开(公告)号:CN112445479A

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

    申请号:CN201910794733.X

    申请日:2019-08-27

    Abstract: 本发明公开一种针对结构体成员的重组优化方法,包括以下步骤:S11、编译器扫描目标程序中的每个基本块,构建待优化的结构体类型集合;S12、对程序中所有结构体的引用进行分析,从待优化的结构体类型集合中移除不满足优化条件的结构体类型;S13、根据结构体定义、声明以及引用的信息对满足优化条件的结构体的成员进行重组,并将结果记录在sbitmap类型的变量中;S14、根据步骤S13记录的待重组的结构体成员的信息,创建多个新结构体的定义;S15、遍历目标程序的所有基本块,将目标程序中对旧结构体的引用替换为对新结构体的引用,对结构体声明及引用信息进行更新。本发明解决了现有的数据变换技术无法针对结构体成员进行数据重组优化的问题,达到了进一步提升数据Cache性能的效果。

    基于向量计算的编译时低功耗优化方法

    公开(公告)号:CN112445316A

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

    申请号:CN201910794732.5

    申请日:2019-08-27

    Abstract: 本发明公开一种基于向量计算的编译时低功耗优化方法,包括以下步骤:编译器读入源程序,通过词法分析、语法分析、语义分析、控制流分析、数据流分析的优化分析手段,识别出向量计算参数为常量的情况并进行标记;编译器在分析出向量计算表达式中参数为立即数向量时,在进行表达式匹配时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式;编译器分析出向量计算中参数为赋初值变量或者常量变量时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式。本发明实现在编译时尽量挖掘向量数据的预计算能力的目的,挖掘向量数据的预计算能力,减少运行时的向量访存与计算,提高程序性能,降低处理器能耗。

    面向异构众核处理器的AI框架两级并行加速方法

    公开(公告)号:CN114661460B

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

    申请号:CN202210136541.1

    申请日:2022-02-15

    Abstract: 本发明公开一种面向异构众核处理器的AI框架两级并行加速方法,包括以下步骤:AI框架调用模型优化模块优化深度学习模型或者预训练好的模型,将其组织成更具可并行性的树形计算图;AI框架将优化后的树形计算图转换成由计算任务组成的线程池;线程管理模块根据相关性将线程池组织成不同的线程队列;线程管理模块监测各个核组的状态,如果发现某个核组处于空闲状态,则将某队列的计算任务调度到该核组上执行;当整个运行任务完成后,线程管理模块和核组管理模块均中止运行,等到下一次运行任务开始后。本发明可以充分利用异构众核的多级存储资源和计算能力,实现自动化的AI框架两级并行加速,显著提升AI框架在异构众核上的好用性和高性能。

    动态链接模式片上存储器空间分配方法

    公开(公告)号:CN114564150B

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

    申请号:CN202210185703.0

    申请日:2022-02-28

    Abstract: 本发明公开一种动态链接模式片上存储器空间分配方法,包括以下步骤:在程序源文件中为需要优化的数据添加动态链接模式局部存储器数据关键字__ldm;编译器判断该局部存储器变量是否位于动态库中;对于动态库中的局部存储器变量,在链接脚本中为其设置单独的PT_LOAD段;对于动态库中的局部存储器变量,在动态链接器中修正局部存储器数据地址。本发明能够有效避免动态库中LDM变量地址相互冲突的问题,显著提升了异构众核AI处理器的好用性。

Patent Agency Ranking