System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种卷积运算加速器及相关方法技术_技高网

一种卷积运算加速器及相关方法技术

技术编号:40634614 阅读:2 留言:0更新日期:2024-03-13 21:18
本申请实施例公开了一种卷积运算加速器及相关方法,其特征在于,包括处理单元、第一数据加载器和第二数据加载器;处理单元,用于基于权重矩阵A<subgt;K*L</subgt;的大小,确定目标算子集合,目标算子集合包括至少K*L个目标算子;第一数据加载器,用于将A<subgt;K*L</subgt;中的K个第一行向量加载至目标算子集合,每个目标算子加载一个权重数据;第二数据加载器,用于按照时钟周期以及A<subgt;K*L</subgt;和输入矩阵B<subgt;M*N</subgt;的卷积关系,将第二行向量中的N个输入数据逐个广播至对应的一个或多个第一行向量各自所在的目标算子中;处理单元,还用于通过目标算子集合获得A<subgt;K*L</subgt;和B<subgt;M*N</subgt;的卷积结果。采用本申请实施例能够提高卷积计算的效率。

【技术实现步骤摘要】

本申请涉及人工智能领域的数据处理技术,尤其涉及一种卷积运算加速器及相关方法


技术介绍

1、近年来,随着深度神经网络、异构计算、高带宽高存储密度、大数据、云计算等技术的突破,人工智能的应用迅猛发展,走进大众生活的方方面面。当前的人工智能很大一部分的计算就是各种神经网络的运算,而卷积计算占据了整个神经网络的大部分计算量和数据吞吐量。由于各种人工智能(artificial intelligence,ai)设备的遍及,云端大数据分析计算对ai加速的饥渴需求,神经网络的计算,特别是对卷积的计算能力、计算效率的提升问题日显突出。卷积神经网络的主要组成部分为卷积计算,占据整个卷积神经网络95%以上计算量。

2、因此,如何提高卷积计算的效率,达到显著的提高神经网络算法的应用效果成为亟待解决的问题。


技术实现思路

1、本申请实施例所要解决的技术问题在于,提供一种卷积运算加速器及相关方法,以提高卷积计算的效率,达到显著的提高神经网络算法的应用效果。

2、第一方面,本申请实施案例提供一种卷积运算加速器,其特征在于,所述卷积运算加速器包括处理单元、第一数据加载器和第二数据加载器;其中,所述处理单元,用于:基于权重矩阵ak*l的大小,确定目标算子集合,所述目标算子集合包括至少k*l个目标算子,k和l为大于0的整数;所述第一数据加载器,用于:将所述ak*l中的k个第一行向量加载至所述目标算子集合,其中,所述k个第一行向量中每个所述第一行向量包括l个权重数据,每个所述目标算子加载一个权重数据;所述第二数据加载器,用于:按照时钟周期以及所述ak*l和输入矩阵bm*n的卷积关系,将第二行向量中的n个输入数据逐个广播至对应的一个或多个所述第一行向量各自所在的l个目标算子中,所述第二行向量为所述bm*n中的m个第二行向量中的任意一个,m和n为大于0的整数;所述处理单元,还用于:通过所述目标算子集合获得所述ak*l和所述bm*n的卷积结果。

3、本专利技术实施例,提供一种卷积运算加速器,该卷积运算加速器可以根据权重矩阵的大小先确定参与卷积运算的目标算子集合,然后将权重矩阵加载至目标算子集合中,且一组权重矩阵可以加载到多列目标算子中,以提升算子的利用率。在加载输入矩阵时,可以根据输入矩阵与权重矩阵的卷积关系,将每行输入矩阵中的输入数据按照时钟周期逐个广播至对应的一行或多行目标算子中,降低了输入数据在行间复用的时间,提升了卷积计算效率。

4、在一种可能的实现方式中,所述目标算子集合包括k*l个目标算子,且所述k*l个目标算子呈k行,l列分布,其中,k行中的每行目标算子中相邻的目标算子相连接,且第l列目标算子中相邻的目标算子相连接;所述第一数据加载器,具体用于:将所述ak*l中的第i行第j列的权重数据加载至所述目标算子集合中的第i行第j列的目标算子中,i依次取值1,2…,k,j依次取值1,2…,l。

5、在本专利技术实施例中,当目标算子集合中目标算子个数与权重数据个数相等时,目标算子呈k行,l列分布,且每行目标算子中相邻的目标算子相连接,且最后一列目标算子中相邻的目标算子相连接。在此情况下,权重矩阵中的一个权重数据可以加载到一个目标算子中,且为了确保卷积结果的正确性,权重矩阵中权重数据的位置可以与目标算子的位置保持一致,即权重矩阵中的第i行第j列的权重数据与第i行第j列的目标算子相对应。进一步地,第一数据加载器可以提前将第i行第j列的权重数据加载到第i行第j列的目标算子中,以便后续与输入数据进行乘累加运算。

