CN103902507A - 一种面向可编程代数处理器的矩阵乘法计算装置及方法 - Google Patents

一种面向可编程代数处理器的矩阵乘法计算装置及方法 Download PDF

Info

Publication number
CN103902507A
CN103902507A CN201410123578.6A CN201410123578A CN103902507A CN 103902507 A CN103902507 A CN 103902507A CN 201410123578 A CN201410123578 A CN 201410123578A CN 103902507 A CN103902507 A CN 103902507A
Authority
CN
China
Prior art keywords
data
matrix
broadcast
buffer storage
matrix multiplication
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
Application number
CN201410123578.6A
Other languages
English (en)
Other versions
CN103902507B (zh
Inventor
郭晓龙
王晓琴
王伟康
吴军宁
林啸
郭璟
张森
赵旭莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Silang Technology Co ltd
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201410123578.6A priority Critical patent/CN103902507B/zh
Publication of CN103902507A publication Critical patent/CN103902507A/zh
Application granted granted Critical
Publication of CN103902507B publication Critical patent/CN103902507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种矩阵乘法计算装置及方法,所述装置包括多粒度并行存储器、数据缓存装置、数据广播缓存装置和向量运算装置。本发明采用可编程配置的DSP芯片,并结合高效的向量化矩阵乘法方案,针对实际应用中存在的矩阵尺寸小、运算量大的矩阵乘法进行并行优化处理,具有运算速度快,并行粒度高和访存次数少的优点。

Description

一种面向可编程代数处理器的矩阵乘法计算装置及方法
技术领域
本发明涉及数据处理技术领域,更具体地,涉及一种基于可编程代数处理器的矩阵乘法计算装置及方法。
背景技术
矩阵乘法是科学计算中一种基本操作,其广泛用于信号处理、图像处理、雷达、声纳、通信等复杂计算领域中,并且由于其计算复杂度为O(n3),使得矩阵乘法往往成为算法计算过程中最为耗时的操作,进而影响整个算法的性能。矩阵乘法操作又分为大矩阵乘法和小矩阵乘法,大矩阵乘法由于其行列数值非常巨大,导致运算量呈指数级增加,近些年受到广泛关注,一种通用的处理方法为将大矩阵进行分块处理,以加快其运算效率;小矩阵乘法由于其单个乘法的计算量并不是很大,往往被人们所忽视,但随着无线通信领域、雷达信号处理领域,数字图像处理等计算密集型领域的广泛发展,海量信息必须在固定时间内进行处理,而其中大规模的小矩阵乘法随着矩阵数量的急剧增加,逐渐成为非常耗时的计算操作。
例如在无线通信领域中的预编码过程,存在着多种模式的大规模小矩阵乘法,并且其有非常严格的时间约束。具体说来,多天线技术包括传输分集、空间复用和波束赋形技术。这三种技术简单来说都包含大规模小矩阵相乘,以空间复用为例,其分为闭环空间复用和开环空间复用,其计算公式如下:
闭环空间复用:
y ( 0 ) ( i ) . . . y ( P - 1 ) ( i ) = W ( i ) x 0 ( i ) . . . x ( υ - 1 ) ( i )
开环空间复用:
y ( 0 ) ( i ) . . . y ( P - 1 ) ( i ) = W ( i ) D ( i ) U x 0 ( i ) . . . x ( υ - 1 ) ( i )
其中:
Figure BDA0000483845170000021
W(i)为码本,根据天线数不同存在着不同的码本,例如,在两天线情况下存在如下码本:
Figure BDA0000483845170000022
四天线情况下具体码本由
Figure BDA0000483845170000023
得出,un及Wn从下表得出:
Figure BDA0000483845170000024
Figure BDA0000483845170000031
八天线码本相对更为复杂一些,这里就不一一列举。然后这些小矩阵码本再和每层的信号进行矩阵乘法,最终得出不同天线上的发射信号,由于信号量非常巨大,导致该过程也变得异常费时。基于非码本的预编码操作,同样是小矩阵码本和信号矩阵相乘,只是码本获得方式不同而已。
总体来说,对于无线通信领域,特别是LTE/LTE-A中,存在码本矩阵行列为(1,1),(2,1),(2,2),(4,1),(4,2),(4,3),(4,4),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8)15种情况和信号矩阵行列为(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1)8种情况,并且码本矩阵和信号矩阵相乘的次数非常多。对于该类矩阵乘法由于其矩阵行列比较小,无法使用分块方法进行计算,而直接行列做乘累加操作又相对耗时,因此有必要提出一种高效地解决上述问题的大规模小矩阵相乘的方法与装置。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是现有的矩阵相乘方法与装置对于大规模小矩阵的相乘执行效率不高的问题。
(二)技术方案
(三)有益效果
本发明对矩阵算法进行了优化,通过“数据缓存、广播及流水”机制,结合一个运算模式多样的运算部件,使得一系列小矩阵乘法能够充分的并行执行,能够提高大规模小矩阵的运算效率。
附图说明
图1为本发明的矩阵乘法装置图;
图2为本发明中A系列矩阵在多粒度并行存储器中的数据分布图;
图3为本发明中B系列矩阵在多粒度并行存储器中的数据分布图;
图4为本发明实施例的矩阵乘法的计算示意图;
图5为本发明中广播操作示意图。
具体实施方式
本发明针对现有的情况,提出了一种高效地计算矩阵乘法的方法和装置,特别适合于大规模小矩阵乘法。
本发明所提出的大规模小矩阵乘法向量化装置包含:多粒度并行存储器10、数据缓存装置20、数据广播缓存装置30、向量运算装置40。其中:
所述多粒度并行存储器10用于存储多个要进行乘法运算的矩阵、广播索引以及矩阵乘法之后的结果。所述广播索引用于对矩阵中的每个数据进行广播操作。该存储器的读写位宽与数据缓存装置的寄存器堆201位宽、数据广播缓存装置中相关寄存器位宽以及所述向量运算装置40的运算尺寸一致,记为P。
所述数据缓存装置20用于将矩阵乘法中的不需要广播的矩阵从多粒度并行存储器10中取出,存入到寄存器堆201中。所述数据缓存装置20由寄存器堆201组成。
所述数据广播缓存装置30用于将矩阵乘法中需广播的矩阵数据以及广播索引从所述多粒度并行存储器10中取出,分别放入到数据缓存实体302和广播索引寄存器303中,依据广播索引寄存器303中的广播索引对B系列矩阵数据进行广播操作。所述广播操作是指将一个数据依据广播索引复制多份放入到寄存器的相应位置中,如图5所示。所述数据广播装置30包括数据广播控制单元301和数据缓存实体302和广播索引寄存器303,其中数据广播控制单元301用于控制具体的数据广播操作。
所述向量运算装置40,用于将从所述数据缓存装置20中读取得到的要进行乘法运算的矩阵和从所述数据广播缓存装置30中读取并广播后的要进行乘法运算的矩阵进行向量运算,并将结果写入多粒度存储单元101中。所述向量运算单元40包含乘法运算单元401和累加运算单元402,可同时执行P个字节的向量运算操作。
本发明的另一方面是提出一种用于大规模小矩阵乘法的向量化计算方法,用于进行矩阵乘法Ai×Bi,其中Ai表示维度为L×M的A系列矩阵,Bi表示维度为M×N的B系列矩阵,i表示矩阵的序号,且i为正整数。根据本发明的计算装置的存储器端口位宽和运算尺寸,一次可同时执行BS对矩阵相乘,其中BS为存储器端口位宽所能容纳的最大数据个数。
这里需要说明的是,A系列矩阵和B系列矩阵在内存中按下列规则存储。其中A系列矩阵以行优先存储在多粒度并行存储器10的一个Bank内,如图2所示;B系列矩阵以列优先存储在多粒度并行存储器10的一个Bank内,如图3所示。
本发明根据A系列矩阵和B系列矩阵的特点,分为三种情况:
一、A系列矩列和B系列矩阵个数都不唯一;
二、A系列矩阵个数唯一,B系列矩阵个数不唯一;
三、A系列矩阵个数不唯一,B系列矩阵个数唯一。
第一种情况,本发明的方法包括如下步骤:
步骤S1:分别从多粒度并行存储器10中按行读取L×M行的A系列矩阵以及按行读取M×N行的B系列矩阵到数据缓存装置20中,A系列矩阵放置在寄存器堆201中的Ck寄存器中,B系列矩阵放置在寄存器堆201中的寄存器中Dl,其中k∈[1,L*M],l∈[1,M*N];
步骤S2:令k1=0,k2=0;
步骤S3:取Ck中第k1×M+1到(k1+1)×M行数据和Dl中第k2×M+1到(k2+1)×M行数据,其相应行分别进行点乘操作,然后将结果进行累加操作,得到结果E,最后将E写回到多粒度并行存储器10中,如图4所示;
步骤S4:k2加1,重复步骤S3,直到k2等于N为止;
步骤S5:k1加1,重复步骤S3~S4,直到k1等于L为止;
步骤S6:读取下一个L×M行的A系列矩阵和M×N行的B系列矩阵到数据缓存装置20中,重复步骤S2~S5,直到所有矩阵计算完毕。
第二种情况包括如下步骤:
步骤P1:从多粒度并行存储器10中按列读取L×M行1列A矩阵数据到数据广播缓存装置30中,并且按行读取M×N行B系列矩阵数据到数据缓存装置20中,表示为Dl,其中l∈[1,M*N];
步骤P2:对数据广播缓存装置30中的每一个数据进行类似于图5所示广播操作,即每一个数据都复制BS份存储在寄存器Ck中,其中k∈[1,L*M];
步骤P3:令k1=0,k2=0;
步骤P4:取Ck中第k1×M+1到(k1+1)×M行数据和Dl中第k2×M+1到(k2+1)×M行数据,其相应行分别进行点乘操作,然后将结果进行累加操作,得到结果E,最后将E写回到多粒度并行存储器10中,如图4所示;
步骤P5:k2加1,重复步骤P4,直到k2等于N为止;
步骤P6:k1加1,重复步骤P4~P5,直到k1等于L为止;
步骤P7:读取下一个M×N行的B系列矩阵到数据缓存装置20中,重复步骤P3~P6,直到所有矩阵计算完毕。
第三种情况包括如下步骤:
步骤Q1:从多粒度并行存储器10中按行读取L×M行A系列矩阵数据到数据缓存装置20中,表示为Ck,其中k∈[1,L×M]。并且按列读取M×N行1列B系列矩阵数据到数据广播缓存装置30中;
步骤Q2:对数据广播缓存装置30中的每一个数据进行类似于图5所示广播操作,即每一个数据都复制BS份存储在寄存器Dl中,其中l∈[1,M×N];
步骤Q3:令k1=0,k2=0;
步骤Q4:取Ck中第k1×M+1到(k1+1)×M行数据和Dl中第k2×M+1到(k2+1)×M行数据,其相应行分别进行点乘操作,然后将结果进行累加操作,得到结果E,最后将E写回到多粒度并行存储器10中,如图4所示;
步骤Q5:k2加1,重复步骤Q4,直到k2等于N为止;
步骤Q6:k1加1,重复步骤Q4~Q5,直到k1等于L为止;
步骤Q7:读取下一个L×M行的A系列矩阵到数据缓存装置20中,重复步骤Q3~Q6,直到所有矩阵计算完毕。
由于本发明的向量运算部件包含多套向量运算单元,并且上述步骤运算操作相对固定,因此本发明可将如上步骤进行流水操作,最大限度的提高计算效率。
本发明通过“数据缓存、广播及流水”机制,结合一个运算模式多样的运算部件使得可编程代数处理器可以最大限度的加快小矩阵乘法。极大的提高了硬件利用效率和矩阵运算速率。
采用本发明进行大规模小矩阵的矩阵相乘计算,具有以下有益效果:
一、运算速度快,由于采用了运算尺寸为BS个数据的向量运算部件,使得每次可以并行执行BS个小矩阵相乘操作。其速率是一般串行速度的BS倍,并且通过采用广播机制,改变矩阵乘法运算模式,减少了矩阵乘法的运算周期数,另外由于运算操作相对固定,可以最大限度的全流水执行,进一步提升了运算速率。
二、减少访存次数。由于每次访存时采用的多粒度并行存储器10和向量运算部件30的运算尺寸为BS,使得访存次数减少了近BS倍。并且数据缓存装置20和数据广播缓存装置30可以暂存矩阵乘法过程中的中间变量,使得进一步减少了访存次数,降低了功耗,提高了数据的使用效率。
三、适用范围广,由于本装置的运算尺寸非常宽,并不需要固定矩阵尺寸,通过编程配置即可支持多种不同行列宽度的小矩阵的向量化乘法操作,从而扩展了本发明的适用范围。
本发明需要利用支持多粒度并行读写的存储器,对于该存储器的描述可参考申请号为201110459453.7的专利申请《多粒度并行存储系统》和申请号为201110460585.1的专利申请《多粒度并行存储系统与存储器》。
本发明需要利用交织网络技术,对于该交织网络的描述可参考申请号为201310138909.9的专利申请《一种改变数据序列顺序的装置》。
为了使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
在本说明书中,为了描述方便,首先介绍一下本发明中所使用到的各个部件的功能说明。
多粒度并行存储器
本发明中所使用的多粒度并行存储器的数据位宽是以存储单元为单位进行度量的,存储单元定义为存储器的编制单位,也是存储器可读写的最小数据位宽。本发明中均假定最小数据位宽即存储单元为8bit。而“粒度”是指地址连续的存储单元的个数。多粒度指的是可同时读取多个连续的存储单元的数据,最大为存储器的读写端口位宽,假设本发明中所使用数据为单精度浮点数据,一个浮点数据需要4个连续的存储单元来存储。本发明中多粒度并行存储器可一次读写P个存储单元,即一次最大可同时读取BS个数据(P=BS×4)。另外,本并行存储器支持支持按行或按列读取。
数据缓存装置
数据缓存装置用于暂存源数据、结果和一些常用的中间数据,减少反复读取存储器的次数。该功能通过一个寄存器堆来实现,该寄存器堆中每个寄存器的位宽为P×8bit。
数据广播缓存装置
除了具有暂存源数据、结果和一些常用的中间数据的功能外,还可以通过配置广播寄存器对数据进行广播操作。其中广播操作是以字节为单位进行操作的,因此对于单精度浮点数据来说,利用4个字节的广播索引位来控制一个数据的广播位置。
向量运算装置
向量运算装置主要实现各种计算操作,包括加法、乘法、数据读写等操作,其运算尺寸与多粒度并行存储器的端口位宽一致,通过原操作数对应字节之间进行相关操作,即可实现BS×4个字节的相关运算。
本实施例中主要介绍在LTE中MIMO预编码操作中的开环空间复用的具体操作流程,其中码本矩阵行列都等于4,通过对多个矩阵相乘操作的向量化处理来加快运算速率。
由于4天线开环空间复用中W(i)=Ck
Figure BDA0000483845170000091
其中C1,C2,C3,C4从码本索引为12、13、14、15中选择。D(i)为周期性变化的矩阵,U为一个固定矩阵。因此,W′(i)=W(i)×D(i)×U是一个在16个矩阵中按一定规律选取的矩阵。本发明提前将这16个矩阵算出,并按照该规律在多粒度并行存储器中排列。
在本发明实施例中,码本矩阵和信号矩阵在多粒度并行存储器中排列规则如图2和图3所示。
本发明实施例提供了一种在开环空间复用中大规模矩阵乘法的向量化实现方法。该方法包括:
步骤2001:从多粒度并行存储器10中读取16行码本数据,存入寄存器A1~A16中,并读取4行信号数据,存入寄存器B1~B4中。
步骤2002:利用向量处理部件执行E=A1×B1+A2×B2+A3×B3+A4×B4,然后将结果E存入多粒度并行存储器中,得到天线0上的16个数据;
步骤2003:利用向量处理部件执行E=A5×B1+A6×B2+A7×B3+A8×B4,然后将结果E存入多粒度并行存储器中,得到天线1上的16个数据;
步骤2004:利用向量处理部件执行E=A9×B1+A10×B2+A11×B3+A12×B4,然后将结果E存入多粒度并行存储器中,得到天线2上的16个数据;
步骤2005:利用向量处理部件执行E=A13×B1+A14×B2+A15×B3+A16×B4,然后将结果E存入多粒度并行存储器中,得到天线3上的16个数据;
步骤2006:从多粒度并行存储器中读取接下来的4行信号数据,存入寄存器B1~B4中,重复步骤2002~2005。直到所有信号数据全部运算完毕。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种矩阵乘法计算装置,其特征在于,该装置包括多粒度并行存储器(10)、数据缓存装置(20)、数据广播缓存装置(30)和向量运算装置(40)。
所述的多粒度并行存储器(10)用于存储要进行乘法运算的矩阵、广播索引以及矩阵乘法之后的结果;
所述数据缓存装置(20)用于暂存从多粒度并行存储器(10)中取出的要进行乘法运算的矩阵;
所述数据广播缓存装置(30)用于将要进行数据广播操作的矩阵从多粒度并行存储器(10)中取出,并对所述矩阵的数据进行广播操作;
所述向量运算装置(40)用于将从所述数据缓存装置(20)中读取得到的矩阵进行向量运算,或将从所述数据缓存装置(20)中读取得到的矩阵和从所述数据广播缓存装置(30)中读取的矩阵进行向量运算,并将结果写入所述多粒度存储器(10)中。
2.如权利要求1所述的矩阵乘法计算装置,其特征在于,所述多粒度并行存储器的读写位宽、数据缓存装置20中寄存器堆201的位宽、数据广播缓存装置中相关寄存器位宽以及所述向量运算装置40的运算尺寸相等。
3.如权利要求1所述的矩阵乘法计算装置,其特征在于,所述数据广播缓存装置对所述矩阵的数据依据广播索引寄存器(303)中的广播索引进行广播操作。
4.如权利要求1所述的矩阵乘法计算装置,其特征在于,所述数据广播装置(30)包括数据广播控制单元(301)、数据缓存实体(302)和广播索引寄存器(303),其中数据广播控制单元(301)用于控制数据广播操作。
5.如权利要求1所述的矩阵乘法计算装置,其特征在于,所述向量运算单元(40)包括乘法运算单元(401)和累加运算单元(402)。
6.一种矩阵乘法计算方法,其特征在于,包括如下步骤:
步骤S1:分别从多粒度并行存储器10中按行读取L×M行的A系列矩阵以及按行读取M×N行的B系列矩阵到数据缓存装置20中,A系列矩阵放置在寄存器堆201中的Ck寄存器中,B系列矩阵放置在寄存器堆201中的寄存器中Dl,其中k∈[1,L*M],l∈[1,M*N];
步骤S2:令k1=0,k2=0;
步骤S3:取Ck中第k1×M+1到(k1+1)×M行数据和Dl中第k2×M+1到(k2+1)×M行数据,其相应行分别进行点乘操作,然后将结果进行累加操作,得到结果E,最后将E写回到多粒度并行存储器10中,如图4所示;
步骤S4:k2加1,重复步骤S3,直到k2等于N为止;
步骤S5:k1加1,重复步骤S3~S4,直到k1等于L为止;
步骤S6:读取下一个L×M行的A系列矩阵和M×N行的B系列矩阵到数据缓存装置20中,重复步骤S2~S5,直到所有矩阵计算完毕。
7.一种矩阵乘法计算方法,其特征在于,包括如下步骤:
步骤P1:从多粒度并行存储器10中按列读取L×M行1列A矩阵数据到数据广播缓存装置30中,并且按行读取M×N行B系列矩阵数据到数据缓存装置20中,表示为Dl,其中l∈[1,M*N];
步骤P2:对数据广播缓存装置30中的每一个数据进行类似于图5所示广播操作,即每一个数据都复制BS份存储在寄存器Ck中,其中k∈[1,L*M];
步骤P3:令k1=0,k2=0;
步骤P4:取Ck中第k1×M+1到(k1+1)×M行数据和Dl中第k2×M+1到(k2+1)×M行数据,其相应行分别进行点乘操作,然后将结果进行累加操作,得到结果E,最后将E写回到多粒度并行存储器10中,如图4所示;
步骤P5:k2加1,重复步骤P4,直到k2等于N为止;
步骤P6:k1加1,重复步骤P4~P5,直到k1等于L为止;
步骤P7:读取下一个M×N行的B系列矩阵到数据缓存装置20中,重复步骤P3~P6,直到所有矩阵计算完毕。
8.一种矩阵乘法计算方法,其特征在于,包括如下步骤:
步骤Q1:从多粒度并行存储器10中按行读取L×M行A系列矩阵数据到数据缓存装置20中,表示为Ck,其中k∈[1,L×M]。并且按列读取M×N行1列B系列矩阵数据到数据广播缓存装置30中;
步骤Q2:对数据广播缓存装置30中的每一个数据进行类似于图5所示广播操作,即每一个数据都复制BS份存储在寄存器Dl中,其中l∈[1,M×N];
步骤Q3:令k1=0,k2=0;
步骤Q4:取Ck中第k1×M+1到(k1+1)×M行数据和Dl中第k2×M+1到(k2+1)×M行数据,其相应行分别进行点乘操作,然后将结果进行累加操作,得到结果E,最后将E写回到多粒度并行存储器10中,如图4所示;
步骤Q5:k2加1,重复步骤Q4,直到k2等于N为止;
步骤Q6:k1加1,重复步骤Q4~Q5,直到k1等于L为止;
步骤Q7:读取下一个L×M行的A系列矩阵到数据缓存装置20中,重复步骤Q3~Q6,直到所有矩阵计算完毕。
9.如权利要求6至8中任一项所述的矩阵乘法计算方法,其特征在于,所述A系列矩阵以行优先存储在多粒度并行存储器(10)的一列Bank内;所述B系列矩阵以列优先存储在多粒度并行存储器(10)的一列Bank内。
CN201410123578.6A 2014-03-28 2014-03-28 一种面向可编程代数处理器的矩阵乘法计算装置及方法 Active CN103902507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410123578.6A CN103902507B (zh) 2014-03-28 2014-03-28 一种面向可编程代数处理器的矩阵乘法计算装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410123578.6A CN103902507B (zh) 2014-03-28 2014-03-28 一种面向可编程代数处理器的矩阵乘法计算装置及方法

