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

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

【技术实现步骤摘要】
一种计算方法及相关产品
本申请涉及数据处理
,具体涉及一种计算方法及相关产品。
技术介绍
数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行矩阵数据的计算时速度慢,效率低。申请内容本申请实施例提供了一种计算方法及相关产品,可提升计算装置的处理速度,提高效率。第一方面,提供一种计算方法,应用于计算装置内,所述计算装置包括存储介质、寄存器单元和矩阵运算单元,所述方法包括:所述计算装置控制所述矩阵运算单元获取第一运算指令,所述第一运算指令用于实现矩阵与标量之间的运算,所述第一运算指令包括执行所述指令所需的矩阵读取指示,所述所需的矩阵为至少一个矩阵,所述至少一个矩阵为长度相同或长度不同的矩阵;所述计算装置控制所述矩阵运算单元依据所述矩阵读取指示向所述存储介质发送读取命令;所述计算装置控制所述矩阵运算单元采用批量读取方式从所述存储介质中读取所述矩阵读取指示所对应的矩阵,并对所述矩阵执行所述第一运算指令。在一些可能的实施例中,所述对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令。在一些可能的实施例中,所述多级流水级中的每个流水级包括有至少一个运算器,所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的第一选择运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的第二选择运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级中的第i选择运算器执行计算得到第i个结果;将所述第i个结果输入至所述存储介质进行存储;其中,所述多级流水级的数量i是根据所述第一运算指令的计算拓扑结构确定的,且i为正整数。在一些可能的实施例中,所述多级流水级中的每个流水级各自配置有对应的多路选择器,所述多路选择器设置有空选项,所述空选项用于指示与所述多路选择器连接的第k级流水级以及后续的第k+1至第i级流水级均不予执行计算操作,其中,k为小于等于i的正整数。在一些可能的实施例中,所述多级流水级中的每个流水级所包括的运算器以及所述运算器的数量是由用户侧或所述计算装置侧自定义设置的。在一些可能的实施例中,所述多级流水级中的每个流水级包括有预先设置的固定运算器,所述每个流水级中的固定运算器均不相同,所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元利用第一级流水级中的固定运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的第固定运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级中的固定运算器执行计算得到第i个结果;将所述第i个结果输入至所述存储介质进行存储;其中,所述多级流水级的数量i是根据所述第一运算指令的计算拓扑结构确定的,且i为正整数。在一些可能的实施例中,所述多级流水级中每个流水级中的运算器包括以下中的任一项或多项的组合:矩阵加法运算器、矩阵乘法运算器、矩阵标量乘法运算器、非线性运算器以及矩阵比较运算器。在一些可能的实施例中,所述第一运算指令包括以下中的任一项:矩阵求行列式指令MDET、矩阵求秩指令MRANK、矩阵求迹指令MTRA、矩阵求零元素比例指令MNZ、矩阵求主特征值指令MEVA。在一些可能的实施例中,所述第一运算指令为矩阵求行列式指令MDET,所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的矩阵比较运算器对所述矩阵进行序列逆序数的运算得到第一结果,将所述第一结果输入至第二级流水级中以利用其内的矩阵乘法运算器对所述第一结果进行所有序列的乘法运算得到第二结果,将所述第二结果输入至第三级流水级中以利用其内的矩阵加法运算器对所述第二结果进行所有序列求和运算得到第三结果;将所述第三结果输入至所述存储介质进行存储。在一些可能的实施例中,所述第一运算指令为矩阵求秩指令MRANK,所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的矩阵加法运算器对所述矩阵进行初等行变换得到第一结果,将所述第一结果输入至第二级流水级中的矩阵比较运算器进行非零行数的统计得到第二结果;将所述第二结果输入至所述存储介质进行存储,所述第二结果为矩阵的秩。在一些可能的实施例中,所述第一运算指令为矩阵求迹指令MTRA,所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的矩阵比较运算器对所述矩阵进行选对角元素的计算得到第一结果,将所述第一结果输入至第二级流水级中的矩阵加法运算器进行矩阵对角元素求和得到第二结果;将所述第二结果输入至所述存储介质进行存储。在一些可能的实施例中,所述第一运算指令为矩阵求零元素比例指令MNZ,所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的矩阵比较运算器对所述矩阵进行选零元素得到第一结果,将所述第一结果输入至第二级流水级中的矩阵加法运算器中进行矩阵零元素数目统计得到第二结果,将所述第二结果输入至第三级流水级中的矩阵乘法运算器进行矩阵零元素比例计算得到第三结果;将所述第三结果输入至所述存储介质进行存储。在一些可能的实施例中,所述第一运算指令为矩阵求主特征值指令MEVA,所述计算装置控制所述矩阵运算单元采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的矩阵加法运算器对所述矩阵进行归一化得到第一结果,将所述第一结果输入至第二级流水级中的矩阵加法运算器再次执行归一化得到第二结果,将所述第二结果输入至第三级流水级中的矩阵乘法运算器中进行主特征值的计算得到第三结果;将所述第三结果输入至所述存储介质进行存储。在一些可能的实施例中,所述第一运算指令的指令格式包括操作码和至少一个操作域,操作码用于指示该运算指令的功能,运算单元通过识别该操作码可进行不同的矩阵运算,操作域用于指示该运算指令的数据信息,其中,数据信息可以是立即数或寄存器号,例如,要获取一个矩阵时,根据寄存器号可以在相应的寄存器中获取矩阵起始地址和矩阵长度,再根据矩阵起始地址和矩阵长度在存储介质中获取相应地址存放的矩阵。可选地,可在相应寄存器中获取以下中信息中的任一项或多项的组合:所述指令所需矩阵的行数、列数、数据类型、标识、存储地址(首地址)以及维数长度,所述维数长度是指矩阵行的长度和/或矩阵列的长度。在一些可能的实施例中,所述矩阵读取指示包括:所述指令所需的矩阵的存储地址或所述指令所需矩阵的标识。在一些可本文档来自技高网...
一种计算方法及相关产品

