运算方法、系统及相关产品技术方案

技术编号:23982642 阅读:14 留言:0更新日期:2020-04-29 12:03
本公开涉及一种运算方法、系统及相关产品。该系统包括指令生成设备和运行设备。指令生成设备包括:设备确定模块用于根据接收到的标量计算宏指令,确定执行标量计算宏指令的运行设备;指令生成模块用于根据标量计算宏指令和运行设备,生成运行指令。运行设备包括:控制模块用于获取所需数据、神经网络模型以及运行指令,对运行指令进行解析,获得多个解析指令;执行模块用于根据所述数据执行所述多个解析指令,得到执行结果。本公开实施例所提供的运算方法、系统及相关产品,可跨平台使用,适用性好,指令转换的速度快、处理效率高、出错几率低,且开发的人力、物力成本低。

Operation method, system and related products

【技术实现步骤摘要】
运算方法、系统及相关产品
本公开涉及信息处理
,尤其涉及一种标量计算指令处理方法、系统及相关产品。
技术介绍
随着科技的不断发展,神经网络算法的使用越来越广泛。其在图像识别、语音识别、自然语言处理等领域中都得到了良好的应用。但由于神经网络算法的复杂度越来越高,其模型的规模不断增大。基于图形处理器(GraphicsProcessingUnit,简称GPU)、中央处理器(CentralProcessingUnit,简称CPU)的大规模的神经网络模型,要花费大量的计算时间,且耗电量大。相关技术中,对神经网络模型的处理速度进行加快的方式存在无法跨平台处理、处理效率低、开发成本高、易出错等问题。
技术实现思路
有鉴于此,本公开提出了一种标量计算指令处理方法、系统及相关产品,使其能够跨平台使用,提高处理效率,降低出错几率和开发成本。根据本公开的第一方面,提供了一种标量计算指令处理系统,所述系统包括指令生成设备和运行设备,所述指令生成设备,包括:设备确定模块,用于根据接收到的标量计算宏指令,确定执行所述标量计算宏指令的运行设备;指令生成模块,用于根据所述标量计算宏指令和所述运行设备,生成运行指令;所述运行设备,包括:控制模块,用于获取所需数据、神经网络模型以及所述运行指令,对所述运行指令进行解析,获得多个解析指令;执行模块,用于根据所述数据执行所述多个解析指令,得到执行结果,其中,所述标量计算宏指令是指用于对标量进行算术运算的宏指令,所述标量计算宏指令包含操作类型、第一操作数、第二操作数和输出地址,所述运行指令包含所述操作类型、第一运行操作数、第二运行操作数和运行输出地址,所述第一运行操作数、所述第二运行操作数和所述运行输出地址是分别根据所述第一操作数、所述第二操作数和所述输出地址确定的。根据本公开的第二方面,提供了一种机器学习运算装置,所述装置包括:一个或多个上述第一方面所述的标量计算指令处理系统,用于从其他处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其他处理装置;当所述机器学习运算装置包含多个所述标量计算指令处理系统时,所述多个所述标量计算指令处理系统间可以通过特定的结构进行连接并传输数据;其中,多个所述标量计算指令处理系统通过快速外部设备互连总线PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算;多个所述标量计算指令处理系统共享同一控制系统或拥有各自的控制系统;多个所述标量计算指令处理系统共享内存或者拥有各自的内存;多个所述标量计算指令处理系统的互联方式是任意互联拓扑。根据本公开的第三方面,提供了一种组合处理装置,所述装置包括:上述第二方面所述的机器学习运算装置、通用互联接口和其他处理装置;所述机器学习运算装置与所述其他处理装置进行交互,共同完成用户指定的计算操作。根据本公开的第四方面,提供了一种机器学习芯片,所述机器学习芯片包括上述第二方面所述的机器学习络运算装置或上述第三方面所述的组合处理装置。根据本公开的第五方面,提供了一种机器学习芯片封装结构,该机器学习芯片封装结构包括上述第四方面所述的机器学习芯片。根据本公开的第六方面,提供了一种板卡,该板卡包括上述第五方面所述的机器学习芯片封装结构。根据本公开的第七方面,提供了一种电子设备,所述电子设备包括上述第四方面所述的机器学习芯片或上述第六方面所述的板卡。根据本公开的第八方面,提供了一种标量计算指令处理方法,所述方法应用于标量计算指令处理系统,所述系统包括指令生成设备和运行设备,所述方法包括:通过所述指令生成设备根据接收到的标量计算宏指令,确定执行所述标量计算宏指令的运行设备,并根据所述标量计算宏指令和所述运行设备,生成运行指令;通过所述运行设备获取数据、神经网络模型以及运行指令,对所述运行指令进行解析,获得多个解析指令,并根据所述数据执行所述多个解析指令,得到执行结果,其中,所述标量计算宏指令是指用于对标量进行算术运算的宏指令,所述标量计算宏指令包含操作类型、第一操作数、第二操作数和输出地址,所述运行指令包含所述操作类型、第一运行操作数、第二运行操作数和运行输出地址,所述第一运行操作数、所述第二运行操作数和所述运行输出地址是分别根据所述第一操作数、所述第二操作数和所述输出地址确定的。在一些实施例中,所述电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本公开实施例所提供的标量计算指令处理方法、系统及相关产品,该系统包括指令生成设备和运行设备。指令生成设备包括:设备确定模块用于根据接收到的标量计算宏指令,确定执行标量计算宏指令的运行设备;指令生成模块用于根据标量计算宏指令和运行设备,生成运行指令。运行设备包括:控制模块用于获取所需数据、神经网络模型以及运行指令,对运行指令进行解析,获得多个解析指令;执行模块用于根据所述数据执行所述多个解析指令,得到执行结果。该方法、系统及相关产品可跨平台使用,适用性好,指令转换的速度快、处理效率高、出错几率低,且开发的人力、物力成本低。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开一实施例的标量计算指令处理系统的框图。图2示出根据本公开一实施例的标量计算指令处理系统的框图。图3a、图3b示出根据本公开一实施例的标量计算指令处理系统的应用场景的示意图。图4a、图4b示出根据本公开一实施例的组合处理装置的框图。图5示出根据本公开一实施例的板卡的结构示意图。图6示出根据本公开一实施例的标量计算指令处理方法的流程图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未本文档来自技高网...

