运算单元、相关装置和方法制造方法及图纸

技术编号:34777774 阅读:53 留言:0更新日期:2022-09-03 19:29
本公开提供了一种运算单元、相关装置和方法。该运算单元包括:指令缓存单元,用于接收索引与有效元素加载指令,所述索引与有效元素加载指令包括第一源地址、第二源地址和目的地地址,所述第一源地址表示稀疏矩阵中未剪枝元素索引的起始存储地址,所述第二源地址表示待相乘向量的起始存储地址,所述目的地地址表示有效元素向量要存放回的地址;未剪枝元素索引读取单元,用于根据第一源地址读取未剪枝元素索引;有效元素读取单元,用于根据第二源地址和读取的未剪枝元素索引,在所述待相乘向量中读取用于与稀疏矩阵中未剪枝元素相乘的有效元素;回存单元,用于将所述有效元素组装成有效元素向量,按照目的地地址存储。本公开提高了稀疏矩阵相关运算的运算效率,减少其处理开销。销。销。

【技术实现步骤摘要】
运算单元、相关装置和方法


[0001]本公开涉及芯片领域,更具体而言,涉及一种运算单元、相关装置和方法。

技术介绍

[0002]深度神经网络(DNN)使用大量的矩阵和向量运算,例如矩阵和矩阵相乘,矩阵与向量相乘。深度神经网络具有多层节点,每个节点与前一层的节点连接,相当于接收前一层的节点的输出作为输入,与节点的权重矩阵进行运算(乘法、卷积等)。可以将深度神经网络的输出结果看作权重矩阵与输入的激励向量或激励矩阵的乘积。由于矩阵运算的计算量很大,为了降低计算强度和内存开销,提出了剪枝技术来去除DNN中的冗余连接,相当于将权重矩阵中大量对结果影响不大的元素变成0,为0的元素不用参加矩阵乘法运算,从而通过提高稀疏度来降低计算强度和内存开销。例如,稀疏度为30%的权重矩阵中有30%的元素是非0,只要计算这30%的元素与激励向量中相应元素的乘积并累加,就能得到最后结果。
[0003]在稀疏矩阵与激励向量相乘(稀疏矩阵与激励矩阵相乘可以化为稀疏矩阵与一个个激励向量相乘)中,一般需要3次加载。首先,需要到稀疏矩阵中加载未被剪枝的权重值(不为0的权重值)。对于被剪枝的元素值为0,不需要参与运算。然后,需要到稀疏矩阵中加载未被剪枝的权重的索引(不为0的权重的索引),这些索引就是激励向量中需要参与运算的有效元素的索引。激励向量中其它位置的索引处的元素对应于0的权重,相乘的结果仍然等于0,没有实际意义。接着,需要按照这些索引在激励向量中加载与这些索引对应的元素。这3次加载后,将激励向量中按索引选出的元素与稀疏矩阵中未被剪枝的权重的乘积累加,得到稀疏矩阵与激励向量的相乘结果。
[0004]由于上述3次加载需要3个不同指令,处理单元需要频繁取指令和译码,处理开销大,速度慢。现代处理单元,尤其是低功耗处理单元,通常具有有限取指宽度,加载所用的缓存空间不足。大量的上述指令严重影响运算效率和增大处理开销。

技术实现思路

