-
公开(公告)号:CN112527264B
公开(公告)日:2022-10-04
申请号:CN201910886036.7
申请日:2019-09-19
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于异构平台的常量数据访问优化方法,包括以下步骤:S1、进行中间表示降级,即结合目标后端信息对中间表示进行降级处理,将常量节点降级为目标相关的节点;S2、分析中间表示,寻找常量节点,即进行常量数据分析,对常量数据的类型、大小及范围进行计算,且根据不同的架构后端采用不用的算法进行代价评估,生成降级节点;S3、生成汇编代码,即将生成的降级中间表示翻译为指令,并建立相应的数据段。本发明实现了精细化、自动化的常量数据访问优化选择,保证程序能最大限度的利用内存,优化常量数据内存使用,使常量数据访问的性能得到进一步的提升,从而提升国产异构从核平台的性能。
-
公开(公告)号:CN112486424B
公开(公告)日:2022-10-04
申请号:CN201910861483.7
申请日:2019-09-12
Applicant: 无锡江南计算技术研究所
IPC: G06F3/12
Abstract: 本发明公开了一种用户透明的运算核并行打印保序代理方法,对运算核上的打印输出语句进行扩展替换,将打印输出语句变换成调用运行时系统中的线程打印处理函数;对线程打印处理函数进行参数解析,申请数据转存缓冲区,根据参数类型进行数据转存;运算核请求控制核进行打印保序代理,将申请的数据转存缓冲区首地址传送给控制核;控制核接到中断信号,转入中断处理,根据数据转存缓冲的参数类型执行嵌汇编指令装填打印函数参数,调用printf代理实现运算核打印输出。本发明采用编译器和运行时相结合,自动完成所有运算核的并行有序输出;对用户透明且不需要对运算核的打印输出进行额外管理;只需要运算核的基础编译器对运算核程序进行简单的程序变换即可。
-
公开(公告)号:CN112631593A
公开(公告)日:2021-04-09
申请号:CN201910904073.6
申请日:2019-09-24
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开了一种基于RMA的众核分布式共享SPM实现方法,语言级共享SPM空间描述方法,由编程人员显示申明共享SPM数据;编译器对程序中的共享SPM数据的访问转换为RMA消息,根据访问特征生成对应的高效RMA操作;运行时提供高效RMA支持。本发明为用户提供分布式共享SPM变量的描述机制,并通过运行时RMA实现众核核心SPM的逻辑共享,简化众核核心间的通信,增大众核核心能够访问的高速缓存的空间;同时,充分利用众核处理器SPM和RMA的优势,简化在众核处理器上的编程,提高众核处理器的好用性、易用性,提升众核系统的可编程性。
-
公开(公告)号:CN112445482A
公开(公告)日:2021-03-05
申请号:CN201910794946.2
申请日:2019-08-27
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种面向容量受限的程序栈空间深度追溯方法,包括以下步骤:S1、在链接器中建立函数信息的数据结构,形成函数调用关系流程图;S2、获取所有的函数符号信息,建立相应的函数信息数据结构,并将函数的名称、PC值范围、自身栈空间深度信息安装到对应的函数信息结构中;S3、遍历程序所有的重定位信息,根据重定位信息来确定函数调用关系,根据分析结果更新各个函数信息的链表指针;S4、对建立的函数调用关系图做深度优先遍历,通过累加计算获取根节点函数的栈空间深度,对所有根节点栈空间深度做排序后输出。本发明通过静态分析的方法获取栈空间信息,无需重新编译,无需运行插桩,对于程序分析、错误定位以及程序优化有着很好的指导作用。
-
公开(公告)号:CN105426226B
公开(公告)日:2018-07-06
申请号:CN201510828419.0
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明提供了一种异构代码融合的编译和生成方法,包括:利用运算控制核心编译器和运算核心编译器分别为运算控制核心和运算核心生成第一对象文件和第二对象文件;运算核心编译器自动实现对第一对象文件中的函数的重命名,在函数名的前加上前缀;链接器将重命名后第一对象文件与第二对象文件链接融合为统一的可执行程序。
-
-
公开(公告)号:CN102981837B
公开(公告)日:2016-04-13
申请号:CN201210439950.5
申请日:2012-11-06
Applicant: 无锡江南计算技术研究所
IPC: G06F9/44
Abstract: 本发明提供了一种指针别名关系判断方法和代码多版本优化方法。所述指针别名关系判断方法包括:判断第一循环体在执行一次循环操作时所述第一循环体内的第一指针所指向的第一地址段偏移和第二循环体在执行相同次循环操作时第二循环体内的第二指针所指向的第二地址段偏移是否重合,所述第一循环体和第二循环体是根据待优化循环体生成的两个不同版本;判断所述第一循环体在结束上一次循环操作转入下一次循环操作时所述第一指针指向的第一地址段跨步和所述第二循环体在结束上一次循环操作转入下一次循环操作时所述第二指针指向的第二地址段跨步是否相等;以及如果上述两个判断步骤结果均为是,则确定所述第一指针和所述第二指针互为指针别名关系。
-
公开(公告)号:CN101452394A
公开(公告)日:2009-06-10
申请号:CN200710094327.X
申请日:2007-11-28
Applicant: 无锡江南计算技术研究所
Abstract: 一种编译方法和编译器。所述编译方法包括:识别包含第一指令的循环,所述循环在执行过程中有确定的控制参数,所述循环不包含转移指令,且所有的第一指令不存在迭代间的相关性;统计所述循环中第一指令和第二指令的指令数,并根据第一指令执行部件和第二指令执行部件的执行能力计算循环展开次数和第一指令转换成第二指令的循环次数;若所述循环展开次数不等于1,对所述循环进行循环展开,并根据所述第一指令转换成第二指令的循环次数将所述循环展开中的第一指令转换成对应的第二指令。所述编译方法和编译器可以充分利用处理器中的指令执行部件的并行性,提高程序的执行效率,减轻用户的编程负担。
-
公开(公告)号:CN112738142B
公开(公告)日:2022-11-25
申请号:CN201910974455.6
申请日:2019-10-14
Applicant: 无锡江南计算技术研究所
IPC: H04L67/1097 , H04L67/568
Abstract: 本发明公开了一种面向众核多层次存储系统的数据高效传输支持方法,包括典型访存通信模式性能库和运行时最优模式选择模块,所述典型访存通信模式性能库是通过以下步骤构建形成的,总结科学计算程序中的典型通信访存模式;对每种典型通信访存模式,用多种通信访存方案具体实现;对每种实现通信访存方案,测试在不同数据规模下的性能以及需要的缓冲空间的大小,构建典型访存通信模式性库;所述运行时最优模式选择模块则根据用户程序的访存通信模式、访存数据量、可用缓冲空间大小信息,搜索典型访存通信模式性库,选择最优实现方案。本发明减轻编程人员负担的同时,提供高效的实现方案,对于不了解存储系统细节的编程人员,也能很好的利用系统特性。
-
公开(公告)号:CN112579088A
公开(公告)日:2021-03-30
申请号:CN201910920675.0
申请日:2019-09-27
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开了一种面向异构混合编程的一站式程序编译方法,编译器总控增加包括扩展关键字和制导语句,在运算核心变量前添加关键字,在运算核心的函数声明及定义点前添加一个编译指示,在控制核心调用运算核心函数的调用点前添加编译指示;经过前端编译,自动分离控制核心与运算核心的变量与函数;编译器中端对分离出的控制核心上与运算核心上的变量和函数分别进行编译和优化,生成控制核心上程序的中间表示和运算核心上程序的中间表示;将控制核心上和运算核心编译和优化的结果编译成异构众核目标代码。本发明通过在一个编译器内一站式完成控制核心和运算核心代码的分离编译和融合编译,能够解决源到源方式实现复杂、调试困难、可扩展性差的问题。
-
-
-
-
-
-
-
-
-