[发明专利]运算方法、处理器以及相关产品在审
申请号: | 202010318387.0 | 申请日: | 2020-04-21 |
公开(公告)号: | CN113536221A | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F9/30 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 100191 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 方法 处理器 以及 相关 产品 | ||
本公开涉及运算方法、处理器以及相关产品。所述产品包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。通过以上运算方法或相关产品,本公开可以提高相关产品在进行矩阵乘法运算时的运算效率。
技术领域
本公开涉及信息处理技术领域,特别是涉及一种运算方法、处理器以及相关产品。
背景技术
在人工智能技术领域,神经网络算法是最近非常流行的一种机器学习算法,在各种领域中都取得了非常好的效果,比如图像识别,语音识别,自然语言处理等。随着神经网络算法的发展,算法的复杂度也越来越高,为了提高识别度,模型的规模也在逐渐增大。用GPU和CPU处理起这些大规模的模型,要花费大量的计算时间,并且耗电量很大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高运算效率的运算方法、处理器及相关产品。
根据本公开的一方面,提供了一种基于处理元件矩阵的矩阵乘的运算方法,应用于处理器,所述处理器包括两个以上处理元件,所述两个以上处理元件以二维矩阵排列,处理元件包括至少一个寄存器,所述方法实现对第一矩阵和第二矩阵的矩阵乘法运算,
所述方法包括:
将第一矩阵加载到处理元件的寄存器中,第一矩阵中的元素在矩阵中的排列方式和在处理元件的寄存器中的排列方式相同;
针对第二矩阵的每一行,将所述每一行中的元素与第一矩阵的每一列元素对应存储到处理元件的寄存器,与第一矩阵的每一列中的元素分别求乘积,计算一列乘积的和得到第一中间结果;或者,针对第二矩阵的每一列,将所述每一列中的元素与第一矩阵的每一行元素对应存储到处理元件的寄存器,与第一矩阵的每一行中的元素分别求乘积,计算一行乘积的和得到第一中间结果;
将第一中间结果进行处理得到第一矩阵和第二矩阵的乘积。
根据本公开的另一方面,提供了一种处理器,所述处理器包括两个以上处理元件,所述两个以上处理元件以二维矩阵排列,处理元件包括至少一个寄存器,所述处理器用于对第一矩阵和第二矩阵执行矩阵乘法运算,
所述处理器还包括控制器,所述控制器用于将第一矩阵加载到处理元件的寄存器中;
针对第二矩阵的每一行,所述控制器用于将所述每一行中的元素与第一矩阵的每一列元素对应存储到处理元件的寄存器,与第一矩阵的每一列中的元素分别求乘积,计算一列乘积的和得到第一中间结果;或者,针对第二矩阵的每一列,所述控制器用于将所述每一列中的元素与第一矩阵的每一行元素对应存储到处理元件的寄存器,与第一矩阵的每一行中的元素分别求乘积,计算一行乘积的和得到第一中间结果;
所述控制器还用于将第一中间结果进行处理得到第一矩阵和第二矩阵的乘积。
根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括如上所述的处理器。
根据本公开的另一方面,提供了一种电子设备,包括如上所述的人工智能芯片。
根据本公开的另一方面,提供了一种电子设备,包括如上所述的处理器。
根据本公开上述各实施方式的矩阵乘的运算方法、处理器,更适用于以阵列排布的处理元件组成的处理器,运算效率高。且对于满足处理元件的排列的任意规模的输入矩阵,可以得到矩阵乘法的运算结果,可以减少访存次数,降低带宽压力,提高运算的效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010318387.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:运算方法、处理器及相关产品
- 下一篇:一种蚊虫诱饵