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

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

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

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

【技术特征摘要】
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