运算方法、装置及相关产品制造方法及图纸

技术编号:23985597 阅读:30 留言:0更新日期:2020-04-29 13:22
本公开涉及一种运算方法、装置及相关产品。该装置包括设备确定模块和指令生成模块,设备确定模块用于根据接收到的读宏指令,确定执行读宏指令的运行设备。指令生成模块用于根据读宏指令和运行设备,生成运行指令。本公开实施例所提供的运算方法、装置及相关产品,可跨平台使用,适用性好,指令转换的速度快、处理效率高、出错几率低,且开发的人力、物力成本低。

Calculation method, device and related products

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

【技术保护点】
1.一种数据读入指令生成装置,其特征在于,所述装置包括:/n设备确定模块,用于根据接收到的读宏指令,确定执行所述读宏指令的运行设备;/n指令生成模块,用于根据所述读宏指令和所述运行设备,生成运行指令,/n其中,所述读宏指令是指用于进行数据读入的宏指令,/n所述读宏指令包含操作类型、数据读入地址、数据加密方式地址,所述运行指令中包含所述操作类型、运行数据读入地址和运行数据加密方式地址,所述运行数据读入地址和运行数据加密方式地址分别是根据所述数据读入地址和所述数据加密方式地址确定的。/n

【技术特征摘要】
1.一种数据读入指令生成装置,其特征在于,所述装置包括:
设备确定模块,用于根据接收到的读宏指令,确定执行所述读宏指令的运行设备;
指令生成模块,用于根据所述读宏指令和所述运行设备,生成运行指令,
其中,所述读宏指令是指用于进行数据读入的宏指令,
所述读宏指令包含操作类型、数据读入地址、数据加密方式地址,所述运行指令中包含所述操作类型、运行数据读入地址和运行数据加密方式地址,所述运行数据读入地址和运行数据加密方式地址分别是根据所述数据读入地址和所述数据加密方式地址确定的。


2.根据权利要求1所述的装置,其特征在于,所述设备确定模块,包括:
第一确定子模块,用于在确定所述读宏指令中包含指定设备的标识,且所述指定设备的资源满足执行所述读宏指令的执行条件时,将所述指定设备确定为所述运行设备,
其中,所述执行条件包括:所述指定设备中包含与所述读宏指令的操作类型相对应的指令集。


3.根据权利要求2所述的装置,其特征在于,所述装置还包括:
资源获取模块,用于获取备选设备的资源信息,
所述设备确定模块,还包括:
第二确定子模块,用于在确定所述读宏指令中不包含所述指定设备的标识时,根据接收到的读宏指令和所述备选设备的资源信息,从所述备选设备中确定出用于执行所述读宏指令的运行设备,
其中,所述资源信息包括所述备选设备所包含的指令集。


4.根据权利要求3所述的装置,其特征在于,所述设备确定模块,还包括:
第三确定子模块,在确定所述读宏指令中包含所述指定设备的标识,且所述指定设备的资源不满足执行所述读宏指令的执行条件时,根据所述读宏指令和所述备选设备的资源信息,确定运行设备。


5.根据权利要求2-4任一项所述的装置,其特征在于,所述读宏指令还包含读入量,
所述指令生成模块,还用于确定所述读宏指令的数据量,根据所述数据量、所述读宏指令和所述运行设备的资源信息,生成运行指令,
其中,所述数据量是根据所述读入量确定的,所述运行设备的资源信息还包括存储容量、剩余存储容量的至少一项。


6.根据权利要求5所述的装置,其特征在于,所述指令生成模块,包括:
第一指令生成子模块,用于在确定所述运行设备为一个,且所述运行设备的运行数据量小于所述读宏指令的数据量时,根据所述运行设备的运行数据量和所述数据量将所述读宏指令拆分成多条运行指令,以使所述运行设备依次执行多条运行指令,
其中,所述运行设备的运行数据量是根据所述运行设备的资源信息确定的,每条运行指令还包含运行读入量,所述运行读入量是根据所述运行数据量确定的。


7.根据权利要求5所述的装置,其特征在于,所述指令生成模块,包括:
第二指令生成子模块,用于在确定所述运行设备为多个时,根据每个运行设备的运行数据量和所述数据量对所述读宏指令进行拆分,生成对应于每个运行设备的运行指令,
其中,每个运行设备的运行数据量是根据每个运行设备的资源信息确定的,所述运行指令还包含运行读入量,所述运行读入量是根据执行所述运行指令的运行设备的运行数据量确定的。


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


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


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


11.根据权利要求1所述的装置,其特征在于,
所述运行设备为CPU、GPU和NPU中的其中一种或任意组合;
所述装置设置于CPU和/或NPU中;
所述读宏指令包括读神经元宏指令、读突触宏指令和读标量宏指令中的至少一种。


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


13.一种组合处理装置,其特征在于,所述装置包括:
如权利要求12所述的机器学习运算装置、通...

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

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

1