-
公开(公告)号:CN114217807B
公开(公告)日:2024-04-30
申请号:CN202110381660.9
申请日:2021-04-09
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于异构众核架构的直接内存访问编译优化方法,包括以下步骤:S1、通过调度原语cache_read,将张量数据由主存搬移到局存;S2、通过调度原语pragma,将S11中的数据搬移操作改写为DMA GET操作;S3、通过调度原语double_buffer,将S2中的DMA GET操作优化为双缓冲模式;S4、通过调度原语pragma,在局存副本AA使用位置前插入回答字判断操作;S5、通过调度原语cache_write,将结果张量B的局存副本BB由局存搬移至主存。本发明充分利用硬件资源,最大程度实现算子的计算访存操作的重叠,从而提升深度学习负载在异构众核平台上的性能。
-
公开(公告)号:CN114253545A
公开(公告)日:2022-03-29
申请号:CN202110381428.5
申请日:2021-04-09
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于编译的神经网络异构众核多层次资源映射方法,包括以下步骤:S1、进行众核核组资源映射;S2、进行从核线程资源映射;S3、进行向量部件资源映射。本发明可充分挖掘神经网络算子并行潜力,发挥片上多级并行优势,从而提升深度学习负载在异构众核平台上的性能。
-
公开(公告)号:CN114217770A
公开(公告)日:2022-03-22
申请号:CN202110325186.8
申请日:2021-03-26
Applicant: 无锡江南计算技术研究所
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
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种即时编译引擎自适应函数加载方法,面向异构众核平台,包括以下步骤:S1、对于一个函数符号,执行引擎检查其是否为外部函数;S2、对于一个S1中标记的外部函数符号,执行引擎检查其是否为从核函数,并使用对应的动态链接库加载函数加载包含该外部函数符号的动态链接库;S3、从步骤S2中加载的动态链接库中获取外部函数入口地址;S4、使用步骤S3中获取的外部函数入口地址,对用户程序代码段进行GOT表覆写和重定位回填。本发明实现了异构众核程序对核组空间的有效利用,完善了面向异构众核平台的即时编译引擎的功能。
-
公开(公告)号:CN112527393A
公开(公告)日:2021-03-19
申请号:CN201910879804.6
申请日:2019-09-18
Applicant: 无锡江南计算技术研究所
IPC: G06F9/38
Abstract: 本发明公开一种面向主从融合架构处理器的指令调度优化装置和方法,基于以下模块:指令调度模块,用于接收含有目标机信息和指令序列的代码,还用于根据指令模板选择器提供的指令模板,对接收到的指令序列进行调度;指令模板选择器,用于接收代码中的目标机信息,并根据目标机信息,选择主核指令模板或者从核指令模板,将选择好的指令模板发送给指令调度模块;主核指令模板,用于描述主核指令的指令类型、指令的目标信息、可以在哪条流水线上执行该指令以及指令延迟信息;配置于编译器后端的从核指令模板。本发明进一步降低流水线阻塞发生的概率,优化处理器的指令调度过程,提高指令调度的准确性以及指令调度的性能指标,实现指令调度过程的优化。
-
公开(公告)号:CN112527264A
公开(公告)日:2021-03-19
申请号:CN201910886036.7
申请日:2019-09-19
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于异构平台的常量数据访问优化方法,包括以下步骤:S1、进行中间表示降级,即结合目标后端信息对中间表示进行降级处理,将常量节点降级为目标相关的节点;S2、分析中间表示,寻找常量节点,即进行常量数据分析,对常量数据的类型、大小及范围进行计算,且根据不同的架构后端采用不用的算法进行代价评估,生成降级节点;S3、生成汇编代码,即将生成的降级中间表示翻译为指令,并建立相应的数据段。本发明实现了精细化、自动化的常量数据访问优化选择,保证程序能最大限度的利用内存,优化常量数据内存使用,使常量数据访问的性能得到进一步的提升,从而提升国产异构从核平台的性能。
-
公开(公告)号:CN112445488A
公开(公告)日:2021-03-05
申请号:CN201910831166.0
申请日:2019-09-04
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种异构平台下宽度非对称向量兼容性的编译处理方法和装置,包括以下模块:编译器预处理模块,用于对非对称异构向量的统一声明,还用于通过编译选项来控制对应的数据和接口调用的target预处理,转换为对应平台自身适应的接口;编译器前端中端分析模块,用于根据接口的调用方式,进行内部中间表示的转换或者向量降级,生成对应平台的中间表示;编译器后端拆分模块,用于根据中间表示,生成对应的后端指令。本发明实现主从核编译器向量开发的继承性、减少用户程序异构编码限制,无需去关注异构平台对向量支持的差异性。
-
公开(公告)号:CN112445479A
公开(公告)日:2021-03-05
申请号:CN201910794733.X
申请日:2019-08-27
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种针对结构体成员的重组优化方法,包括以下步骤:S11、编译器扫描目标程序中的每个基本块,构建待优化的结构体类型集合;S12、对程序中所有结构体的引用进行分析,从待优化的结构体类型集合中移除不满足优化条件的结构体类型;S13、根据结构体定义、声明以及引用的信息对满足优化条件的结构体的成员进行重组,并将结果记录在sbitmap类型的变量中;S14、根据步骤S13记录的待重组的结构体成员的信息,创建多个新结构体的定义;S15、遍历目标程序的所有基本块,将目标程序中对旧结构体的引用替换为对新结构体的引用,对结构体声明及引用信息进行更新。本发明解决了现有的数据变换技术无法针对结构体成员进行数据重组优化的问题,达到了进一步提升数据Cache性能的效果。
-
公开(公告)号:CN112445316A
公开(公告)日:2021-03-05
申请号:CN201910794732.5
申请日:2019-08-27
Applicant: 无锡江南计算技术研究所
IPC: G06F1/3234 , G06F8/41
Abstract: 本发明公开一种基于向量计算的编译时低功耗优化方法,包括以下步骤:编译器读入源程序,通过词法分析、语法分析、语义分析、控制流分析、数据流分析的优化分析手段,识别出向量计算参数为常量的情况并进行标记;编译器在分析出向量计算表达式中参数为立即数向量时,在进行表达式匹配时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式;编译器分析出向量计算中参数为赋初值变量或者常量变量时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式。本发明实现在编译时尽量挖掘向量数据的预计算能力的目的,挖掘向量数据的预计算能力,减少运行时的向量访存与计算,提高程序性能,降低处理器能耗。
-
-
-
-
-
-
-
-