【技术保护点】
1.一种标量计算指令处理系统,其特征在于,所述系统包括指令生成设备和运行设备,/n所述指令生成设备,包括:/n设备确定模块,用于根据接收到的标量计算宏指令,确定执行所述标量计算宏指令的运行设备;/n指令生成模块,用于根据所述标量计算宏指令和所述运行设备,生成运行指令;/n所述运行设备,包括:/n控制模块,用于获取所需数据、神经网络模型以及所述运行指令,对所述运行指令进行解析,获得多个解析指令;/n执行模块,用于根据所述数据执行所述多个解析指令,得到执行结果,/n其中,所述标量计算宏指令是指用于对标量进行算术运算的宏指令,/n所述标量计算宏指令包含操作类型、第一操作数、第二操作数和输出地址,所述运行指令包含所述操作类型、第一运行操作数、第二运行操作数和运行输出地址,所述第一运行操作数、所述第二运行操作数和所述运行输出地址是分别根据所述第一操作数、所述第二操作数和所述输出地址确定的。/n

【技术特征摘要】
1.一种标量计算指令处理系统,其特征在于,所述系统包括指令生成设备和运行设备,
所述指令生成设备,包括:
设备确定模块,用于根据接收到的标量计算宏指令,确定执行所述标量计算宏指令的运行设备;
指令生成模块,用于根据所述标量计算宏指令和所述运行设备,生成运行指令;
所述运行设备,包括:
控制模块,用于获取所需数据、神经网络模型以及所述运行指令,对所述运行指令进行解析,获得多个解析指令;
执行模块,用于根据所述数据执行所述多个解析指令,得到执行结果,
其中,所述标量计算宏指令是指用于对标量进行算术运算的宏指令,
所述标量计算宏指令包含操作类型、第一操作数、第二操作数和输出地址,所述运行指令包含所述操作类型、第一运行操作数、第二运行操作数和运行输出地址,所述第一运行操作数、所述第二运行操作数和所述运行输出地址是分别根据所述第一操作数、所述第二操作数和所述输出地址确定的。