6、在一种可能的实现方式中,在m=k时,所述ak*l和输入矩阵bm*n的卷积关系为第i个第一行向量与第i个第二行向量对应;所述第二数据加载器,具体用于:将所述bm*n中第i个第二行向量中的n个输入数据,按照时钟周期逐个广播至所述目标算子集合中加载第i个第一行向量的l个目标算子中。

7、在本专利技术实施例中,当目标算子集合中目标算子个数与权重数据个数相等,且m=k时,处理单元中输入一组权重矩阵(即k个第一行向量),权重矩阵ak*l和输入矩阵bm*n的卷积关系可以为第i个第二行向量与第i个第一行向量进行乘累加运算,即一个第二行向量对应一个第一行向量,第二数据加载器可以将第i个第二行向量中的n个输入数据按照时钟周期逐个广播至第i个第一行向量所在的l个目标算子中,为了确保卷积计算的正确性,相邻的第二行向量可以错开一个时钟周期,以便后续与权重数据进行乘累加运算,降低了输入数据在行间复用的时间,提升了卷积计算的效率。

8、在一种可能的实现方式中,所述处理单元,具体用于:通过第pi,j个目标算子,按照时钟周期将接收到的输入数据、第pi,j-1个目标算子发送的运算结果,以及第pi,j个目标算子中加载的权重数据进行乘累加运算;通过第pi+1,l个目标算子,按照时钟周期将接收到的第pi,l个目标算子的运算结果与第pi+1,l个目标算子的运算结果进行累加运算;通过第pk,l个目标算子,获得所述ak*l和所述bm*n的卷积结果。

9、在本专利技术实施例中,第二数据加载器按照时钟周期开始向目标算子集合加载输入数据,第一列的目标算子可以将接收到的输入数据与自身已加载的权重数据进行乘运算,并且在下一个时钟周期将计算结果传递给下一个目标算子;其他列的目标算子将接收到的输入数据与自身已加载的权重数据进行乘运算,同时将乘运算结果与接收到的上一个目标算子发送的计算结果进行累加,并在下一个周期将累加后结果传递给下一个目标算子;最后一列的目标算子在将每一行的乘累加结果向下传递,以使得从pek,l直接获得输入矩阵与权重矩阵对应项乘累加的结果(即输入矩阵与权重矩阵的卷积结果),从而提升了卷积计算的效率。

10、在一种可能的实现方式中,所述目标算子集合包括s*q个目标算子,且所述s*q个目标算子呈s行,q列,s=k*l,q为大于1的整数,其中,q列目标算子中的每列目标算子中的相邻目标算子相连接;所述第一数据加载器,具体用于:依次将所述ak*l中的所述k个第一行向量按序加载至所述q列目标算子中的每列目标算子中,其中,s行中的每行目标算子中加载的权重数据相同。

11、在本专利技术实施例中,当目标算子集合中目标算子个数与权重数据个数呈q倍时,目标算子呈s行,q列分布,s=k*l,q为大于1的整数,且每列目标算子中相邻的目标算子相连接。在此情况下,权重矩阵中的一个权重数据可以加载到q个目标算子中,即第一数据加载器依次将k个第一行向量按序加载至q列目标算子中的每列目标算子中,以使得处理单元中输入q组权重矩阵,且每组权重矩阵中包括相同的k个第一行向量。进一步地,每组权重矩阵所在的目标算子都可以用于与一个卷积窗口进行卷积计算,以实现并行计算,从而提升卷积计算的效率。

12、在一种可能的实现方式中,在m>k时,所述ak*l和所述bm*n的卷积关系包括m-k+1个卷积子关系,每个所述卷积子关系为对应输入子矩阵中的k个第二行向量与一列目标算子中加载的k个第一行向量的对应关系,其中,所述输本文档来自技高网...

【技术保护点】

1.一种卷积运算加速器,其特征在于,所述卷积运算加速器包括处理单元、第一数据加载器和第二数据加载器,其中,所述处理单元,用于:

2.如权利要求1所述的加速器,其特征在于,所述目标算子集合包括K*L个目标算子,且所述K*L个目标算子呈K行,L列分布,其中,K行中的每行目标算子中相邻的目标算子相连接,且第L列目标算子中相邻的目标算子相连接;所述第一数据加载器,具体用于:

3.如权利要求2所述的加速器,其特征在于,在M=K时,所述AK*L和输入矩阵BM*N的卷积关系为第i个第一行向量与第i个第二行向量对应;所述第二数据加载器,具体用于:

4.如权利要求3所述的加速器,其特征在于,所述处理单元,具体用于:

5.如权利要求1所述的加速器,其特征在于,所述目标算子集合包括S*Q个目标算子,且所述S*Q个目标算子呈S行,Q列,S=K*L,Q为大于1的整数,其中,Q列目标算子中的每列目标算子中的相邻目标算子相连接;所述第一数据加载器,具体用于:

