指令翻译装置和方法、指令处理装置和处理器

    公开(公告)号:CN102541611B

    公开(公告)日:2014-09-03

    申请号:CN201010597808.4

    申请日:2010-12-21

    CPC classification number: Y02D10/41

    Abstract: 一种指令翻译装置和方法、指令处理装置和处理器,所述指令处理装置包括,拆分单元,将逻辑运算指令拆分为多条单逻辑运算指令;转换单元,将所述单逻辑运算指令转换成具有预定格式的中间指令,所述预定格式包含逻辑值、源操作数和目标操作数;合并单元,合并预定指令及其定值点指令生成具有所述预定格式的合并指令;所述预定指令是指源操作数具有定值点指令的中间指令,所述预定指令的定值点指令是指对该预定指令的源操作数进行赋值的中间指令;所述合并指令的逻辑值通过数组索引所述预定指令及其定值点指令的逻辑值生成。本发明的指令翻译装置和方法、指令处理装置和处理器,提高了处理器处理逻辑运算的效率,降低了处理器的功耗。

    基于实例的迭代编译方法及编译装置

    公开(公告)号:CN102455897B

    公开(公告)日:2013-11-27

    申请号:CN201010523297.1

    申请日:2010-10-27

    Abstract: 一种基于实例的迭代编译方法及装置。所述编译方法包括:根据编译操作参数对待编译目标程序进行更新操作或应用操作;所述更新操作通过在迭代编译目标程序后形成新实例,并以实例库中的实例对新实例预测的结果确定是否将新实例添加至实例库中;所述应用操作在编译目标程序时,从实例库中获取与目标程序中特征值最相似的多个实例,以所获得的多个实例确定所述特征值的分类,并以此对目标程序进行编译。所述编译方法结合了迭代编译技术和机器学习方法,使得编译器既可以在优化空间中搜索最优参数,进行自动调优,提高编译器的性能;又可以充分利用历史积累数据,从实例库中学习,预测最优或者较优的参数,在提高性能同时尽可能降低编译所需的时间。

    函数调用和返回的处理方法、二进制翻译方法和系统

    公开(公告)号:CN101452395B

    公开(公告)日:2013-04-24

    申请号:CN200710094328.4

    申请日:2007-11-28

    Abstract: 本发明公开了一种函数调用和返回的处理方法、二进制翻译方法和系统,所述函数调用和返回的处理方法包括:将源程序的函数调用的返回地址作为假指令保存在目标程序的函数调用指令之后;在目标程序的函数调用开始,将所述假指令的地址保存到栈中;在目标程序的函数调用结束,将栈顶保存的地址取出,在所述从栈顶取出的地址的值是否等于所述源程序的函数调用的返回地址时,跳转到所述假指令后。本发明可以在函数调用后快速返回,并且可以避免因哈希冲突造成效率低的问题,因此能够减少返回型间接分支的开销,提高二进制翻译的性能。

    计算机通信连接方法及系统

    公开(公告)号:CN102567123A

    公开(公告)日:2012-07-11

    申请号:CN201010612615.1

    申请日:2010-12-29

    Abstract: 本发明公开了一种计算机通信连接方法及系统。一种计算机通信连接方法,包括:确定每个通信进程连接的最大通信进程数量;获取所有通信进程的总数量,并依据所述每个通信进程连接的最大通信进程数量,将通信进程划分为至少两组进程组;进程组内的各个通信进程与同进程组内的其他通信进程建立连接;不同进程组内部分通信进程之间建立连接。应用上述技术方案,所有通信进程之间不需要全部建立连接,相对于现有技术来说,本技术方案在保证全部进程通信的同时,采用分组以及不同进程组内部分通信进程建立连接,降低每个通信进程所需QP的数量,减少内存需求量,进而提高了通信连接的可扩展性。

    编译方法和编译器
    45.
    发明授权

    公开(公告)号:CN101452394B

    公开(公告)日:2012-05-23

    申请号:CN200710094327.X

    申请日:2007-11-28

    Abstract: 一种编译方法和编译器。所述编译方法包括:识别包含第一指令的循环,所述循环在执行过程中有确定的控制参数,所述循环不包含转移指令,且所有的第一指令不存在迭代间的相关性;统计所述循环中第一指令和第二指令的指令数,并根据第一指令执行部件和第二指令执行部件的执行能力计算循环展开次数和第一指令转换成第二指令的循环次数;若所述循环展开次数不等于1,对所述循环进行循环展开,并根据所述第一指令转换成第二指令的循环次数将所述循环展开中的第一指令转换成对应的第二指令。所述编译方法和编译器可以充分利用处理器中的指令执行部件的并行性,提高程序的执行效率,减轻用户的编程负担。

    基于实例的迭代编译方法及编译装置

    公开(公告)号:CN102455897A

    公开(公告)日:2012-05-16

    申请号:CN201010523297.1

    申请日:2010-10-27

    Abstract: 一种基于实例的迭代编译方法及装置。所述编译方法包括:根据编译操作参数对待编译目标程序进行更新操作或应用操作;所述更新操作通过在迭代编译目标程序后形成新实例,并以实例库中的实例对新实例预测的结果确定是否将新实例添加至实例库中;所述应用操作在编译目标程序时,从实例库中获取与目标程序中特征值最相似的多个实例,以所获得的多个实例确定所述特征值的分类,并以此对目标程序进行编译。所述编译方法结合了迭代编译技术和机器学习方法,使得编译器既可以在优化空间中搜索最优参数,进行自动调优,提高编译器的性能;又可以充分利用历史积累数据,从实例库中学习,预测最优或者较优的参数,在提高性能同时尽可能降低编译所需的时间。

    函数调用和返回的处理方法、二进制翻译方法和系统

    公开(公告)号:CN101452395A

    公开(公告)日:2009-06-10

    申请号:CN200710094328.4

    申请日:2007-11-28

    Abstract: 本发明公开了一种函数调用和返回的处理方法、二进制翻译方法和系统,所述函数调用和返回的处理方法包括:将源程序的函数调用的返回地址作为假指令保存在目标程序的函数调用指令之后;在目标程序的函数调用开始,将所述假指令的地址保存到栈中;在目标程序的函数调用结束,将栈顶保存的地址取出,在所述从栈顶取出的地址的值是否等于所述源程序的函数调用的返回地址时,跳转到所述假指令后。本发明可以在函数调用后快速返回,并且可以避免因哈希冲突造成效率低的问题,因此能够减少返回型间接分支的开销,提高二进制翻译的性能。

    面向异构众核后端基于代价模型的多面体优化方法

    公开(公告)号:CN112558977B

    公开(公告)日:2022-11-15

    申请号:CN201910910502.0

    申请日:2019-09-25

    Abstract: 本发明公开一种面向异构众核后端基于代价模型的多面体优化方法,包括以下步骤:S1、编译器解析位于主核和从核上的用户程序的编译标识,生成对应的主核中间表示和从核中间表示;S2、编译器对S1中生成的主核和从核的中间表示层代码进行分析和优化;S3、对是否实施多面体调度与优化方法进行收益评估;S4、对有收益的静态控制单元实施多面体调度与优化,生成新的中间表示;S5、编译器将新的向量中间表示生成可重定向文件;S6、将中的可重定向文件与库文件链接,生成可执行文件。本发明首次提出并实现了片上异构众核的程序多面体优化自动变换方法,并加入了主核和从核独立的代价模型计算框架,保证了在有收益的前提下进行程序变换以节省程序的编译时间。

    基于迭代逼近的RDMA缓冲区动态分配方法

    公开(公告)号:CN112433980B

    公开(公告)日:2022-07-12

    申请号:CN201910788875.5

    申请日:2019-08-26

    Abstract: 本发明公开一种基于迭代逼近的RDMA缓冲区动态分配方法,包括以下步骤:S1、初始化时,RDMA发起方做以下设置:将请求分配的缓冲区数量记为rbuf_thresh,初始值设为4,rbuf_thresh扩张时的时间记为epoch_start,初始值设为当前时间,rbuf_thresh扩张前的rbuf_thresh记为Rmin,初始值设为2,rbuf_thresh扩张后的rbuf_thresh记为Rmax,初始值设为4,rbuf_thresh扩张后Rmax减少到Rmin的时间记为K,初始化为K=,其中C是一个常数系数;S2、RDMA发起方检查本地保存的RDMA缓冲区列表,判断RDMA被动方是否有可用的RDMA缓冲区;S3、RDMA被动方收到RDMA主动方发来的分配RDMA缓冲区请求后,根据该请求中的rbuf_thresh分配新的RDMA缓冲区,并通告给RDMA主动方。本发明实现了对RDMA缓冲区的动态分配,在保证网络高带宽的同时,可以显著降低预先分配的RDMA缓冲区数量,降低内存消耗量。

Patent Agency Ranking