Publications (2)

Publication Number Publication Date
CN103902507A true CN103902507A (zh) 2014-07-02
CN103902507B CN103902507B (zh) 2017-05-10

Family

ID=50993837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410123578.6A Active CN103902507B (zh) 2014-03-28 2014-03-28 一种面向可编程代数处理器的矩阵乘法计算装置及方法

Country Status (1)

Country Link
CN (1) CN103902507B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572587A (zh) * 2014-12-23 2015-04-29 中国电子科技集团公司第三十八研究所 数据矩阵相乘的加速运算方法和装置
CN105893333A (zh) * 2016-03-25 2016-08-24 合肥工业大学 一种用于music算法中计算协方差矩阵的硬件电路
WO2017052919A1 (en) * 2015-09-23 2017-03-30 Qualcomm Incorporated Data-driven accelerator for machine learning and raw data analysis
CN107977231A (zh) * 2017-12-15 2018-05-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108021393A (zh) * 2017-12-15 2018-05-11 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108037908A (zh) * 2017-12-15 2018-05-15 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108108190A (zh) * 2017-12-15 2018-06-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108108189A (zh) * 2017-12-15 2018-06-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108121688A (zh) * 2017-12-15 2018-06-05 北京中科寒武纪科技有限公司 一种计算方法及相关产品
WO2020019174A1 (zh) * 2018-07-24 2020-01-30 深圳市大疆创新科技有限公司 数据存取的方法、处理器、计算机系统和可移动设备
CN110738311A (zh) * 2019-10-14 2020-01-31 哈尔滨工业大学 基于高层次综合的lstm网络加速方法
CN111198670A (zh) * 2018-11-20 2020-05-26 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
CN112434255A (zh) * 2020-12-03 2021-03-02 海光信息技术股份有限公司 向量-矩阵运算和数据处理方法、乘法器和处理器芯片
TWI746126B (zh) * 2020-08-25 2021-11-11 創鑫智慧股份有限公司 矩陣乘法裝置及其操作方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541774B (zh) * 2011-12-31 2015-02-04 中国科学院自动化研究所 多粒度并行存储系统与存储器
CN102541749B (zh) * 2011-12-31 2014-09-17 中国科学院自动化研究所 多粒度并行存储系统
CN103236903B (zh) * 2013-04-19 2015-11-18 中国科学院自动化研究所 一种改变数据序列顺序的装置

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572587B (zh) * 2014-12-23 2017-11-14 中国电子科技集团公司第三十八研究所 数据矩阵相乘的加速运算方法和装置
CN104572587A (zh) * 2014-12-23 2015-04-29 中国电子科技集团公司第三十八研究所 数据矩阵相乘的加速运算方法和装置
WO2017052919A1 (en) * 2015-09-23 2017-03-30 Qualcomm Incorporated Data-driven accelerator for machine learning and raw data analysis
CN105893333B (zh) * 2016-03-25 2018-07-03 合肥工业大学 一种用于music算法中计算协方差矩阵的硬件电路
CN105893333A (zh) * 2016-03-25 2016-08-24 合肥工业大学 一种用于music算法中计算协方差矩阵的硬件电路
CN108108189B (zh) * 2017-12-15 2020-10-30 安徽寒武纪信息科技有限公司 一种计算方法及相关产品
CN108037908A (zh) * 2017-12-15 2018-05-15 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108108190A (zh) * 2017-12-15 2018-06-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108108189A (zh) * 2017-12-15 2018-06-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108121688A (zh) * 2017-12-15 2018-06-05 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108021393A (zh) * 2017-12-15 2018-05-11 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN108108190B (zh) * 2017-12-15 2020-01-24 中科寒武纪科技股份有限公司 一种计算方法及相关产品
CN107977231A (zh) * 2017-12-15 2018-05-01 北京中科寒武纪科技有限公司 一种计算方法及相关产品
CN107977231B (zh) * 2017-12-15 2020-10-27 安徽寒武纪信息科技有限公司 一种计算方法及相关产品
WO2020019174A1 (zh) * 2018-07-24 2020-01-30 深圳市大疆创新科技有限公司 数据存取的方法、处理器、计算机系统和可移动设备
CN110892373A (zh) * 2018-07-24 2020-03-17 深圳市大疆创新科技有限公司 数据存取的方法、处理器、计算机系统和可移动设备
WO2020103883A1 (zh) * 2018-11-20 2020-05-28 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
CN111198670A (zh) * 2018-11-20 2020-05-26 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
CN111198670B (zh) * 2018-11-20 2021-01-29 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
US11263292B2 (en) 2018-11-20 2022-03-01 Huawei Technologies Co., Ltd. Method, circuit, and SOC for performing matrix multiplication operation
US11397791B2 (en) 2018-11-20 2022-07-26 Huawei Technologies Co., Ltd. Method, circuit, and SOC for performing matrix multiplication operation
US11860970B2 (en) 2018-11-20 2024-01-02 Huawei Technologies Co., Ltd. Method, circuit, and SOC for performing matrix multiplication operation
CN110738311A (zh) * 2019-10-14 2020-01-31 哈尔滨工业大学 基于高层次综合的lstm网络加速方法
TWI746126B (zh) * 2020-08-25 2021-11-11 創鑫智慧股份有限公司 矩陣乘法裝置及其操作方法
US11379185B2 (en) 2020-08-25 2022-07-05 Neuchips Corporation Matrix multiplication device and operation method thereof
CN112434255A (zh) * 2020-12-03 2021-03-02 海光信息技术股份有限公司 向量-矩阵运算和数据处理方法、乘法器和处理器芯片
CN112434255B (zh) * 2020-12-03 2023-12-08 成都海光微电子技术有限公司 向量-矩阵运算和数据处理方法、乘法器和处理器芯片

