一种矩阵乘向量运算方法及装置制造方法及图纸

技术编号:22101583 阅读:28 留言:0更新日期:2019-09-14 03:13
本公开提供一种矩阵乘向量计算方法及装置,所述方法应用于芯片装置,所述芯片装置用于执行矩阵乘向量计算。本披露提供的技术方案具有计算处理时间短,能耗低的优点。

A Matrix Multiplication Vector Operating Method and Device

【技术实现步骤摘要】
一种矩阵乘向量运算方法及装置
本申请涉及芯片处理
,具体涉及一种矩阵乘向量运算方法及装置。
技术介绍
人工神经网络(ArtificialNeuralNetwork,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。现有的神经网络的运算基于CPU(CentralProcessingUnit,中央处理器)或GPU(英文:GraphicsProcessingUnit,图形处理器)来实现运算,此种运算的功耗高、计算时间长。
技术实现思路
本申请实施例提供了一种矩阵乘向量运算方法及装置,可提升全连接运算的处理速度,提高效率、节省功耗。第一方面,提供一种矩阵乘向量运算方法,所述方法应用于芯片装置,所述芯片装置包括:主电路和多个从电路,所述方法包括如下步骤:所述主电路接收矩阵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个从处理电路;如M>k,所述主电路,具体用于将M个基础数据块中的一个或多个分发给k个从电路中的一个从电路;如M≤k,所述主电路,具体用于将M个基础数据块中的一个分发给k个从电路中的一个从电路。可选的,所述芯片装置还包括分支电路,所述分支电路连接所述主电路以及所述多个从电路;所述分支电路,用于转发所述主电路与多个从电路之间的数据。可选的,所述分支电路包括多个分支电路,每个分支电路连接所述主电路以及至少一个从处理电路。可选的,所述主电路包括:向量运算器电路、算数逻辑单元电路、累加器电路、矩阵转置电路、直接内存存取电路或数据重排电路中的一种或任意组合。可选的,所述从电路包括:内积运算器电路或累加器电路等中一个或任意组合。第三方面,提供一种计算装置,所述计算装置包括第二方面提供的芯片装置。第四方面,提供一种计算机可读存储介质,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本披露提供的一种芯片装置的结构示意图。图1b是本披露提供的另一种芯片装置的结构示意图。图1c是本披露提供的芯片装置的数据分发示意图。图1d为一种芯片装置的数据回传示意图。图2是本披露实施例提供的一种神经网络的运算方法的流程示意图。图2a是本披露实施例提供的矩阵A乘以矩阵B的示意图。图3是本披露实施例提供的神经网络的运算方法的流程示意图。图3a为全连接1的单样本数据示意图。图3b为全连接2的多样本数据示意图。图3c为卷积1的M个卷积核数据示意图。图3d为卷积2输入数据示意图。图3e为输入数据的一个三维数据块的运算窗口示意图。图3f为输入数据的一个三维数据块的另一运算窗口示意图。图3g为输入数据的一个三维数据块的又一运算窗口示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。本披露的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本披露的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显本文档来自技高网...

【技术保护点】
1.一种矩阵乘向量运算方法,其特征在于,所述方法应用于芯片装置,所述芯片装置包括:主电路和多个从电路,所述方法包括如下步骤:所述主电路接收矩阵A、向量B以及矩阵乘向量运算指令,将所述矩阵A拆分成M个基础数据块,将M个基础数据块分发给所述多个从电路,将向量B广播给所述多个从电路;所述多个从电路并行执行基础数据块与向量B的内积运算得到多个处理结果,将多个处理结果发送至所述主电路;所述主电路将所述多个处理结果拼接得到所述矩阵乘向量运算指令的计算结果。

【技术特征摘要】
1.一种矩阵乘向量运算方法,其特征在于,所述方法应用于芯片装置,所述芯片装置包括:主电路和多个从电路,所述方法包括如下步骤:所述主电路接收矩阵A、向量B以及矩阵乘向量运算指令,将所述矩阵A拆分成M个基础数据块,将M个基础数据块分发给所述多个从电路,将向量B广播给所述多个从电路;所述多个从电路并行执行基础数据块与向量B的内积运算得到多个处理结果,将多个处理结果发送至所述主电路;所述主电路将所述多个处理结果拼接得到所述矩阵乘向量运算指令的计算结果。2.根据权利要求1所述的方法,其特征在于,所述将M个基础数据块分发给所述多个从电路具体包括:将所述M个基础数据块按任意不重复的方式分发给所述多个从处理电路。3.根据权利要求1所述的方法,其特征在于,如所述多个从处理电路为k个从处理电路,所述k为大于等于2的整数;所述主电路将M个基础数据块分发给所述多个从电路具体包括:如M>k,所述主电路将M个基础数据块中的一个或多个分发给k个从电路中的一个从电路;如M≤k,所述主电路将M个基础数据块中的一个分发给k个从电路中的一个从电路。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述芯片装置还包括:分支电路,所述分支电路连接所述主电路与多个从电路,所述方法还包括:所述分支电路转发所述...

【专利技术属性】
技术研发人员:刘少礼陈天石王秉睿张尧
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京,11

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

1