2.根据权利要求1所述的系统,其特征在于,所述指令生成设备还包括:
资源获取模块,用于获取备选设备的资源信息,
所述设备确定模块,包括以下至少一个子模块:
第一确定子模块,用于在确定所述标量计算宏指令中包含指定设备的标识,且所述指定设备的资源满足执行所述标量计算宏指令的执行条件时,将所述指定设备确定为所述运行设备;
第二确定子模块,用于在确定所述标量计算宏指令中不包含所述指定设备的标识时,根据接收到的标量计算宏指令和所述备选设备的资源信息,从所述备选设备中确定出用于执行所述标量计算宏指令的运行设备;
第三确定子模块,在确定所述标量计算宏指令中包含所述指定设备的标识,且所述指定设备的资源不满足执行所述标量计算宏指令的执行条件时,根据所述标量计算宏指令和所述备选设备的资源信息,确定运行设备,
其中,所述执行条件包括:所述指定设备中包含与所述标量计算宏指令相对应的指令集,所述资源信息包括所述备选设备所包含的指令集。


3.根据权利要求1所述的系统,其特征在于,所述指令生成设备还包括:
队列构建模块,用于根据队列排序规则对所述运行指令进行排序,根据排序后的运行指令构建与所述运行设备相对应的指令队列。


4.根据权利要求2所述的系统,其特征在于,所述指令生成设备还包括:
宏指令生成模块,用于接收待执行标量计算指令,根据确定的指定设备的标识和所述待执行标量计算指令生成所述标量计算宏指令。


5.根据权利要求1所述的系统,其特征在于,所述指令生成设备还包括:
指令分派模块,用于将所述运行指令发送至所述运行设备,以使所述运行设备执行所述运行指令,
其中,所述指令分派模块,包括:
指令汇编子模块,用于根据所述运行指令生成汇编文件;
汇编翻译子模块,用于将所述汇编文件翻译成二进制文件;
指令发送子模块,用于将所述二进制文件发送至所述运行设备,以使所述运行设备根据所述二进制文件执行所述运行指令。


6.根据权利要求1所述的系统,其特征在于,所述运行设备,还包括:
存储模块,所述存储模块包括寄存器、缓存中任意组合,所述缓存包括高速暂存缓存,
所述缓存,用于存储所述数据;
所述寄存器,用于存储所述数据中标量数据。


7.根据权利要求1所述的系统,其特征在于,所述控制模块,包括:
指令存储子模块,用于存储所述运行指令;
指令处理子模块,用于对所述运行指令进行解析,得到所述多个解析指令;
存储队列子模块,用于存储运行指令队列,所述运行指令队列包括所述运行指令和所述多个解析指令,所述运行指令队列所述运行指令和所述多个解析指令按照被执行的先后顺序依次排列。


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


9.根据权利要求1所述的系统,其特征在于,
所述运行设备为CPU、GPU和NPU中的其中一种或任意组合;
所述指令生成设备设置于CPU和/或NPU中;
所述标量计算宏指令包括以下指令中的至少一种:标量相加计算宏指令、标量相减计算宏指令、标量相乘计算宏指令和标量相除计算宏指令。


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


11.一种组合处理装置,其特征在于,所述组合处理装...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:北京;11

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

1