[发明专利]模拟运算方法和模拟器有效
申请号: | 201910097439.3 | 申请日: | 2019-01-31 |
公开(公告)号: | CN111506384B | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模拟 运算 方法 模拟器 | ||
本公开涉及一种模拟运算方法和模拟器,所述方法用于模拟执行神经网络运算,其包括:接收并存储运算数据,所述运算数据包括神经网络运算指令以及用于执行神经网络运算指令的数据;从所述神经网络运算指令中解析出多个运算子指令,并确定用于执行该多个运算子指令的多个事件过程,每个所述事件过程包括:加载事件、运算事件、存储事件和同步事件中的至少一种。基于确定的各事件过程,获得完成所述神经网络运算指令的运算时间和运算结果中的至少一种。本公开能够快速对神经网络运算进行模拟运行。
技术领域
本公开涉及机器学习领域,特别涉及一种模拟运算方法、模拟器、机器学习芯片和电子设备。
背景技术
计算机模拟是指利用计算机软件开发的模拟器对真实世界过程或者系统进行模拟的行为。如今,计算机系统模拟器已经成为了计算机系统结构领域研究中不可或缺的工具。研究人员通过使用模拟器能够用较低的成本和开销,高效地完成对软硬件的配置和观察,进而为硬软件的设计和优化提供指导。
神经网络(neural network)已经获得了非常成功的应用,神经网络加速器(neural network accelerators)被广泛应用于处理神经网络应用。在神经网络加速器被正式应用之前,开发人员需要对加速器进行性能评估。研究者一般采用周期精确模拟器进行硬件的性能模拟。周期精确模拟器需要模拟硬件的每一个模块在每一个时钟周期执行操作的各个细节,包括状态机跳转,寄存器更改,流水级操作等,以保持模拟器与硬件之间的一致性。这种精确模拟会导致巨大的资源,能源和时间开销,进而导致周期精确的模拟器无法满足实际的需求。因此如何加快模拟器的运行速度成为一个亟待解决的问题。。
发明内容
本公开实施例提供了一种能够方便的提高模拟运行速度的模拟运算方法、模拟器、机器学习芯片、电子设备和存储介质。
根据本公开的第一方面,提供了一种模拟运算方法,其用于模拟执行神经网络运算,包括:
接收并存储运算数据,所述运算数据包括神经网络运算指令以及用于执行神经网络运算指令的数据;
从所述神经网络运算指令中解析出多个运算子指令,并确定用于执行该多个运算子指令的多个事件过程,每个所述事件过程包括:加载事件、运算事件、存储事件和同步事件中的至少一种。
基于确定的各事件过程,获得完成所述神经网络运算指令的运算时间和运算结果中的至少一种。
在一些可能的实施方式中,所述从所述神经网络运算指令中解析出多个运算子指令,包括:
对接收的所述神经网络运算指令执行解码操作,得到所述多个运算子指令。
在一些可能的实施方式中,所述确定用于完成该多个运算子指令的多个事件过程,包括下述至少一种:
根据所述运算子指令的数量,确定所述事件过程的数量;
根据各所述运算子指令的执行顺序,确定各所述事件过程以及各所述事件过程的执行顺序。
在一些可能的实施方式中,所述根据所述运算子指令的数量,确定所述事件过程的数量,包括:
在从所述神经网络运算指令划中解析出N个运算子指令时,确定所述事件过程的数量为N+2,其中,N为大于或者等于1的正整数。
在一些可能的实施方式中,所述根据各所述运算子指令的执行顺序,确定各所述事件过程以及各所述事件过程的执行顺序,包括:
确定第一个事件过程,所述第一个事件过程包括第一加载事件;
确定第二个事件过程,所述第二个事件过程包括第二加载事件和第一运算事件;
确定第三个事件过程,所述第三个事件过程包括第三加载事件、第二运算事件和第一存储事件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910097439.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:液体配比机
- 下一篇:车辆数据的处理方法、系统及装置