运算方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:29882373 阅读:15 留言:0更新日期:2021-08-31 23:59
本公开涉及一种运算方法、装置、计算机设备和存储介质。其中的组合处理装置包括:机器学习运算装置、通用互联接口和其他处理装置;机器学习运算装置与其他处理装置进行交互,共同完成用户指定的计算操作,其中,组合处理装置还包括:存储装置,该存储装置分别与机器学习运算装置和其他处理装置连接,用于保存机器学习运算装置和其他处理装置的数据。本公开实施例所提供的运算方法、装置、计算机设备和存储介质的适用范围广,进行运算的处理效率高、处理速度快。

【技术实现步骤摘要】
【国外来华专利技术】运算方法、装置、计算机设备和存储介质
本公开涉及计算机
,特别是涉及一种运算方法、装置、计算机设备和存储介质。
技术介绍
随着科技的不断发展,机器学习,尤其是神经网络算法的使用越来越广泛。其在图像识别、语音识别、自然语言处理等领域中都得到了良好的应用。但由于神经网络算法的复杂度越来越高,所涉及的数据运算种类和数量不断增大。相关技术中,在对数据进行选择运算、计数运算、全连接运算、卷积运算、最大池化运算、激活运算、填充运算、矩阵转置运算、平均池化运算、标量计算、标量类型转换、取地址处理、标量数据迁移、对指令流的跳转控制进行处理、向量计算、循环向量计算、向量数据迁移、同步控制、中断存储等运算或处理的效率低、速度慢。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够解决上述问题的运算方法、装置、计算机设备和存储介质。根据本公开的一方面,提供了一种激活指令处理装置,所述装置包括:控制模块,用于对获取到的激活指令进行编译,得到编译后的激活指令,对所述编译后的激活指令进行解析,得到所述激活指令的操作码和操作域,并根据所述操作码和所述操作域获取执行所述激活指令所需的待运算数据和目标地址;运算模块,用于对所述待运算数据进行激活运算,得到运算结果,并将所述运算结果存入所述目标地址中,其中,所述操作码用于指示所述激活指令对数据所进行的运算为激活运算,所述操作域包括待运算数据地址和所述目标地址。根据本公开的另一方面,提供了一种机器学习运算装置,所述装置包括:一个或多个上述激活指令处理装置,用于从其他处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其他处理装置;当所述机器学习运算装置包含多个所述激活指令处理装置时,所述多个所述激活指令处理装置间可以通过特定的结构进行连接并传输数据;其中,多个所述激活指令处理装置通过快速外部设备互连总线PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算;多个所述激活指令处理装置共享同一控制系统或拥有各自的控制系统;多个所述激活指令处理装置共享内存或者拥有各自的内存;多个所述激活指令处理装置的互联方式是任意互联拓扑。根据本公开的另一方面,提供了一种组合处理装置,所述装置包括:上述机器学习运算装置、通用互联接口和其他处理装置;所述机器学习运算装置与所述其他处理装置进行交互,共同完成用户指定的计算操作。根据本公开的另一方面,提供了一种机器学习芯片,所述机器学习芯片包括上述机器学习络运算装置或上述组合处理装置。根据本公开的另一方面,提供了一种机器学习芯片封装结构,该机器学习芯片封装结构包括上述机器学习芯片。根据本公开的另一方面,提供了一种板卡,该板卡包括上述机器学习芯片封装结构。根据本公开的另一方面,提供了一种电子设备,所述电子设备包括上述机器学习芯片或上述板卡。根据本公开的另一方面,提供了一种激活指令处理方法,所述方法应用于激活指令处理装置,所述方法包括:利用控制模块对获取到的激活指令进行编译,得到编译后的激活指令,对所述编译后的激活指令进行解析,得到所述激活指令的操作码和操作域,并根据所述操作码和所述操作域获取执行所述激活指令所需的待运算数据和目标地址;利用运算模块对所述待运算数据进行激活运算,得到运算结果,并将所述运算结果存入所述目标地址中,其中,所述操作码用于指示所述激活指令对数据所进行的运算为激活运算,所述操作域包括待运算数据地址和所述目标地址。根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述激活指令处理方法。本公开实施例提供一种激活指令处理方法、装置及相关产品,该装置包括控制模块和运算模块,控制模块用于对获取到的激活指令进行编译,得到编译后的激活指令,对编译后的激活指令进行解析,得到激活指令的操作码和操作域,并根据操作码和操作域获取执行激活指令所需的待运算数据和目标地址;运算模块用于对待运算数据进行激活运算,得到运算结果,并将运算结果存入目标地址中。本公开实施例所提供的激活指令处理方法、装置及相关产品的适用范围广,对激活指令的处理效率高、处理速度快,进行激活运算的处理效率高、处理速度快。在一些实施例中,所述电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开实施例的指令处理方法的处理器的示意图。图1-1示出根据本公开一实施例的激活指令处理装置的框图。图1-2a、图1-2b示出根据本公开一实施例的激活指令处理装置的框图。图1-3示出根据本公开一实施例的激活指令处理装置的应用场景的示意图。图1-4示出根据本公开一实施例的激活指令处理方法的流程图。图2-1示出根据本公开一实施例的线性整流函数激活指令处理装置的框图。图2-2a、图2-2b示出根据本公开一实施例的线性整流函数激活指令处理装置的框图。图2-3示出根据本公开一实施例的线性整流函数激活指令处理装置的应用场景的示意图。图2-4示出根据本公开一实施例的线性整流函数激活指令处理方法的流程图。图3-1示出根据本公开一实施例的S型生长曲线函数激活指令处理装置的框图。图3-2a、图3-2b示出根据本公开一实施例的S型生长曲线函数激活指令处理装置的框图。图3-3示出根据本公开一实施例的S型生长曲线函数激活指令处理装置的应用场景的示意图。图3-4示出根据本公开一实施例的S型生长曲线函数激活指令处理方法的流程图。图4-1示出根据本公开一实施例的指数函数激活指令处理装置的框图。图4-2a、图4-2b示出根据本公开一实施例的指数函数激活指令处理装置的框图。图4-3示出根据本公开一实施例的指数函数激活指令处理装置的应用场景的示意图。图4-4示出根据本公开一实施例的指数函数激活指令处理方法的流程图。图5-1示出根据本公开一实施例的选择指令处理装置的框图。图5-2a、图5-2b示出根据本公开一实施例的选择指令处理装置的框图。图5-3示出根据本公开一实施例的选择指令处理装置的应用场景的示意图。图5-4示出根据本公开一本文档来自技高网...