6.如权利要求5所述的加速器,其特征在于,在M>K时,所述AK*L和所述BM*N的卷积关系包括M-K+1个卷积子关系,每个所述卷积子关系为对应输入子矩阵中的K个第二行向量与一列目标算子中加载的K个第一行向量的对应关系,其中,所述输入子矩阵为所述BM*N中M-K+1个输入子矩阵中的任意一个,每个所述输入子矩阵中包括所述M个第二行向量中相邻的K个第二行向量,且相邻输入子矩阵中包括K-1个相同的第二行向量;所述第二数据加载器,具体用于:

7.如权利要求6所述的加速器,其特征在于,所述处理单元,具体用于:

8.一种卷积运算方法,其特征在于,应用于卷积运算加速器,所述卷积运算加速器包括处理单元、第一数据加载器和第二数据加载器,所述方法包括:

9.如权利要求8所述的方法,其特征在于,所述目标算子集合包括K*L个目标算子,且所述K*L个目标算子呈K行,L列分布,其中,K行中的每行目标算子中相邻的目标算子相连接,且第L列目标算子中相邻的目标算子相连接;所述将所述AK*L中的K个第一行向量加载至所述目标算子集合,包括:

10.如权利要求9所述的方法,其特征在于,在M=K时,所述AK*L和输入矩阵BM*N的卷积关系为第i个第一行向量与第i个第二行向量对应;所述按照时钟周期以及所述AK*L和输入矩阵BM*N的卷积关系,将第二行向量中的N个输入数据逐个广播至对应的一个或多个所述第一行向量各自所在的L个目标算子中,包括:

11.如权利要求10所述的方法,其特征在于,所述通过所述目标算子集合获得所述AK*L和所述BM*N的卷积结果,包括:

12.如权利要求8所述的方法,其特征在于,所述目标算子集合包括S*Q个目标算子,且所述S*Q个目标算子呈S行,Q列,S=K*L,Q为大于1的整数,其中,Q列目标算子中的每列目标算子中的相邻目标算子相连接;所述将所述AK*L中的K个第一行向量加载至所述目标算子集合,包括:

13.如权利要求12所述的方法,其特征在于,在M>K时,所述AK*L和所述BM*N的卷积关系包括M-K+1个卷积子关系,每个所述卷积子关系为对应输入子矩阵中的K个第二行向量与一列目标算子中加载的K个第一行向量的对应关系,其中,所述输入子矩阵为所述BM*N中M-K+1个输入子矩阵中的任意一个,每个所述输入子矩阵中包括所述M个第二行向量中相邻的K个第二行向量,且相邻输入子矩阵中包括K-1个相同的第二行向量;所述按照时钟周期以及所述AK*L和输入矩阵BM*N的卷积关系,将第二行向量中的N个输入数据逐个广播至对应的一个或多个所述第一行向量各自所在的L个目标算子中,包括:

14.如权利要求13所述的方法,其特征在于,所述通过所述目标算子集合获得所述AK*L和所述BM*N的卷积结果,包括:

15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求8-14中任意一项所述的方法。

...

【技术特征摘要】

1.一种卷积运算加速器,其特征在于,所述卷积运算加速器包括处理单元、第一数据加载器和第二数据加载器,其中,所述处理单元,用于:

2.如权利要求1所述的加速器,其特征在于,所述目标算子集合包括k*l个目标算子,且所述k*l个目标算子呈k行,l列分布,其中,k行中的每行目标算子中相邻的目标算子相连接,且第l列目标算子中相邻的目标算子相连接;所述第一数据加载器,具体用于:

3.如权利要求2所述的加速器,其特征在于,在m=k时,所述ak*l和输入矩阵bm*n的卷积关系为第i个第一行向量与第i个第二行向量对应;所述第二数据加载器,具体用于:

4.如权利要求3所述的加速器,其特征在于,所述处理单元,具体用于:

5.如权利要求1所述的加速器,其特征在于,所述目标算子集合包括s*q个目标算子,且所述s*q个目标算子呈s行,q列,s=k*l,q为大于1的整数,其中,q列目标算子中的每列目标算子中的相邻目标算子相连接;所述第一数据加载器,具体用于:

6.如权利要求5所述的加速器,其特征在于,在m>k时,所述ak*l和所述bm*n的卷积关系包括m-k+1个卷积子关系,每个所述卷积子关系为对应输入子矩阵中的k个第二行向量与一列目标算子中加载的k个第一行向量的对应关系,其中,所述输入子矩阵为所述bm*n中m-k+1个输入子矩阵中的任意一个,每个所述输入子矩阵中包括所述m个第二行向量中相邻的k个第二行向量,且相邻输入子矩阵中包括k-1个相同的第二行向量;所述第二数据加载器,具体用于:

7.如权利要求6所述的加速器,其特征在于,所述处理单元,具体用于:

8.一种卷积运算方法,其特征在于,应用于卷积运算加速器,所述卷积运算加速器包括处理单元、第一数据加载器和第二数据加载器,所述方法包括:

9.如权利要求8所述的方法,其特征在于,所述目标算子集合包括k*l个目标算子,且所述k*l个目标算子呈k行,l列分布,其中,k行中的每行目标算子中相...

【专利技术属性】
技术研发人员:张士长
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1