【技术保护点】
一种计算方法,其特征在于,应用于计算装置内,所述计算装置包括存储介质、寄存器单元和矩阵运算单元,所述方法包括:所述计算装置控制所述矩阵运算单元获取第一运算指令,所述第一运算指令用于实现矩阵与标量之间的运算,所述第一运算指令包括执行所述指令所需的矩阵读取指示,所述所需的矩阵为至少一个矩阵,所述至少一个矩阵为长度相同或长度不同的矩阵;所述计算装置控制所述矩阵运算单元依据所述矩阵读取指示向所述存储介质发送读取命令;所述计算装置控制所述矩阵运算单元采用批量读取方式从所述存储介质中读取所述矩阵读取指示所对应的矩阵,并采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令。

【技术特征摘要】
1.一种计算方法,其特征在于,应用于计算装置内,所述计算装置包括存储介质、寄存器单元和矩阵运算单元,所述方法包括:所述计算装置控制所述矩阵运算单元获取第一运算指令,所述第一运算指令用于实现矩阵与标量之间的运算,所述第一运算指令包括执行所述指令所需的矩阵读取指示,所述所需的矩阵为至少一个矩阵,所述至少一个矩阵为长度相同或长度不同的矩阵;所述计算装置控制所述矩阵运算单元依据所述矩阵读取指示向所述存储介质发送读取命令;所述计算装置控制所述矩阵运算单元采用批量读取方式从所述存储介质中读取所述矩阵读取指示所对应的矩阵,并采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令。2.根据权利要求1所述的方法,其特征在于,所述多级流水级中的每个流水级包括有至少一个运算器,所述采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元根据多路选择器的选择,利用第一级流水级中的第一选择运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的第二选择运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级中的第i选择运算器执行计算得到第i个结果;将所述第i个结果输入至所述存储介质进行存储;其中,所述第i个结果为输出矩阵,所述多级流水级的数量i是根据所述第一运算指令的计算拓扑结构确定的,且i为正整数。3.根据权利要求1所述的方法,其特征在于,所述多级流水级中的每个流水级包括有预先设置的固定运算器,所述每个流水级中的固定运算器均不相同,所述采用多级流水级的计算方式,对所述矩阵执行所述第一运算指令包括:所述计算装置控制所述矩阵运算单元利用第一级流水级中的固定运算器对所述矩阵进行计算得到第一结果,将所述第一结果输入到第二级流水级中的固定运算器执行计算得到第二结果,以此类推,直至将第i-1个结果输入至第i级流水级中的固定运算器执行计算得到第i个结果;将所述第i个结果输入至所述存储介质进行存储;其中,所述多级流水级的数量i是根据所述第一运算指令的计算拓扑结构确定的,且i为正整数。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述多级流水级中的每个流水级各自配置有对应的多路选择器,所述多路选择器设置有空选项,所述空选项用于指示与所述多路选择器连接的第k级流水级以及后续的第k+1至第i级流水级均不予执行计算操作,其中,k为小于等于i的正整数;所述多级流水级中每个流水级中的运算器包括以下中的任一项或多项的组合:矩阵加法运算器、矩阵乘法运算器、矩阵标...

【专利技术属性】
技术研发人员:胡帅刘恩赫张尧孟小甫
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京,11

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

1