一种计算方法及相关产品技术

技术编号:27615626 阅读:14 留言:0更新日期:2021-03-10 10:45
本公开提供了一种信息处理方法,所述方法应用于计算装置内,所述计算装置包括:存储介质、寄存器单元和矩阵计算单元;所述方法包括如下步骤:所述计算装置控制所述矩阵计算单元获取第一运算指令,所述第一运算指令包括执行所述指令所需的矩阵读取指示;所述计算装置控制所述运算单元依据所述矩阵读取指示向所述存储介质发送读取命令;所述计算装置控制所述运算单元依据采用批量读取方式读取所述矩阵读取指示对应的矩阵,对该矩阵执行所述第一运算指令。本申请提供的技术方案具有计算速度快,效率高的优点。效率高的优点。效率高的优点。

【技术实现步骤摘要】
一种计算方法及相关产品


[0001]本申请涉及数据处理
,具体涉及一种计算方法及相关产品。

技术介绍

[0002]数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行矩阵数据的计算时速度慢,效率低。
[0003]申请内容
[0004]本申请实施例提供了一种计算方法及相关产品,可提升计算装置的处理速度,提高效率。
[0005]第一方面,提供一种计算方法,应用于计算装置内,所述计算装置包括存储介质、寄存器单元和矩阵运算单元,所述方法包括:
[0006]所述计算装置控制所述矩阵运算单元获取第一运算指令,所述第一运算指令用于实现矩阵布尔运算,所述第一运算指令包括执行所述指令所需的矩阵读取指示,所述所需的矩阵为至少一个矩阵,所述至少一个矩阵为长度相同或长度不同的矩阵;
[0007]所述计算装置控制所述矩阵运算单元依据所述矩阵读取指示向所述存储介质发送读取命令;
[0008]所述计算装置控制所述矩阵运算单元采用批量读取方式从所述存储介质中读取所述矩阵读取指示所对应的矩阵,并对所述矩阵执行所述第一运算指令。
[0009]在一些可能的实施例中,所述对所述矩阵执行所述第一运算指令包括:
[0010]所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令。
[0011]在一些可能的实施例中,所述多级流水级中的每个流水级包括有至少一个运算器,/>[0012]所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:
[0013]所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的第一选择运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的第二选择运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级中的第i选择运算器执行计算得到第i个结果;
[0014]将所述第i个结果输入至所述存储介质进行存储;
[0015]其中,所述多级流水级的数量i是根据所述第一运算指令的计算拓扑结构确定的,且i为正整数。
[0016]在一些可能的实施例中,所述多级流水级中的每个流水级各自配置有对应的多路选择器,所述多路选择器设置有空选项,所述空选项用于指示与所述多路选择器连接的第k级流水级以及后续的第k+1至第i级流水级均不予执行计算操作,其中,k为小于等于i的正
整数。
[0017]在一些可能的实施例中,所述多级流水级中的每个流水级所包括的运算器以及所述运算器的数量是由用户侧或所述计算装置侧自定义设置的。
[0018]在一些可能的实施例中,所述多级流水级中的每个流水级包括有预先设置的固定运算器,所述每个流水级中的固定运算器均不相同,
[0019]所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:
[0020]所述计算装置控制所述矩阵运算单元利用第一级流水级中的固定运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的第固定运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级中的固定运算器执行计算得到第i个结果;
[0021]将所述第i个结果输入至所述存储介质进行存储;
[0022]其中,所述多级流水级的数量i是根据所述第一运算指令的计算拓扑结构确定的,且i为正整数。
[0023]在一些可能的实施例中,所述多级流水级中每个流水级中的运算器包括以下中的任一项或多项的组合:矩阵加法运算器、矩阵比较运算器以及矩阵逻辑运算器。
[0024]在一些可能的实施例中,所述第一运算指令包括以下中的任一项:矩阵逐元素与指令MAND、矩阵逐元素或指令MOR、矩阵逐元素非指令MNON、矩阵逐元素异或指令MXOR、矩阵与定值比较指令MTCOM、矩阵与矩阵比较指令MCOM、矩阵数据选择指令MSEL。
[0025]在一些可能的实施例中,所述第一运算指令为以下指令中的任一项:矩阵逐元素与指令MAND、矩阵逐元素或指令MOR、矩阵逐元素非指令MNON、矩阵逐元素异或指令MXOR,
[0026]所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:
[0027]所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中非线性运算器对所述矩阵对应进行以下操作的任一项以得到第一结果:矩阵逐元素的与操作运算、矩阵逐元素的或操作运算、矩阵逐元素的非操作运算以及矩阵逐元素的异或操作运算;将所述第一结果输入至所述存储介质进行存储。
[0028]在一些可能的实施例中,所述第一运算指令为矩阵与定值比较指令MTCOM或者矩阵与矩阵比较指令MCOM,
[0029]所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:
[0030]所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中矩阵比较运算器对所述矩阵进行矩阵逐元素与指定数值的比较操作运算,或者进行对应矩阵元素的比较操作运算得到第一结果;将所述第一结果输入至所述存储介质进行存储。
[0031]在一些可能的实施例中,所述第一运算指令为矩阵数据选择指令MSEL,
[0032]所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:
[0033]所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中矩阵比较运算器对所述矩阵进行矩阵元素的选择操作运算以得到第一结果;将所述第一
结果输入至所述存储介质进行存储。
[0034]在一些可能的实施例中,所述第一运算指令的指令格式包括操作码和至少一个操作域,操作码用于指示该运算指令的功能,运算单元通过识别该操作码可进行不同的矩阵运算,操作域用于指示该运算指令的数据信息,其中,数据信息可以是立即数或寄存器号,例如,要获取一个矩阵时,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储介质中获取相应地址存放的矩阵。可选地,可在相应寄存器中获取以下中信息中的任一项或多项的组合:所述指令所需矩阵的行数、列数、数据类型、标识、存储地址(首地址)以及维数长度,所述维数长度是指矩阵行的长度和/或矩阵列的长度。
[0035]在一些可能的实施例中,所述矩阵读取指示包括:所述指令所需的矩阵的存储地址或所述指令所需矩阵的标识。
[0036]在一些可能的实施例中,当所述矩阵读取指示为所述指令所需矩阵的标识时,
[0037]所述计算装置控制所述矩阵运算单元依据所述矩阵读取指示向所述存储介质发送读取命令包括:
[0038]所述计算装置控制所述矩阵运算单元依据所述标识从所述寄存器本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种计算方法,其特征在于,应用于计算装置内,所述计算装置包括存储介质、寄存器单元和矩阵运算单元,所述方法包括:所述计算装置控制所述矩阵运算单元获取第一运算指令,所述第一运算指令用于实现矩阵布尔运算,所述第一运算指令包括执行所述指令所需的矩阵读取指示,所述所需的矩阵为至少一个矩阵,所述至少一个矩阵为长度相同或长度不同的矩阵;所述计算装置控制所述矩阵运算单元依据所述矩阵读取指示向所述存储介质发送读取命令;所述计算装置控制所述矩阵运算单元采用批量读取方式从所述存储介质中读取所述矩阵读取指示所对应的矩阵,并采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令。2.根据权利要求1所述的方法,其特征在于,所述第一运算指令包括以下中的任一项:矩阵逐元素或指令MOR、矩阵逐元素非指令MNON、矩阵逐元素异或指令MXOR、矩阵与定值比较指令MTCOM、矩阵与矩阵比较指令MCOM或矩阵数据选择指令MSEL;所述MOR、MXOR均包括:操作码和操作域,所述操作域包括:TYPE、A、LDA、B、LDB、C、LDC;所述TYPE为矩阵操作涉及的数据类型;所述A为矩阵A的首地址,所述LDA为矩阵A的行主序或列主序;所述B为矩阵B的首地址,所述LDB为矩阵B的行主序或列主序;所述C为结果矩阵C的首地址,所述LDC为矩阵C的行主序或列主序;所述MTCOM包括:操作码和操作域,所述操作域包括:TYPE、A、LDA、M、N、T、C、LDC;所述TYPE为矩阵操作涉及的数据类型;所述A为矩阵A的首地址,所述LDA为矩阵A的行主序或列主序;所述M为矩阵A的行数,N为矩阵A的列数,T为标量,所述C为结果矩阵C的首地址,所述LDC为矩阵C的行主序或列主序;所述MSEL、MCOM均包括:操作码和操作域,所述操作域包括:TYPE、A、LDA、M、N、B、LDB、C、LDC;所述TYPE为矩阵操作涉及的数据类型;所述A为矩阵A的首地址,所述LDA为矩阵A的行主序或列主序;所述M为矩阵A的行数,N为矩阵A的列数,所述B为矩阵B的首地址,所述LDB为矩阵B的行主序或列主序,所述C为结果矩阵C的首地址,所述LDC为矩阵C的行主序或列主序。3.根据权利要求1所述的方法,其特征在于,所述多级流水级中的每个流水级包括有至少一个运算器,所述采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的第一选择运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的第二选择运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级中的第i选择运算器执行计算得到第i个结果;将所述第i个结果输入至所述存储介质进行存储;其中,所述第i个结果为输出矩阵,所述多级流水级的数量i是根据所述第一运算指令的计算拓扑结构确定的,且i为正整数。4.根据权利要求1所述的方法,其特征在于,所述多级流水级中的每个流水级包括有预先设置的固定运算器,所述每个流水级中的固定运算器均不相同,
所述采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元利用第一级流水级中的固定运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的固定运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:安徽寒武纪信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1