-
公开(公告)号:CN112558976A
公开(公告)日:2021-03-26
申请号:CN201910903889.7
申请日:2019-09-24
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种即时编译引擎自适应函数加载方法,面向异构众核平台,包括以下步骤:S1、对于一个函数符号,执行引擎检查其是否为外部函数;S2、对于一个S1中标记的外部函数符号,执行引擎检查其是否为从核函数,并使用对应的动态链接库加载函数加载包含该外部函数符号的动态链接库;S3、从步骤S2中加载的动态链接库中获取外部函数入口地址;S4、使用步骤S3中获取的外部函数入口地址,对用户程序代码段进行GOT表覆写和重定位回填。本发明实现了异构众核程序对核组空间的有效利用,完善了面向异构众核平台的即时编译引擎的功能。
-
公开(公告)号: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: 本发明公开一种基于向量计算的编译时低功耗优化方法,包括以下步骤:编译器读入源程序,通过词法分析、语法分析、语义分析、控制流分析、数据流分析的优化分析手段,识别出向量计算参数为常量的情况并进行标记;编译器在分析出向量计算表达式中参数为立即数向量时,在进行表达式匹配时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式;编译器分析出向量计算中参数为赋初值变量或者常量变量时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式。本发明实现在编译时尽量挖掘向量数据的预计算能力的目的,挖掘向量数据的预计算能力,减少运行时的向量访存与计算,提高程序性能,降低处理器能耗。
-
公开(公告)号:CN109240702A
公开(公告)日:2019-01-18
申请号:CN201810929684.1
申请日:2018-08-15
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种多线程模式下的快速段式编址配置和访问方法,包括如下步骤:S101、用户程序中使用存储层次关键字;S102、编译器识别并处理用户程序中的关键字;S103、链接器处理重定位信息及多层次数据段;S104、加载器内存加载;S105、程序运行时读取内部寄存器。本发明在编译链接阶段识别和处理多层次存储关键字,程序加载阶段识别和处理多层次存储数据段,程序运行时充分利用CPU提供的内部寄存器获取本线程多层次存储数据段基址,提高了访存效率和灵活性。
-
公开(公告)号:CN105279004B
公开(公告)日:2018-06-26
申请号:CN201510830299.8
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41 , G06F9/445 , G06F12/0802
Abstract: 本发明提供了一种基于采样剖析的轻量级程序代码重排方法,包括:编译链接程序,其中预留一段代码空间;加载器读入目标程序;使得目标程序运行一遍,加载器收集目标程序运行时运行信息;利用收集到的运行信息指导代码重排;对代码执行垫塞优化;将垫塞优化后的代码写进新的目标程序。
-
公开(公告)号:CN102541611B
公开(公告)日:2014-09-03
申请号:CN201010597808.4
申请日:2010-12-21
Applicant: 无锡江南计算技术研究所
IPC: G06F9/45
CPC classification number: Y02D10/41
Abstract: 一种指令翻译装置和方法、指令处理装置和处理器,所述指令处理装置包括,拆分单元,将逻辑运算指令拆分为多条单逻辑运算指令;转换单元,将所述单逻辑运算指令转换成具有预定格式的中间指令,所述预定格式包含逻辑值、源操作数和目标操作数;合并单元,合并预定指令及其定值点指令生成具有所述预定格式的合并指令;所述预定指令是指源操作数具有定值点指令的中间指令,所述预定指令的定值点指令是指对该预定指令的源操作数进行赋值的中间指令;所述合并指令的逻辑值通过数组索引所述预定指令及其定值点指令的逻辑值生成。本发明的指令翻译装置和方法、指令处理装置和处理器,提高了处理器处理逻辑运算的效率,降低了处理器的功耗。
-
公开(公告)号:CN114217770B
公开(公告)日:2025-05-16
申请号:CN202110325186.8
申请日:2021-03-26
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于异构众核架构的C++融合编程方法,包括以下步骤:S1、主核以头文件“athreadcxx.h”的形式提供athreadcxx类的对象;S2、athreadcxx类的对象通过构造函数进行从核资源的初始化,通过析构函数进行从核资源的回收;S3、编译器通过选项‑mhost将使用athreadcxx类的对象编程的主核程序进行编译;S4、从核以头文件“slavecxx.h”的形式提供线程私有全局变量PEN、COL和ROW,用于保存当前从核的编号和行列信息。本发明解决了不同架构的指令集混合链接符号多重定义问题、从核间的全局变量访存问题。
-
公开(公告)号:CN114221861B
公开(公告)日:2023-07-07
申请号:CN202110324736.4
申请日:2021-03-26
Applicant: 无锡江南计算技术研究所
IPC: H04L41/0803 , H04L41/06 , H04L47/10
Abstract: 本发明公开一种大规模互连网络的管理包收发方法,包括以下步骤:S1、初始设置;S2、自动控制,具体如下:S21、命令发送线程在发送时,判断curr_send_package是否小于max_send_package,若小于,则启动一个定时器,发送命令,加线程锁,curr_send_package+1,解除线程锁;否则,阻塞该线程,等待该线程被唤醒;S22、命令接收线程,接收到管理包,加线程锁,curr_send_package‑1,解除线程锁,发送唤醒线程信号;S3、自动处理。本发明解决了大规模互连网络中网络管理包收发堵塞和网络管理包收发效率低的问题。
-
-
-
-
-
-
-
-
-