[0005]有鉴于此,本公开旨在提高上述稀疏矩阵相关运算中的运算效率,减少其处理开销。
[0006]根据本公开的一方面,提供了一种运算单元,包括:
[0007]指令缓存单元,用于接收索引与有效元素加载指令,所述索引与有效元素加载指令用于在稀疏矩阵与待相乘向量的乘法中,从所述待相乘向量中获取与稀疏矩阵中未剪枝元素对应的有效元素向量,所述索引与有效元素加载指令包括第一源地址、第二源地址和目的地地址,所述第一源地址表示所述稀疏矩阵中未剪枝元素索引的起始存储地址,所述第二源地址表示所述待相乘向量的起始存储地址,所述目的地地址表示所述有效元素向量要存放回的地址;
[0008]未剪枝元素索引读取单元,用于根据所述第一源地址读取未剪枝元素索引;
[0009]有效元素读取单元,用于根据所述第二源地址和读取的未剪枝元素索引,在所述
待相乘向量中读取用于与稀疏矩阵中未剪枝元素相乘的有效元素;
[0010]回存单元,用于将所述有效元素组装成有效元素向量,按照所述目的地地址存储。
[0011]可选地,所述有效元素读取单元将所述第二源地址和读取的未剪枝元素索引分别相加,得到各有效元素的存储地址,并按照所述存储地址读取所述有效元素。
[0012]可选地,所述指令缓存单元还用于接收未剪枝元素值加载指令,所述未剪枝元素值加载指令在稀疏矩阵与待相乘向量的乘法中,获取所述稀疏矩阵中的未剪枝元素值,所述未剪枝元素值加载指令包括第三源地址,所述第三源地址表示所述未剪枝元素值的起始存储地址;所述运算单元还包括:未剪枝元素值读取单元,用于根据所述目的地地址,读取所述未剪枝元素值。
[0013]可选地,所述指令缓存单元还用于接收向量乘法指令,所述向量乘法指令在稀疏矩阵与待相乘向量的乘法中,基于所述未剪枝元素值与所述有效元素向量,得到稀疏矩阵与待相乘向量的相乘结果向量;所述运算单元还包括:相乘结果向量获取单元,用于通过所述未剪枝元素值与所述有效元素向量中有效元素的乘法,得到所述相乘结果向量。
[0014]可选地,所述第一源地址包括第一基源地址,所述第二源地址包括第二基源地址。
[0015]可选地,所述第一源地址包括第一基源地址和第一立即数,所述第二源地址包括第二基源地址和第二立即数;所述未剪枝元素索引读取单元根据所述第一基源地址和所述第一立即数的和得到的地址,来读取未剪枝元素索引;所述有效元素读取单元根据所述第二基源地址和所述第二立即数的和得到的地址、以及读取的未剪枝元素索引,在所述待相乘向量中读取所述有效元素。
[0016]可选地,所述第一源地址包括第一基源地址和第一系数,所述第二源地址包括第二基源地址和第二系数;所述未剪枝元素索引读取单元根据所述第一系数、向量长度与向量中元素大小的积、以及所述第一基源地址的和得到的地址,来读取未剪枝元素索引;所述有效元素读取单元根据所述第二系数、向量长度与向量中元素大小的积、以及所述第二基源地址的和得到的地址、以及读取的未剪枝元素索引,在所述待相乘向量中读取所述有效元素。
[0017]可选地,所述第一源地址包括第一基源地址和第三系数,所述第二源地址包括第二基源地址和第四系数;所述未剪枝元素索引读取单元根据所述第三系数与向量中元素大小的积、以及所述第一基源地址的和得到的地址,来读取未剪枝元素索引;所述有效元素读取单元根据所述第四系数与向量中元素大小的积、以及所述第二基源地址的和得到的地址、以及读取的未剪枝元素索引,在所述待相乘向量中读取所述有效元素。
[0018]可选地,所述待相乘向量的元素分在紧耦合存储器中的多个存储体中存储,其中,允许并行访问所述多个存储体中的元素;所述稀疏矩阵中未剪枝元素索引按组存储,单个组中包含从所述稀疏矩阵中的多个行中各取出的一个未剪枝元素的索引,同一个组中的不同索引对应于所述紧耦合存储器的不同存储体。
[0019]可选地,所述多个行是从所述稀疏矩阵中按照行索引顺次取出的所述多个存储体的存储体数目个行。
[0020]可选地,所述未剪枝元素索引读取单元从所述第一源地址开始,读取一个组的未剪枝元素索引,并用第一源地址加上一个组的长度的和更新所述第一源地址。
[0021]可选地,所述有效元素向量在高速缓存组装,并从所述高速缓存按照所述目的地
地址移回所述运算单元所在的处理单元。
[0022]可选地,所述有效元素向量在所述紧耦合存储器组装,并从所述紧耦合存储器按照所述目的地地址移回所述运算单元所在的处理单元。
[0023]根据本公开的一方面,提供了一种处理单元,包括:
[0024]取指令单元,用于从存储器取出索引与有效元素加载指令;
[0025]指令译码单元,用于对取出的索引与有效元素加载指令进行译码;
[0026]如上所述的运算单元,用于接收并执行译码后的索引与有效元素加载指令。
[0027]根据本公开的一方面,提供了一种计算装置,包括:
[0028]存储器,用于存储所述索引与有效元素加载指令;
[0029]如上所述的处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种运算单元,包括:指令缓存单元,用于接收索引与有效元素加载指令,所述索引与有效元素加载指令用于在稀疏矩阵与待相乘向量的乘法中,从所述待相乘向量中获取与稀疏矩阵中未剪枝元素对应的有效元素向量,所述索引与有效元素加载指令包括第一源地址、第二源地址和目的地地址,所述第一源地址表示所述稀疏矩阵中未剪枝元素索引的起始存储地址,所述第二源地址表示所述待相乘向量的起始存储地址,所述目的地地址表示所述有效元素向量要存放回的地址;未剪枝元素索引读取单元,用于根据所述第一源地址读取未剪枝元素索引;有效元素读取单元,用于根据所述第二源地址和读取的未剪枝元素索引,在所述待相乘向量中读取用于与稀疏矩阵中未剪枝元素相乘的有效元素;回存单元,用于将所述有效元素组装成有效元素向量,按照所述目的地地址存储。2.根据权利要求1所述的运算单元,其中,所述有效元素读取单元将所述第二源地址和读取的未剪枝元素索引分别相加,得到各有效元素的存储地址,并按照所述存储地址读取所述有效元素。3.根据权利要求1所述的运算单元,其中,所述指令缓存单元还用于接收未剪枝元素值加载指令,所述未剪枝元素值加载指令在稀疏矩阵与待相乘向量的乘法中,获取所述稀疏矩阵中的未剪枝元素值,所述未剪枝元素值加载指令包括第三源地址,所述第三源地址表示所述未剪枝元素值的起始存储地址;所述运算单元还包括:未剪枝元素值读取单元,用于根据所述第三源地址,读取所述未剪枝元素值。4.根据权利要求2所述的运算单元,其中,所述指令缓存单元还用于接收向量乘法指令,所述向量乘法指令在稀疏矩阵与待相乘向量的乘法中,基于所述未剪枝元素值与所述有效元素向量,得到稀疏矩阵与待相乘向量的相乘结果向量;所述运算单元还包括:相乘结果向量获取单元,用于通过所述未剪枝元素值与所述有效元素向量中有效元素的乘法,得到所述相乘结果向量。5.根据权利要求1所述的运算单元,其中,所述第一源地址包括第一基源地址,所述第二源地址包括第二基源地址。6.根据权利要求1所述的运算单元,其中,所述第一源地址包括第一基源地址和第一立即数,所述第二源地址包括第二基源地址和第二立即数,所述未剪枝元素索引读取单元根据所述第一基源地址和所述第一立即数的和得到的地址,来读取未剪枝元素索引;所述有效元素读取单元根据所述第二基源地址和所述第二立即数的和得到的地址、以及读取的未剪枝元素索引,在所述待相乘向量中读取所述有效元素。7.根据权利要求1所述的运算单元,其中,所述第一源地址包括第一基源地址和第一系数,所述第二源地址包括第二基源地址和第二系数,所述未剪枝元素索引读取单元根据所述第一系数、向量长度与向量中元素大小的积、以及所述第一基源地址的和得到的地址,来读取未剪枝元素索引;所述有效元素读取单元根据所述第二系数、向量长度与向量中元素大小的积、以及所
述第二基源地址的和得到的地址、以及读取的未剪枝元素索引,在所述待相乘向量中读取所述有效元素。8.根据权利要求1所述的运算单元,其中,所述第一源地址包括第一基源地址和第三系数,所述第二源地址包括第二基源地址和第四系数,所述未剪枝元素索引读取单元根据所述第三系数与向量中元素大小的积、以及所述第一基源地址的和得到的地址,来读取未剪枝元素索引;所述有效元素读取单元根据所述第四系数与向量中元素大小的积、以及所述第二基源地址的和得到的地址、以及读取的未剪枝元素索引,在所述待相乘向量中读取所述有效元素。9.根据权利要求1所述的运算单元,其中,所...

【专利技术属性】
技术研发人员:李浩然孙飞罗竣文王邦彦赵梓豪
申请(专利权)人:阿里巴巴新加坡控股有限公司
类型:发明
国别省市:

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

1