【技术保护点】
一种激活指令处理装置,其特征在于,所述装置包括:/n控制模块,用于对获取到的激活指令进行编译,得到编译后的激活指令,对所述编译后的激活指令进行解析,得到激活指令的操作码和操作域,并根据所述操作码和所述操作域获取执行激活指令所需的待运算数据和目标地址;/n运算模块,用于对所述待运算数据进行激活运算,得到运算结果,并将所述运算结果存入所述目标地址中,/n其中,所述操作码用于指示所述激活指令对数据所进行的运算为激活运算,所述操作域包括待运算数据地址和所述目标地址。/n

【技术特征摘要】
【国外来华专利技术】20181009 CN 2018111721401;20181011 CN 201811184749一种激活指令处理装置,其特征在于,所述装置包括:
控制模块,用于对获取到的激活指令进行编译,得到编译后的激活指令,对所述编译后的激活指令进行解析,得到激活指令的操作码和操作域,并根据所述操作码和所述操作域获取执行激活指令所需的待运算数据和目标地址;
运算模块,用于对所述待运算数据进行激活运算,得到运算结果,并将所述运算结果存入所述目标地址中,
其中,所述操作码用于指示所述激活指令对数据所进行的运算为激活运算,所述操作域包括待运算数据地址和所述目标地址。


根据权利要求1所述的装置,其特征在于,
所述控制模块,还用于根据所述操作码和/或所述操作域获取激活参数表;
所述运算模块,还用于根据所述激活参数表对所述待运算数据进行激活运算,得到运算结果,
其中,所述激活参数表包括激活表和常数表。


根据权利要求1所述的装置,其特征在于,所述运算模块,包括:
多个激活运算器,用于对所述待运算数据进行激活运算。


根据权利要求3所述的装置,其特征在于,所述运算模块包括主运算子模块和多个从运算子模块,所述主运算子模块包括所述多个激活运算器,
所述主运算子模块,用于利用所述多个激活运算器对所述待运算数据进行激活运算,得到运算结果,并将所述运算结果存入所述目标地址中。


根据权利要求1所述的装置,其特征在于,所述操作域包括读入量或所述读入量的存储地址,其中,所述控制模块,还用于获取所述读入量,并按照所述读入量获取所述待运算数据。


根据权利要求1所述的装置,其特征在于,所述装置还包括:
存储模块,用于存储所述待运算数据。


根据权利要求1所述的装置,其特征在于,所述控制模块,包括:
指令存储子模块,用于存储所述编译后的激活指令;
指令处理子模块,用于对所述编译后的激活指令进行解析,得到激活指令的操作码和操作域;
队列存储子模块,用于存储指令队列,所述指令队列包括按照执行顺序依次排列的多个待执行指令,所述多个待执行指令包括所述编译后的激活指令。


根据权利要求7所述的装置,其特征在于,所述控制模块,还包括:
依赖关系处理子模块,用于在确定所述多个待执行指令中的第一待执行指令与所述第一待执行指令之前的第零待执行指令存在关联关系时,将所述第一待执行指令缓存在所述指令存储子模块中,在所述第零待执行指令执行完毕后,从所述指令存储子模块中提取所述第一待执行指令发送至所述运算模块,
其中,所述第一待执行指令与所述第一待执行指令之前的第零待执行指令存在关联关系包括:
存储所述第一待执行指令所需数据的第一存储地址区间与存储所述第零待执行指令所需数据的第零存储地址区间具有重叠的区域。


根据权利要求1所述的装置,其特征在于,
所述控制模块,还用于根据所述激活指令生成汇编文件,并将所述汇编文件翻译成二进制文件,
其中,所述二进制文件为所述编译后的激活指令。


根据权利要求1至9任一项所述的装置,其特征在于,所述激活运算所利用的激活函数包括以下至少一种:
线性整流函数、S型生长曲线函数、双曲正切函数、带泄露线性整流函数、取最大值函数和幂函数。


一种机器学习运算装置,其特征在于,所述装置包括:
一个或多个如权利要求1-10任一项所述的激活指令处理装置,用于从其他处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其他处理装置;
当所述机器学习运算装置包含多个所述激活指令处理装置时,所述多个所述激活指令处理装置间可以通过特定的结构进行连接并传输数据;
其中,多个所述激活指令处理装置通过快速外部设备互连总线PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算;多个所述激活指令处理装置共享同一控制系统或拥有各自的控制系统;多个所述激活指令处理装置共享内存或者拥有各自的内存;多个所述激活指令处理装置的互联方式是任意互联拓扑。


一种组合处理装置,其特征在于,所述组合处理装置包括:
如权利要求11所述的机器学习运算装置、通用互联接口和其他处理装置;
所述机器学习运算装置与所述其他处理装置进行交互,共同完成用...

【专利技术属性】
技术研发人员:苏振宇周晓勇张定飞孟小甫
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

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

1