[发明专利]一种矩阵乘向量运算方法及装置有效
申请号: | 201910534118.5 | 申请日: | 2017-08-31 |
公开(公告)号: | CN110231958B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 刘少礼;陈天石;王秉睿;张尧 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F17/16;G06N3/04 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 矩阵 向量 运算 方法 装置 | ||
本公开提供一种矩阵乘向量计算方法及装置,所述方法应用于芯片装置,所述芯片装置用于执行矩阵乘向量计算。本披露提供的技术方案具有计算处理时间短,能耗低的优点。
技术领域
本申请涉及芯片处理技术领域,具体涉及一种矩阵乘向量运算方法及装置。
背景技术
人工神经网络(Artificial Neural Network,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。现有的神经网络的运算基于CPU(Central Processing Unit,中央处理器)或GPU(英文:Graphics Processing Unit,图形处理器)来实现运算,此种运算的功耗高、计算时间长。
发明内容
本申请实施例提供了一种矩阵乘向量运算方法及装置,可提升全连接运算的处理速度,提高效率、节省功耗。
第一方面,提供一种矩阵乘向量运算方法,所述方法应用于芯片装置,所述芯片装置包括:主电路和多个从电路,所述方法包括如下步骤:
所述主电路接收矩阵A、向量B以及矩阵乘向量运算指令,将所述矩阵A拆分成M个基础数据块,将M个基础数据块分发给所述多个从电路,将向量B广播给所述多个从电路;
所述多个从电路并行执行基础数据块与向量B的内积运算得到多个处理结果,将多个处理结果发送至所述主电路;
所述主电路将所述多个处理结果拼接得到所述矩阵乘向量运算指令的计算结果。
可选的,所述将M个基础数据块分发给所述多个从电路具体包括:
将所述M个基础数据块按任意不重复的方式分发给所述多个从处理电路。
可选的,如所述多个从处理电路为k个从处理电路,所述k为大于等于2的整数;所述主电路将M个基础数据块分发给所述多个从电路具体包括:
如M>k,所述主电路将M个基础数据块中的一个或多个分发给k个从电路中的一个从电路;
如M≤k,所述主电路将M个基础数据块中的一个分发给k个从电路中的一个从电路。
可选的,所述芯片装置还包括:分支电路,所述分支电路连接所述主电路与多个从电路,所述方法还包括:
所述分支电路转发所述主电路与多个从电路之间的数据。
可选的,所述主电路包括:向量运算器电路、算数逻辑单元电路、累加器电路、矩阵转置电路、直接内存存取电路或数据重排电路中的一种或任意组合。
可选的,所述从电路包括:内积运算器电路或累加器电路等中一个或任意组合。
第二方面,提供一种芯片装置,所述芯片装置包括:主电路和多个从电路,
所述主电路,用于接收矩阵A、向量B以及矩阵乘向量运算指令,将所述矩阵A拆分成M个基础数据块,将M个基础数据块分发给所述多个从电路,将向量B广播给所述多个从电路;
所述多个从电路,用于并行执行基础数据块与向量B的内积运算得到多个处理结果,将多个处理结果发送至所述主电路;
所述主电路,还用于将所述多个处理结果拼接得到所述矩阵乘向量运算指令的计算结果。
可选的,所述主电路,具体用于将所述M个基础数据块按任意不重复的方式分发给所述多个从处理电路。
可选的,所述多个从处理电路为k个从处理电路;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910534118.5/2.html,转载请声明来源钻瓜专利网。