CN106970896A - 面向向量处理器的二维矩阵卷积的向量化实现方法 - Google Patents
面向向量处理器的二维矩阵卷积的向量化实现方法 Download PDFInfo
- Publication number
- CN106970896A CN106970896A CN201710201589.5A CN201710201589A CN106970896A CN 106970896 A CN106970896 A CN 106970896A CN 201710201589 A CN201710201589 A CN 201710201589A CN 106970896 A CN106970896 A CN 106970896A
- Authority
- CN
- China
- Prior art keywords
- matrix
- convolution
- elements
- row
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
一种面向向量处理器的二维矩阵卷积的向量化实现方法,步骤为:S1:通过DMA控制器将卷积矩阵A和卷积核矩阵B分别搬运到向量存储单元和标量存储单元;S2:将卷积矩阵A的一行元素和卷积核矩阵B的一个元素广播后对应的一行元素一一对应相乘,结果进行累加;S3:通过混洗指令取出卷积矩阵A中取出的一行元素的前K‑1个元素至向量处理单元,与本次取出并广播至向量处理单元的卷积核矩阵B的第二个元素进行一一对应相乘,结果累加;S4:判断是否完成一行元素的计算;S5:将两个矩阵的数据地址指向下一数据行,完成矩阵C的第一行元素的计算,通过循环完成整个矩阵C的计算。本发明具有原理简单、操作方便、能大大增加算法并行度并提高计算效率等优点。
Description
技术领域
本发明主要到涉及到向量处理器以及数据处理领域,特指一种面向向量处理器的二维矩阵卷积的向量化实现方法。
背景技术
在许多科学计算任务和实际应用中都会涉及到二维矩阵卷积运算,如图像处理、机器学习、深度学习、人工神经网络及通信系统中的信号编解码等,对于不同规模的二维矩阵卷积计算任务,由于涉及到大量的数据访存和乘加运算,需要占用大量的访存和计算时间,并行效率比较差。如何利用向量处理器的多功能部件、多运算单元的特点来简单而高效的实现不同规模的二维矩阵卷积的向量化运算一直是业界的研究热点。
在传统的标量处理器上,研究人员已经提出了一些有效的二维矩阵卷积的实现方法,以加速二维矩阵卷积的运算。但是,随着人工智能、深度学习、人工神经网络等学科的兴起,在图像识别、语音识别、文本识别及其他目标识别领域中二维矩阵卷积占有着越来越重要的位置,尤其是在当前目标识别率最高的卷积神经网络模型中,如何加速二维矩阵的卷积运算成为当前研究的热点和难点。随着高密集、实时运算应用的不断涌现,单芯片难以满足这类应用的高密度实时计算需求,因此,向量处理器得到了广泛应用。
如图1所示,为一个向量处理器的典型结构,其具有处理器、程序存储器和数据存储器(两者均可以为任意的可访问存储器,包括外部高速缓冲存储器、外部RAM等)。向量处理器的处理器分为标量处理部件和向量处理部件两个部分,通常向量处理部件内有K个并行处理单元(PE),这些处理单元都有各自的运算部件和寄存器,处理单元间能通过规约指令进行数据交互,如并行处理单元之间的数据相乘、比较等。标量处理单元主要负责流控和逻辑判断指令的处理,而向量处理单元主要负责密集型的数据计算。向量处理单元运算所用的数据由向量数据存储单元提供。一般地,如图2所示,向量数据存储单元的BANK(存储体)的个数与向量处理单元的处理单元个数K是一致的。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作方便、能大大增加算法并行度并提高计算效率的面向向量处理器的二维矩阵卷积的向量化实现方法。
为解决上述技术问题,本发明采用以下技术方案:
一种面向向量处理器的二维矩阵卷积的向量化实现方法,其步骤为:
S1:输入卷积矩阵A和卷积核矩阵B;通过DMA控制器将卷积矩阵A和卷积核矩阵B分别搬运到向量存储单元和标量存储单元;
S2:将卷积矩阵A的一行元素和卷积核矩阵B的一个元素广播后对应的一行元素一一对应相乘,相乘的结果通过一个初始化为0的累加寄存器进行累加;
S3:通过混洗指令取出步骤S2中从卷积矩阵A中取出的一行元素的前K-1个元素至向量处理单元,并与本次取出并广播至向量处理单元的卷积核矩阵B的第二个元素进行一一对应相乘,结果累加至步骤S2中的累加寄存器中;其中K为并行处理单元的个数;
S4:判断是否完成卷积核矩阵B一行元素的计算,若没有完成,返回步骤S3,若完成则继续步骤S5;
S5:将卷积矩阵A和卷积核矩阵B的数据地址指向相应的下一数据行,最终完成卷积结果矩阵C的第一行元素的计算,通过循环步骤S2~步骤S5最终完成整个卷积结果矩阵C的计算。
作为本发明的进一步改进:在上述步骤S1的搬运过程中,通过DMA控制器的配置,卷积矩阵A的每一行组织成一个数据帧,卷积核矩阵B的每一个元素组织成一个数据帧,整个卷积矩阵A共可分成p个数据帧,当所述数据帧的元素个数不等于向量处理器中并行处理单元的个数K的倍数时,在数据帧尾部补0使得每个数据帧的元素个数等于并行处理单元的个数K的倍数。
作为本发明的进一步改进:对于m×m的卷积矩阵A卷积n×n的卷积核矩阵B的运算,得到(m-n+1)×(m-n+1)的卷积结果矩阵C,且m≧n,结果矩阵C的每一个元素都是由卷积核矩阵B(n×n)的所有元素在卷积矩阵A(m×m)上与卷积核矩阵B同样大小的区域进行点积运算并累加求和的结果。
与现有技术相比,本发明的优点在于:本发明的面向向量处理器的二维矩阵卷积的向量化实现方法,通过DMA完成卷积矩阵A和卷积核矩阵B分别搬移至向量存储体和标量存储体,同时还充分利用向量处理器中的向量部件多个并行处理单元能够同时进行相同运算操作的特点来进行大量的同类型操作,通过配置特殊的混洗模式,大量复用每次取到的卷积矩阵A的数据,从而大大降低卷积矩阵A的访存量,进而大幅度提高二维矩阵卷积的计算效率,且步骤简单,易于实现。
附图说明
图1是典型的向量处理器结构示意图。
图2是向量处理器中的向量数据存储单元的结构示意图。
图3是本发明的总流程示意图。
图4是本发明中卷积矩阵A在向量数据存储单元中的加载形式及卷积核矩阵B的元素标量广播至向量寄存器的示意图。
图5是本发明在具体应用实例2中卷积矩阵A(16×16)在向量存储单元中的存放形式示意图。
图6是本发明在具体应用中配置的混洗模式1的实施示意图。
图7是本发明在具体应用中配置的混洗模式2的实施示意图。
图8是本发明在具体应用实例2中完成卷积结果矩阵C一行元素的实现步骤示意图。
图9是本发明在具体应用实例3中卷积矩阵A在向量数据存储单元中的存放形式示意图。
图10是本发明在具体应用实例3中完成卷积结果矩阵C一行元素的实现步骤示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图3和图4所示,本发明的面向向量处理器的二维矩阵卷积的向量化实现方法,其步骤为:
S1:输入卷积矩阵A和卷积核矩阵B;通过DMA控制器将卷积矩阵A和卷积核矩阵B分别搬运到向量存储单元和标量存储单元;
S2:将卷积矩阵A的一行元素和卷积核矩阵B的一个元素广播后对应的一行元素一一对应相乘,相乘的结果通过一个初始化为0的累加寄存器进行累加;
S3:通过混洗指令取出步骤S2中从卷积矩阵A中取出的一行元素的前K-1个元素至向量处理单元,并与本次取出并广播至向量处理单元的卷积核矩阵B的第二个元素进行一一对应相乘,结果累加至步骤S2中的累加寄存器中;其中K为并行处理单元的个数;
S4:判断是否完成卷积核矩阵B一行元素的计算,若没有完成,返回步骤S3,若完成则继续步骤S5;
S5:将卷积矩阵A和卷积核矩阵B的数据地址指向相应的下一数据行,最终完成卷积结果矩阵C的第一行元素的计算,通过循环步骤S2~步骤S5最终完成整个卷积结果矩阵C的计算。
在上述步骤S1的搬运过程中,通过DMA控制器的配置,卷积矩阵A的每一行组织成一个数据帧,卷积核矩阵B的每一个元素组织成一个数据帧,整个卷积矩阵A共可分成p个数据帧,当所述数据帧的元素个数不等于向量处理器中并行处理单元的个数K的倍数时,在数据帧尾部补0使得每个数据帧的元素个数等于并行处理单元的个数K的倍数。
在具体应用实例1中,本发明面向向量处理器的二维矩阵卷积的向量化实现方法,其详细流程为:
S101、输入卷积矩阵A和卷积核矩阵B;通过DMA控制器将卷积矩阵A和卷积核矩阵B分别搬运到向量存储单元和标量存储单元;
即:通过DMA控制器的配置,可以将卷积矩阵A的每一行组织成一个数据帧,卷积核矩阵B的每一个元素组织成一个数据帧,整个卷积矩阵A共可分成p个数据帧。当数据帧的元素个数不等于向量处理器中并行处理单元的个数K的倍数时,在数据帧尾部补0使得每个数据帧的元素个数等于并行处理单元的个数K的倍数。
S102、将卷积矩阵A的一行元素和卷积核矩阵B的第1个元素广播后对应的一行元素一一对应相乘,相乘的结果通过一个初始化为0的累加寄存器进行累加。
S103、通过混洗指令取出步骤S102中从卷积矩阵A中取出的那一行元素的前K-1个元素至向量处理单元,并与本次取出并广播至向量寄存器的卷积核矩阵B的第2个元素进行一一对应相乘,结果累加至步骤S102中的累加寄存器中。
S104、判断是否完成卷积核矩阵B一行元素的计算,若没有完成,返回步骤S103,若完成则继续步骤S105。
S105、将卷积矩阵A和卷积核矩阵B的数据地址指向相应的下一数据行,最终完成卷积结果矩阵C的第一行元素的计算,通过循环步骤S102~步骤S105,最终完成整个卷积结果矩阵C的计算。
对于m×m的卷积矩阵A卷积n×n的卷积核矩阵B的运算,可以得到(m-n+1)×(m-n+1)的卷积结果矩阵C,且m≧n,结果矩阵C的每一个元素都是由卷积核矩阵B(n×n)的所有元素在卷积矩阵A(m×m)上与卷积核矩阵B同样大小的区域进行点积运算并累加求和的结果。
在具体应用实例2中,本发明面向向量处理器的二维矩阵卷积的向量化实现方法,用来计算规模为16×16的卷积矩阵A卷积规模为5×5的卷积核矩阵B(向量处理单元个数K为16),如图8所示,其详细流程为:
S1001、输入卷积矩阵A(16×16)和卷积核矩阵B(5×5);通过DMA搬运卷积矩阵A和卷积核矩阵B分别到向量存储单元和标量存储单元,卷积矩阵A在向量单元的存放方式如图5所示,卷积核矩阵B则连续存放在标量存储单元中。
S1002、将卷积矩阵A的一行元素和卷积核矩阵B的一个元算分别加载到向量处理单元和标量处理单元中,由于卷积矩阵A的规模为16×16,该向量处理器有16个同构处理单元,因此一次加载卷积矩阵A的一行元素至向量寄存器,加载卷积核矩阵B的第1个元素至标量寄存器,之后通过广播指令将该标量寄存器广播至向量寄存器中,将加载卷积矩阵A一行元素的向量寄存器与卷积核矩阵B广播后对应的向量寄存器对应相乘并累加至初始化为0的累加寄存器中;之后,通过特殊配置的混洗模式1将第一次取出的卷积矩阵A第一行16个元素的前15个元素取出至一个向量寄存器中,并将不足16个元素的位置写0(混洗模式1的实现方式如图6所示);取卷积核矩阵B的第2个元素至标量寄存器,同样进行广播操作至向量寄存器中,并与此时的具有卷积矩阵A前15个元素的向量寄存器一一对应向乘,相乘结果累加至同样的累加寄存器中,由于卷积核矩阵B的规模为5×5,因此该循环共计进行5次(卷积核矩阵的列数),进而完成卷积核矩阵B第一行元素的计算。
S1003、将卷积矩阵A和卷积核矩阵B的数据地址指向相应的下一数据行,返回步骤S1002完成卷积核矩阵B第2行元素的计算,该行计算结果同样累加至相同的累加寄存器中,由于卷积核矩阵B的规模为5×5,因此步骤S1003共计循环5次(卷积核矩阵的行数)完成卷积结果矩阵C(12×12)第一行12个元素的计算。
S1004、重复步骤S1002、S1003 12次(16-5+1)最终完成整个卷积结果C矩阵所有元素的计算。
在具体应用实例3中,本发明面向向量处理器的二维矩阵卷积的向量化实现方法,用来计算规模为8×8的卷积矩阵A卷积规模为4×4的卷积核矩阵B(向量处理单元个数K为16),如图9和图10所示,其详细流程为:
S10001、如图6所示,通过DMA搬运卷积矩阵A和卷积核矩阵B分别到向量存储单元和标量存储单元,这个过程与实施例1操作相同。
S10002、将卷积矩阵A的两行元素和卷积核矩阵B的第1个元素分别加载到向量处理单元和标量处理单元中,这里由于卷积矩阵A的规模为8×8,而向量处理单元的个数K为16,因此,一次可以加载卷积矩阵A的两行数据,由于是由卷积核的规模来控制核心循环的次数,因此即使加载的向量数据不是处理单元个数K的整数倍,也不需要额外进行补0操作。由于本次加载的是卷积矩阵A的前两行数据,首先取卷积核矩阵B的第1个元素至标量寄存器并通过标向量广播指令广播至向量寄存器中,通过乘加指令完成内层循环的第一次累加,继而通过混洗模式1对第1次取到的卷积矩阵A的向量寄存器进行混洗操作(混洗方法与实施例2相同),接着取卷积核矩阵B的第2个元素并广播至向量寄存器,一一对应相乘后累加至第一次的累加寄存器中,循环4次完成卷积核矩阵B一行元素的计算。
S10003、为了提高卷积矩阵A的数据复用率,通过混洗模式2将步骤2中取到的卷积矩阵A的前两行数据的第2行数据放置到另一个向量寄存器中,并将不足16个元素的处理单元置0(混洗模式2的实现方式如图7所示),继而进入步骤S10002,循环4次完成卷积核矩阵B第二行元素的计算。
S10004、顺移到卷积矩阵A的下两行和卷积核矩阵的后两行,重复步骤S10002、S10003,完成卷积结果矩阵C(5×5)第一行元素的计算,重复步骤S10002~S1004共计5次循环,最终完成整个卷积结果矩阵C(5×5)的计算。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (3)
1.一种面向向量处理器的二维矩阵卷积的向量化实现方法,其特征在于,步骤为:
S1:输入卷积矩阵A和卷积核矩阵B;通过DMA控制器将卷积矩阵A和卷积核矩阵B分别搬运到向量存储单元和标量存储单元;
S2:将卷积矩阵A的一行元素和卷积核矩阵B的一个元素广播后对应的一行元素一一对应相乘,相乘的结果通过一个初始化为0的累加寄存器进行累加;
S3:通过混洗指令取出步骤S2中从卷积矩阵A中取出的一行元素的前K-1个元素至向量处理单元,并与本次取出并广播至向量处理单元的卷积核矩阵B的第二个元素进行一一对应相乘,结果累加至步骤S2中的累加寄存器中;其中K为并行处理单元的个数;
S4:判断是否完成卷积核矩阵B一行元素的计算,若没有完成,返回步骤S3,若完成则继续步骤S5;
S5:将卷积矩阵A和卷积核矩阵B的数据地址指向相应的下一数据行,最终完成卷积结果矩阵C的第一行元素的计算,通过循环步骤S2~步骤S5最终完成整个卷积结果矩阵C的计算。
2.根据权利要求1所述的面向向量处理器的二维矩阵卷积的向量化实现方法,其特征在于,在上述步骤S1的搬运过程中,通过DMA控制器的配置,卷积矩阵A的每一行组织成一个数据帧,卷积核矩阵B的每一个元素组织成一个数据帧,整个卷积矩阵A共可分成p个数据帧,当所述数据帧的元素个数不等于向量处理器中并行处理单元的个数K的倍数时,在数据帧尾部补0使得每个数据帧的元素个数等于并行处理单元的个数K的倍数。
3.根据权利要求1或2所述的面向向量处理器的二维矩阵卷积的向量化实现方法,其特征在于,对于m×m的卷积矩阵A卷积n×n的卷积核矩阵B的运算,得到(m-n+1)×(m-n+1)的卷积结果矩阵C,且m≧n,结果矩阵C的每一个元素都是由卷积核矩阵B(n×n)的所有元素在卷积矩阵A(m×m)上与卷积核矩阵B同样大小的区域进行点积运算并累加求和的结果。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710201589.5A CN106970896B (zh) | 2017-03-30 | 2017-03-30 | 面向向量处理器的二维矩阵卷积的向量化实现方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710201589.5A CN106970896B (zh) | 2017-03-30 | 2017-03-30 | 面向向量处理器的二维矩阵卷积的向量化实现方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106970896A true CN106970896A (zh) | 2017-07-21 |
| CN106970896B CN106970896B (zh) | 2020-05-12 |
Family
ID=59335685
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710201589.5A Active CN106970896B (zh) | 2017-03-30 | 2017-03-30 | 面向向量处理器的二维矩阵卷积的向量化实现方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106970896B (zh) |
Cited By (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107885700A (zh) * | 2017-12-29 | 2018-04-06 | 中国人民解放军国防科技大学 | 一种大规模矩阵卷积的多核实现方法 |
| CN108205702A (zh) * | 2017-12-29 | 2018-06-26 | 中国人民解放军国防科技大学 | 一种多输入多输出矩阵卷积的并行处理方法 |
| CN108564524A (zh) * | 2018-04-24 | 2018-09-21 | 开放智能机器(上海)有限公司 | 一种视觉图像的卷积计算优化方法 |
| CN108985450A (zh) * | 2018-06-28 | 2018-12-11 | 中国人民解放军国防科技大学 | 面向向量处理器的卷积神经网络运算向量化方法 |
| CN109313723A (zh) * | 2018-01-15 | 2019-02-05 | 深圳鲲云信息科技有限公司 | 人工智能卷积处理方法、装置、可读存储介质、及终端 |
| CN109416755A (zh) * | 2018-01-15 | 2019-03-01 | 深圳鲲云信息科技有限公司 | 人工智能并行处理方法、装置、可读存储介质、及终端 |
| CN109416756A (zh) * | 2018-01-15 | 2019-03-01 | 深圳鲲云信息科技有限公司 | 卷积器及其所应用的人工智能处理装置 |
| CN109542515A (zh) * | 2017-10-30 | 2019-03-29 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
| CN109598335A (zh) * | 2018-12-04 | 2019-04-09 | 郑州云海信息技术有限公司 | 一种二维卷积脉动阵列结构及实现方法 |
| CN109754061A (zh) * | 2017-11-07 | 2019-05-14 | 上海寒武纪信息科技有限公司 | 卷积扩展指令的执行方法以及相关产品 |
| CN110110283A (zh) * | 2018-02-01 | 2019-08-09 | 北京中科晶上科技股份有限公司 | 一种卷积计算方法 |
| CN110231958A (zh) * | 2017-08-31 | 2019-09-13 | 北京中科寒武纪科技有限公司 | 一种矩阵乘向量运算方法及装置 |
| CN110782009A (zh) * | 2019-10-17 | 2020-02-11 | 湖南大学 | 基于ARMv8体系的计算内核优化方法 |
| CN110796235A (zh) * | 2019-10-21 | 2020-02-14 | 中国人民解放军国防科技大学 | 卷积神经网络Valid卷积的向量化实现方法 |
| CN110807170A (zh) * | 2019-10-21 | 2020-02-18 | 中国人民解放军国防科技大学 | 多样本多通道卷积神经网络Same卷积向量化实现方法 |
| WO2020073211A1 (zh) * | 2018-10-09 | 2020-04-16 | 华为技术有限公司 | 运算加速器、处理方法及相关设备 |
| CN111133457A (zh) * | 2017-09-26 | 2020-05-08 | 三星电子株式会社 | 电子设备及其控制方法 |
| CN111340208A (zh) * | 2020-03-04 | 2020-06-26 | 开放智能机器(上海)有限公司 | 一种向量化计算的深度卷积计算方法及装置 |
| CN112307424A (zh) * | 2020-10-22 | 2021-02-02 | 上海如海光电科技有限公司 | 一种用于阵列传感器的二维卷积降噪方法 |
| CN112346852A (zh) * | 2019-08-06 | 2021-02-09 | 脸谱公司 | 矩阵求和运算的分布式物理处理 |
| CN112396175A (zh) * | 2019-08-16 | 2021-02-23 | 脸谱公司 | 将卷积映射到矩阵处理器单元 |
| CN112748956A (zh) * | 2019-10-29 | 2021-05-04 | 脸谱公司 | 支持同时处理多个矩阵的高吞吐量矩阵处理器 |
| CN113344768A (zh) * | 2021-08-02 | 2021-09-03 | 成都统信软件技术有限公司 | 一种图像矩阵卷积的实现方法、计算设备及储存介质 |
| CN114154628A (zh) * | 2020-09-08 | 2022-03-08 | 三星电子株式会社 | 神经网络操作方法和设备 |
| CN115237603A (zh) * | 2022-08-29 | 2022-10-25 | 无锡江南计算技术研究所 | 一种用于脉动阵列的数据调度方法 |
| CN115795252A (zh) * | 2022-12-19 | 2023-03-14 | 湖南科技大学 | 一种基于向量处理器的qr分解后的向量乘法实现方法 |
| CN116028384A (zh) * | 2021-10-26 | 2023-04-28 | 太初(无锡)电子科技有限公司 | 一种基于多张量核心处理器的卷积计算数据重用方法 |
| CN110210610B (zh) * | 2018-03-27 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 卷积计算加速器、卷积计算方法及卷积计算设备 |
| CN116861149A (zh) * | 2023-09-05 | 2023-10-10 | 之江实验室 | 卷积运算的优化方法、装置及处理器 |
| US11874898B2 (en) | 2018-01-15 | 2024-01-16 | Shenzhen Corerain Technologies Co., Ltd. | Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal |
| US11990137B2 (en) | 2018-09-13 | 2024-05-21 | Shanghai Cambricon Information Technology Co., Ltd. | Image retouching method and terminal device |
| CN120670715A (zh) * | 2025-08-22 | 2025-09-19 | 上海壁仞科技股份有限公司 | 在矢量运算单元中执行卷积运算的方法、计算设备、计算机可读存储介质和计算机程序产品 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040139131A1 (en) * | 2002-11-06 | 2004-07-15 | Nokia Corporation | Method and system for performing calculation operations and a device |
| CN102411558A (zh) * | 2011-10-31 | 2012-04-11 | 中国人民解放军国防科学技术大学 | 面向向量处理器的大矩阵相乘的向量化实现方法 |
-
2017
- 2017-03-30 CN CN201710201589.5A patent/CN106970896B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040139131A1 (en) * | 2002-11-06 | 2004-07-15 | Nokia Corporation | Method and system for performing calculation operations and a device |
| CN102411558A (zh) * | 2011-10-31 | 2012-04-11 | 中国人民解放军国防科学技术大学 | 面向向量处理器的大矩阵相乘的向量化实现方法 |
Non-Patent Citations (2)
| Title |
|---|
| WAJAHAT QADEER ET AL.: "Convolution Engine:Balancing Efficiency and Flexibility in Specialized Computing", 《COMMUNICATIONS OF THE ACM》 * |
| 刘进锋: "一种简洁高效的加速卷积神经网络的方法", 《科学技术与工程》 * |
Cited By (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110231958A (zh) * | 2017-08-31 | 2019-09-13 | 北京中科寒武纪科技有限公司 | 一种矩阵乘向量运算方法及装置 |
| CN111133457B (zh) * | 2017-09-26 | 2023-10-24 | 三星电子株式会社 | 电子设备及其控制方法 |
| CN111133457A (zh) * | 2017-09-26 | 2020-05-08 | 三星电子株式会社 | 电子设备及其控制方法 |
| US11762631B2 (en) | 2017-10-30 | 2023-09-19 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
| US11922132B2 (en) | 2017-10-30 | 2024-03-05 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
| US12050887B2 (en) | 2017-10-30 | 2024-07-30 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
| US12461711B2 (en) | 2017-10-30 | 2025-11-04 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
| CN109542515A (zh) * | 2017-10-30 | 2019-03-29 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
| CN109754061A (zh) * | 2017-11-07 | 2019-05-14 | 上海寒武纪信息科技有限公司 | 卷积扩展指令的执行方法以及相关产品 |
| CN109754061B (zh) * | 2017-11-07 | 2023-11-24 | 上海寒武纪信息科技有限公司 | 卷积扩展指令的执行方法以及相关产品 |
| CN107885700A (zh) * | 2017-12-29 | 2018-04-06 | 中国人民解放军国防科技大学 | 一种大规模矩阵卷积的多核实现方法 |
| CN108205702A (zh) * | 2017-12-29 | 2018-06-26 | 中国人民解放军国防科技大学 | 一种多输入多输出矩阵卷积的并行处理方法 |
| CN107885700B (zh) * | 2017-12-29 | 2021-05-14 | 中国人民解放军国防科技大学 | 一种大规模矩阵卷积的多核实现方法 |
| CN109416755B (zh) * | 2018-01-15 | 2021-11-23 | 深圳鲲云信息科技有限公司 | 人工智能并行处理方法、装置、可读存储介质、及终端 |
| CN109313723A (zh) * | 2018-01-15 | 2019-02-05 | 深圳鲲云信息科技有限公司 | 人工智能卷积处理方法、装置、可读存储介质、及终端 |
| CN109416756A (zh) * | 2018-01-15 | 2019-03-01 | 深圳鲲云信息科技有限公司 | 卷积器及其所应用的人工智能处理装置 |
| WO2019136752A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | 人工智能卷积处理方法、装置、可读存储介质、及终端 |
| CN109416755A (zh) * | 2018-01-15 | 2019-03-01 | 深圳鲲云信息科技有限公司 | 人工智能并行处理方法、装置、可读存储介质、及终端 |
| US11874898B2 (en) | 2018-01-15 | 2024-01-16 | Shenzhen Corerain Technologies Co., Ltd. | Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal |
| CN109313723B (zh) * | 2018-01-15 | 2022-03-15 | 深圳鲲云信息科技有限公司 | 人工智能卷积处理方法、装置、可读存储介质、及终端 |
| CN110110283A (zh) * | 2018-02-01 | 2019-08-09 | 北京中科晶上科技股份有限公司 | 一种卷积计算方法 |
| CN110210610B (zh) * | 2018-03-27 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 卷积计算加速器、卷积计算方法及卷积计算设备 |
| CN108564524A (zh) * | 2018-04-24 | 2018-09-21 | 开放智能机器(上海)有限公司 | 一种视觉图像的卷积计算优化方法 |
| CN108985450B (zh) * | 2018-06-28 | 2019-10-29 | 中国人民解放军国防科技大学 | 面向向量处理器的卷积神经网络运算向量化方法 |
| CN108985450A (zh) * | 2018-06-28 | 2018-12-11 | 中国人民解放军国防科技大学 | 面向向量处理器的卷积神经网络运算向量化方法 |
| US12094456B2 (en) | 2018-09-13 | 2024-09-17 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and system |
| US11996105B2 (en) | 2018-09-13 | 2024-05-28 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
| US11990137B2 (en) | 2018-09-13 | 2024-05-21 | Shanghai Cambricon Information Technology Co., Ltd. | Image retouching method and terminal device |
| US12057109B2 (en) | 2018-09-13 | 2024-08-06 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
| US12057110B2 (en) | 2018-09-13 | 2024-08-06 | Shanghai Cambricon Information Technology Co., Ltd. | Voice recognition based on neural networks |
| WO2020073211A1 (zh) * | 2018-10-09 | 2020-04-16 | 华为技术有限公司 | 运算加速器、处理方法及相关设备 |
| US12306901B2 (en) | 2018-10-09 | 2025-05-20 | Huawei Technologies Co., Ltd. | Operation accelerator, processing method, and related device |
| CN109598335A (zh) * | 2018-12-04 | 2019-04-09 | 郑州云海信息技术有限公司 | 一种二维卷积脉动阵列结构及实现方法 |
| CN109598335B (zh) * | 2018-12-04 | 2022-04-22 | 郑州云海信息技术有限公司 | 一种二维卷积脉动阵列结构及实现方法 |
| CN112346852A (zh) * | 2019-08-06 | 2021-02-09 | 脸谱公司 | 矩阵求和运算的分布式物理处理 |
| CN112396175A (zh) * | 2019-08-16 | 2021-02-23 | 脸谱公司 | 将卷积映射到矩阵处理器单元 |
| CN110782009A (zh) * | 2019-10-17 | 2020-02-11 | 湖南大学 | 基于ARMv8体系的计算内核优化方法 |
| CN110782009B (zh) * | 2019-10-17 | 2023-09-08 | 湖南大学 | 基于ARMv8体系的计算内核优化方法 |
| CN110796235A (zh) * | 2019-10-21 | 2020-02-14 | 中国人民解放军国防科技大学 | 卷积神经网络Valid卷积的向量化实现方法 |
| CN110807170A (zh) * | 2019-10-21 | 2020-02-18 | 中国人民解放军国防科技大学 | 多样本多通道卷积神经网络Same卷积向量化实现方法 |
| CN112748956A (zh) * | 2019-10-29 | 2021-05-04 | 脸谱公司 | 支持同时处理多个矩阵的高吞吐量矩阵处理器 |
| CN111340208A (zh) * | 2020-03-04 | 2020-06-26 | 开放智能机器(上海)有限公司 | 一种向量化计算的深度卷积计算方法及装置 |
| CN111340208B (zh) * | 2020-03-04 | 2023-05-23 | 开放智能机器(上海)有限公司 | 一种向量化计算的深度卷积计算方法及装置 |
| CN114154628A (zh) * | 2020-09-08 | 2022-03-08 | 三星电子株式会社 | 神经网络操作方法和设备 |
| CN112307424B (zh) * | 2020-10-22 | 2024-06-11 | 上海如海光电科技有限公司 | 一种用于阵列传感器的二维卷积降噪方法 |
| CN112307424A (zh) * | 2020-10-22 | 2021-02-02 | 上海如海光电科技有限公司 | 一种用于阵列传感器的二维卷积降噪方法 |
| CN113344768A (zh) * | 2021-08-02 | 2021-09-03 | 成都统信软件技术有限公司 | 一种图像矩阵卷积的实现方法、计算设备及储存介质 |
| CN113344768B (zh) * | 2021-08-02 | 2021-10-15 | 成都统信软件技术有限公司 | 一种图像矩阵卷积的实现方法、计算设备及储存介质 |
| CN113724127A (zh) * | 2021-08-02 | 2021-11-30 | 成都统信软件技术有限公司 | 一种图像矩阵卷积的实现方法、计算设备及储存介质 |
| CN113724127B (zh) * | 2021-08-02 | 2023-05-05 | 成都统信软件技术有限公司 | 一种图像矩阵卷积的实现方法、计算设备及储存介质 |
| CN116028384A (zh) * | 2021-10-26 | 2023-04-28 | 太初(无锡)电子科技有限公司 | 一种基于多张量核心处理器的卷积计算数据重用方法 |
| CN115237603A (zh) * | 2022-08-29 | 2022-10-25 | 无锡江南计算技术研究所 | 一种用于脉动阵列的数据调度方法 |
| CN115795252A (zh) * | 2022-12-19 | 2023-03-14 | 湖南科技大学 | 一种基于向量处理器的qr分解后的向量乘法实现方法 |
| CN116861149B (zh) * | 2023-09-05 | 2024-01-09 | 之江实验室 | 卷积运算的优化方法、装置及处理器 |
| CN116861149A (zh) * | 2023-09-05 | 2023-10-10 | 之江实验室 | 卷积运算的优化方法、装置及处理器 |
| CN120670715A (zh) * | 2025-08-22 | 2025-09-19 | 上海壁仞科技股份有限公司 | 在矢量运算单元中执行卷积运算的方法、计算设备、计算机可读存储介质和计算机程序产品 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106970896B (zh) | 2020-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106970896A (zh) | 面向向量处理器的二维矩阵卷积的向量化实现方法 | |
| CN111859273B (zh) | 矩阵乘法器 | |
| CN102411558B (zh) | 面向向量处理器的大矩阵相乘的向量化实现方法 | |
| US11797855B2 (en) | System and method of accelerating execution of a neural network | |
| CN107153873B (zh) | 一种二值卷积神经网络处理器及其使用方法 | |
| CN108205702B (zh) | 一种多输入多输出矩阵卷积的并行处理方法 | |
| JP7268996B2 (ja) | 計算のためのシステムと方法 | |
| Tanomoto et al. | A CGRA-based approach for accelerating convolutional neural networks | |
| Fang et al. | swdnn: A library for accelerating deep learning applications on sunway taihulight | |
| CN110188869B (zh) | 一种基于卷积神经网络算法的集成电路加速计算的方法及系统 | |
| US20240119114A1 (en) | Matrix Multiplier and Matrix Multiplier Control Method | |
| CN107203808B (zh) | 一种二值卷积装置及相应的二值卷积神经网络处理器 | |
| CN109086244A (zh) | 一种基于向量处理器的矩阵卷积向量化实现方法 | |
| WO2017185389A1 (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
| CN106846235B (zh) | 一种利用NVIDIA Kepler GPU汇编指令加速的卷积优化方法及系统 | |
| CN108629406B (zh) | 用于卷积神经网络的运算装置 | |
| CN107301456A (zh) | 基于向量处理器的深度神经网络多核加速实现方法 | |
| CN113486298A (zh) | 基于Transformer神经网络的模型压缩方法、矩阵乘法模块 | |
| CN108628799A (zh) | 可重构的单指令多数据脉动阵列结构、处理器及电子终端 | |
| CN110705703A (zh) | 基于脉动阵列的稀疏神经网络处理器 | |
| CN113496279A (zh) | 使用点对点连接的通道卷积引擎的分组卷积 | |
| CN104615584B (zh) | 面向gpdsp的大规模三角线性方程组求解向量化计算的方法 | |
| CN104504205A (zh) | 一种对称fir算法的并行化二维分割方法及其硬件结构 | |
| Yousefzadeh et al. | Energy-efficient in-memory address calculation | |
| CN110766136B (zh) | 一种稀疏矩阵与向量的压缩方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |