-
公开(公告)号:CN114217809A
公开(公告)日:2022-03-22
申请号:CN202110398338.7
申请日:2021-04-14
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种无横向一致性的众核精简Cache协议实现方法,包括以下步骤:S1、对Cache行内数据更新情况进行分析,标记出被更新的数据;S2、如果Cache行内所有数据都没有被更新,或者Cache行内所有数据都被更新,跳转至S5,如果Cache行内只有部分数据被更新,跳转至S3;S3、当一个Cache行内的数据只有部分内容需要写回时,其他位掩码置0;S4、根据掩码粒度大小与置位情况,更新主存中对应掩码位为1的数据;S5、直接对Cache行进行写回操作。本发明有效解决共享主存Cache结构的假共享问题,还可以提高写回效率、有效降低处理器在Cache数据管理方面的硬件开销。
-
公开(公告)号:CN114217804A
公开(公告)日:2022-03-22
申请号:CN202110324723.7
申请日:2021-03-26
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种支持多格式半精度浮点的编译方法,包括以下步骤:S1、用户代码使用编译器提供的float16关键字来申明半精度浮点数据类型;S2、用户代码根据需要调用半精度浮点数据格式切换接口进行格式切换;S3、用户代码在切换半精度浮点数据格式后,调用编译器提供的半精度浮点数据转换接口进行数据格式转换;S4、在完成半精度浮点数据格式切换与数据转换后,用户程序在当前半精度浮点格式下进行后续的计算,需要再次切换半精度浮点格式时重复S2、S3。本发明可以在不增加代码编写复杂度的前提下发挥FP16和BF16两种半精度浮点格式的优势,满足应用场景使用半精度浮点加速计算的需求。
-
公开(公告)号:CN114217764A
公开(公告)日:2022-03-22
申请号:CN202110479704.1
申请日:2021-04-30
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于国产异构众核平台的高精度浮点数模拟方法,包括以下步骤:S1、初始数据类型的转换与表示:利用数据类型转换函数实现源数据类型到高精度浮点数的转换;S2、根据具体功能,对符号位、指数位以及尾数分别进行相应的运算,并用指令进行加速;S3、对S2中的结果进行就近取偶舍入,并根据舍入结果对指数进行调整,得到高精度浮点运算的结果。本发明降低了用户的编程难度,使得高精度浮点运算的实现指令条数更少,计算效率更高。
-
公开(公告)号:CN112650539A
公开(公告)日:2021-04-13
申请号:CN201910918622.5
申请日:2019-09-26
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种面向异构众核处理器的动态链接运行支撑方法,包括以下步骤:S1、将用户的控制核心程序、加速核心程序及加速核心静态库链接到可执行程序中,获得异构混合动态链接的可执行程序;S2、运行异构混合动态链接的可执行程序;S3、提供一动态混合链接选项,实现异构程序的混合链接;S4、程序加载器分析异构混合动态链接的可执行程序的各个段,通过interp段解析标准动态链接器的地址;S5、向操作系统申请页氏空间,用于加载控制核心动态库;S6、实现基于众核空间的动态分配策略;S7、新增接口dlopen_hybrid,支持异构混合动态库中控制核心代码和加速核心代码正确运行。本发明既能保证控制核心代码兼容动态链接功能和动态运行模式,也能通过充分发挥加速核心的加载和运行效率。
-
公开(公告)号:CN112631893A
公开(公告)日:2021-04-09
申请号:CN201910903842.0
申请日:2019-09-24
Applicant: 无锡江南计算技术研究所
IPC: G06F11/36
Abstract: 本发明公开一种面向异构平台的多层次存储结构内存检测方法,基于异构众核处理器的编译器和运行时库,包括以下步骤:S1、实现自定义动态运行时库;S2、在自定义动态运行时库中,当从核程序发生段为例异常或终止异常时,从核向主核发送异常中断信号,主核代理从核进行异常处理;S3、主核、从核分别对源程序进行编译分析,将源程序处理为中间代码,并在中间代码上对需要插桩的位置进行插桩处理;S4、编译器将S3中处理过的中间代码,编译、汇编、链接,生成可执行代码,进而生成可执行文件并运行。本发明在拥有多指令集、多层次存储结构的异构众核处理器上实现内存错误的动态检测,检测的错误类型多,且错误信息描述详尽,定位精准,检测效果较好。
-
公开(公告)号:CN112527263A
公开(公告)日:2021-03-19
申请号:CN201910885748.7
申请日:2019-09-19
Applicant: 无锡江南计算技术研究所
Abstract: 本发明公开一种基于国产异构平台的自适应可变参数优化方法,包括以下步骤:S1、根据架构信息选择相应架构的ABI接口,编译器前端根据相应的ABI接口中的ABI约定对源程序进行处理,生成中间表示;S2、编译器后端扫描分析函数中的可变参函数,收集可变参函数的参数使用情况;S3、根据S2中扫描分析得到的信息,依据可变参数的数据类型和可变参数所存入的寄存器的不同,对可变参数进行后端对函数降级前的处理,为编译器后端的函数降级过程做准备;S4、编译器后端对可变参数的内建函数进行降级处理,获得降级后的中间表示;S5、生成汇编文件,即根据降级后的中间表示生成汇编指令。本发明实现了优化可变参函数的内存和减少访存指令的算法,提高了程序的性能。
-
公开(公告)号:CN112445480A
公开(公告)日:2021-03-05
申请号:CN201910794737.8
申请日:2019-08-27
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种面向处理器指令cache的低功耗编译方法,包括以下步骤:S1、寻找最内层循环;S2、判断寻找到的最内层循环是否可以展开;S3、结合L0 cache计算展开次数:即根据循环体的最大伪指令条数MAX_UNROLLED_INSNS、循环体的最大平均伪指令条MAX_AVERAGE_UNROLLED_INSNS和最大展开次数MAX_UNROLL_TIMES,计算展开次数;S4、根据展开次数实现代码展开;S5、在编译器中端,对循环中语句建立依赖关系图,并把循环中每一条语句设为一个区域;S6、遍历所有区域,检查是否有生产者消费者的依赖关系;S7、根据L0 cache容量大小确定最优分区大小;S8、有选择的进行合并语句;S9、将剩余的每一个分区都生成一个循环树,实现循环剥离。本发明实现了循环优化的精细控制策略,保证L0 cache的高命中率,有效降低取指和译码功耗,以提高性能减少功耗。
-
公开(公告)号:CN102880497B
公开(公告)日:2015-05-20
申请号:CN201210372306.0
申请日:2012-09-28
Applicant: 无锡江南计算技术研究所
Abstract: 本发明实施例公开了一种编译器及软件管理存储器的重用优化方法,用于对软件管理存储器进行重用优化,实现软件管理存储器的空间重用分配。本发明实施例中的编译器包括:分析模块,用于根据待写入软件管理存储器的变量的排布方式增加关键字,将关键字及变量的信息发送给编译模块;编译模块,用于识别关键字,为关键字设置重用标识;对设置了重用标识的关键字对应的变量生成具有重用特征的代码形式,将具有重用特征的代码形式发送给链接模块;链接模块,用于根据具有重用特征的代码形式生成临时链接脚本,对临时链接脚本进行链接处理,并进行重用变量的排布,实现软件管理存储器的空间重用分配。
-
公开(公告)号:CN102541611A
公开(公告)日:2012-07-04
申请号:CN201010597808.4
申请日:2010-12-21
Applicant: 无锡江南计算技术研究所
IPC: G06F9/45
CPC classification number: Y02D10/41
Abstract: 一种指令翻译装置和方法、指令处理装置和处理器,所述指令处理装置包括,拆分单元,将逻辑运算指令拆分为多条单逻辑运算指令;转换单元,将所述单逻辑运算指令转换成具有预定格式的中间指令,所述预定格式包含逻辑值、源操作数和目标操作数;合并单元,合并预定指令及其定值点指令生成具有所述预定格式的合并指令;所述预定指令是指源操作数具有定值点指令的中间指令,所述预定指令的定值点指令是指对该预定指令的源操作数进行赋值的中间指令;所述合并指令的逻辑值通过数组索引所述预定指令及其定值点指令的逻辑值生成。本发明的指令翻译装置和方法、指令处理装置和处理器,提高了处理器处理逻辑运算的效率,降低了处理器的功耗。
-
公开(公告)号:CN114217810B
公开(公告)日:2025-05-20
申请号:CN202110398340.4
申请日:2021-04-14
Applicant: 无锡江南计算技术研究所
IPC: G06F8/41
Abstract: 本发明公开一种数据cache属性细粒度切换的方法,包括以下步骤:S1:编译选项识别:从程序的编译命令中识别‑fdynamic‑uncache‑symbols选项,若识别成功,使能编译器cache动态配置机制;S2:循环处理程序声明的数据,判定数据默认的Cache属性;S3.1:针对默认属性为可Cache访问的数据,假定其符号为“xxx”,编译器进行编译指示处理;S3.2:针对默认属性为不可Cache访问的数据,假定其符号为“xxx”,编译器进行编译指示处理本发明提高了用户程序数据对Cache空间的整体利用率,进而提高程序运行性能。
-
-
-
-
-
-
-
-
-