-
公开(公告)号:CN112527303A
公开(公告)日:2021-03-19
申请号:CN201910885728.X
申请日:2019-09-19
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种面向即时编译的基于动态库的GOT表管理方法,包括以下步骤:S1、创建包含GOT表的动态链接库,此GOT表位于动态链接库的数据段;S2、在即时编译引擎解析重定位前,动态载入GOT表到内存空间,并获取GOT表的首地址;S3、即时编译引擎根据程序代码段的重定位类型,进行GOT表覆写和重定位回填;S4、在程序即时编译执行结束后,动态释放包含GOT表的动态链接库;S42、退出即时编译。本发明降低了LLVM即时编译引擎对新增硬件后端中GOT表的支持难度,提高了LLVM即时编译引擎的移植效率,在基于国产处理器的LLVM即时编译引擎中快速实现了基于动态库的GOT表管理。
-
公开(公告)号:CN112446471A
公开(公告)日:2021-03-05
申请号:CN201910799257.0
申请日:2019-08-28
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于异构众核处理器的卷积加速方法,包括以下步骤:S1、根据异构众核处理器的核数,确定输入特征图和卷积核的多核划分方法,实现众核并行加速,S2、各计算核心将划分后的数据通过DMA(直接存储器访问)的方式传输至片上存储器,实现片上存储加速,S3、将卷积操作核心计算过程中的标量计算操作优化为向量计算操作,实现SIMD指令加速,S4、结合异构众核处理器流水线特性,对卷积核心计算过程的指令流进行优化,以提高执行效率,实现指令并行加速。本发明对卷积操作进行加速,显著提升了卷积神经网络在异构众核处理器上的训练和推理性能。
-
公开(公告)号:CN112445482A
公开(公告)日:2021-03-05
申请号:CN201910794946.2
申请日:2019-08-27
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种面向容量受限的程序栈空间深度追溯方法,包括以下步骤:S1、在链接器中建立函数信息的数据结构,形成函数调用关系流程图;S2、获取所有的函数符号信息,建立相应的函数信息数据结构,并将函数的名称、PC值范围、自身栈空间深度信息安装到对应的函数信息结构中;S3、遍历程序所有的重定位信息,根据重定位信息来确定函数调用关系,根据分析结果更新各个函数信息的链表指针;S4、对建立的函数调用关系图做深度优先遍历,通过累加计算获取根节点函数的栈空间深度,对所有根节点栈空间深度做排序后输出。本发明通过静态分析的方法获取栈空间信息,无需重新编译,无需运行插桩,对于程序分析、错误定位以及程序优化有着很好的指导作用。
-
公开(公告)号:CN112445465A
公开(公告)日:2021-03-05
申请号:CN201910799245.8
申请日:2019-08-28
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于C代码生成的神经网络模型推理和训练方法,包括以下步骤:S1、以通过各种AI编程框架开发的模型作为输入,AI框架编译器识别各种模型格式并转化为统一的计算图,将输入的模型转化为底层IR;S2、将S1中生成的计算图输入C代码生成模块,输出总控函数;S3、C代码生成模块针对不同的底层IR,生成对应的C代码;S4、将生成的总控函数、各IR对应的C代码以及C‑基础算子库,输入到支持C语言和相应硬件平台的基础编译器,通过基础编译器的优化过程转化为运行程序,并在对应硬件平台上执行推理过程、训练过程。本发明实现了AI框架编译器在LLVM不支持的硬件平台上的快速移植,能够快速实现神经网络模型在LLVM不支持的特定硬件平台上的训练和推理过程。
-
公开(公告)号:CN105242962B
公开(公告)日:2018-07-03
申请号:CN201510828182.6
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
Abstract: 本发明提供了一种基于异构众核的轻量级线程快速触发方法,包括:在轻量级线程库中编写异构众核的多线程程序,其中多线程程序在轻量级线程库中的创建和回收以显式的接口来调用,然后完成多线程程序代码的编译,生成一个异构融合的可执行代码;运行该可执行码;其中,首先执行在主处理器上运行的程序加载器,再将可执行代码作为参数传入给程序加载器;程序加载器将整个当做一个文件读入,然后解析出符合ELF格式的段信息,并将其写入内存的相应位置,并完成程序执行环境变量的配置。
-
公开(公告)号:CN105487839A
公开(公告)日:2016-04-13
申请号:CN201510827879.1
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F9/38
CPC classification number: G06F9/3887
Abstract: 本发明提供了一种面向连续不对界向量数据访问的编译优化方法,包括:对一个基本块内的所有指令按照依赖性关系自底向上进行遍历搜索;当搜索到存在不对界向量数据访问关系的第一访存指令和第二访存指令时,对第一访存指令和第二访存指令进行检测以判断第一访存指令和第二访存指令是否满足预定条件;在第一访存指令和第二访存指令满足预定条件的情况下,删除第一访存指令和第二访存指令中的一个访存指令;将与被删除指令有关的数据依赖转移到未被删除的另一个访存指令上。
-
公开(公告)号:CN102968379B
公开(公告)日:2015-05-06
申请号:CN201210410331.3
申请日:2012-10-24
Applicant: 无锡江南计算技术研究所
IPC: G06F12/02
Abstract: 本发明实施例提供一种寄存器分配方法、系统及处理器;其中方法基于一种处理器,所述处理器包括:向量寄存器,由至少一个存储器组成的存储器组,和内存,所述存储器组的读取速度快于内存的读取速度;所述方法包括:判断所述向量寄存器中是否存在能够存储当前变量的可用存储空间;若是,在所述可用存储空间中,为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中;若否,判断所述存储器组中是否存在能够存储当前变量的可用存储空间;若是,依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中;若否,将当前变量保存入内存中。本发明减少了保存入内存的变量数量。
-
公开(公告)号:CN102981883A
公开(公告)日:2013-03-20
申请号:CN201210420971.2
申请日:2012-10-29
Applicant: 无锡江南计算技术研究所
Abstract: 本发明实施例提供一种编译器数据预取方法和装置,以实现高效的访存优化。所述方法包括:提供硬件指令查询软件管理片上存储器SPM中划分的局存空间,所述硬件指令包含数据的主存地址;若在所述SPM局存空间查询到所述主存地址对应的数据,则读取所述主存地址对应的数据;若在所述SPM局存空间没有查询到所述主存地址对应的数据,则根据所述硬件指令进行不命中处理以将数据预取到所述SPM局存空间。本发明充分利用硬件的高效性和软件灵活性,以较小的硬件开销实现高效的访存优化,在此基础上实现了结合硬件支持和精简的预取算法的基于软硬件协同管理机制的编译器数据预取方法,在性能上要优于纯软件算法,保证了软件算法的灵活性。
-
公开(公告)号:CN114661460B
公开(公告)日:2025-05-20
申请号:CN202210136541.1
申请日:2022-02-15
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种面向异构众核处理器的AI框架两级并行加速方法,包括以下步骤:AI框架调用模型优化模块优化深度学习模型或者预训练好的模型,将其组织成更具可并行性的树形计算图;AI框架将优化后的树形计算图转换成由计算任务组成的线程池;线程管理模块根据相关性将线程池组织成不同的线程队列;线程管理模块监测各个核组的状态,如果发现某个核组处于空闲状态,则将某队列的计算任务调度到该核组上执行;当整个运行任务完成后,线程管理模块和核组管理模块均中止运行,等到下一次运行任务开始后。本发明可以充分利用异构众核的多级存储资源和计算能力,实现自动化的AI框架两级并行加速,显著提升AI框架在异构众核上的好用性和高性能。
-
公开(公告)号:CN114564150B
公开(公告)日:2024-03-22
申请号:CN202210185703.0
申请日:2022-02-28
Applicant: 无锡江南计算技术研究所
IPC: G06F3/06
Abstract: 本发明公开一种动态链接模式片上存储器空间分配方法,包括以下步骤:在程序源文件中为需要优化的数据添加动态链接模式局部存储器数据关键字__ldm;编译器判断该局部存储器变量是否位于动态库中;对于动态库中的局部存储器变量,在链接脚本中为其设置单独的PT_LOAD段;对于动态库中的局部存储器变量,在动态链接器中修正局部存储器数据地址。本发明能够有效避免动态库中LDM变量地址相互冲突的问题,显著提升了异构众核AI处理器的好用性。
-
-
-
-
-
-
-
-
-