Also Published As

Publication number Publication date
CN103902507B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN103902507A (zh) 一种面向可编程代数处理器的矩阵乘法计算装置及方法
KR102492477B1 (ko) 행렬 곱셈기
US20180341495A1 (en) Hardware Accelerator for Convolutional Neural Networks and Method of Operation Thereof
CN207895435U (zh) 神经网络计算模组
CN109902804A (zh) 一种卷积运算方法及装置
CN110520834A (zh) 替选循环限制
CN103336758A (zh) 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法
US11934826B2 (en) Vector reductions using shared scratchpad memory
CN102411558A (zh) 面向向量处理器的大矩阵相乘的向量化实现方法
EP4318275A1 (en) Matrix multiplier and method for controlling matrix multiplier
CN110727911B (zh) 一种矩阵的运算方法及装置、存储介质、终端
Yamazaki et al. One-sided dense matrix factorizations on a multicore with multiple GPU accelerators
CN109952559A (zh) 具有单独可选元素及成组复制的流式传输引擎
CN103955446A (zh) 基于dsp芯片的可变长度fft计算方法
EP3798927A1 (en) Memory organization for matrix processing
CN104699624A (zh) 面向fft并行计算的无冲突存储访问方法
CN114385972B (zh) 一种直接求解结构化三角稀疏线性方程组的并行计算方法
CN111242293B (zh) 一种处理部件、数据处理的方法以及电子设备
KR102541465B1 (ko) 기계 학습 및 심층 학습 응용들을 위한 적응적 행렬 곱셈 가속기
US10339200B2 (en) System and method for optimizing mixed radix fast fourier transform and inverse fast fourier transform
CN103544111B (zh) 一种基于实时性处理的混合基fft方法
CN103389967A (zh) 一种基于sram的矩阵转置的装置及方法
CN102567283B (zh) 一种利用gpu对小矩阵求逆的方法
CN104615516B (zh) 面向GPDSP的大规模高性能Linpack测试基准实现的方法
US20230259282A1 (en) Core group memory processsing unit architectures and configurations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171204

Address after: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Patentee after: Beijing Si Lang science and Technology Co.,Ltd.

Address before: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Patentee before: Institute of Automation, Chinese Academy of Sciences

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Silang Technology Co.,Ltd.

Address before: 102412 room 402, 4th floor, building 11, No. 1, Yanfu Road, Yancun Town, Fangshan District, Beijing

Patentee before: Beijing Si Lang science and Technology Co.,Ltd.