CN109446478A - 一种基于迭代和可重构方式的复协方差矩阵计算*** - Google Patents
一种基于迭代和可重构方式的复协方差矩阵计算*** Download PDFInfo
- Publication number
- CN109446478A CN109446478A CN201811284263.4A CN201811284263A CN109446478A CN 109446478 A CN109446478 A CN 109446478A CN 201811284263 A CN201811284263 A CN 201811284263A CN 109446478 A CN109446478 A CN 109446478A
- Authority
- CN
- China
- Prior art keywords
- complex
- bank
- data
- covariance matrix
- matrix
- 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
- 239000011159 matrix material Substances 0.000 title claims abstract description 155
- 238000003860 storage Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims abstract description 9
- 230000001133 acceleration Effects 0.000 claims abstract description 6
- 230000021615 conjugation Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及基于迭代和可重构方式的复协方差矩阵计算***,包括片上SRAM存储器、片外DDR存储器、可重构单元、DMA控制器以及加速核,所述加速核包括:矩阵协方差运算模块,通过迭代计算方式轮询片上SRAM存储器的各区域源数据,并计算出下三角协方差矩阵;共轭对称模块,根据协方差矩阵的共轭对称性质,将下三角协方差矩阵通过地址映射和重构存储的方式得出完整的复协方差矩阵,形成最终的运算结果;DMA接口函数模块,将通过DMA方式从片外DDR存储器读入的数据按分区方式存入片上SRAM存储器。有益效果:本发明支持任意列数的复矩阵进行协方差运算,降低了传统硬件实现方式的源数据计算量以及多次将结果数据写回DDR的时间。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及基于迭代和可重构方式的复协方差矩阵计算***。
背景技术
计算协方差矩阵是信号处理领域的典型运算,是实现多级嵌套维纳滤波器、空间谱估计、相干源个数估计以及仿射不变量模式识别的关键部分,广泛应用于雷达、声呐、数字图像处理等领域。除此以外,协方差矩阵在图像匹配、图像模式识别等领域也有着广泛的应用,但协方差矩阵的计算过程较为复杂,如需计算图像的每个区域内由多个特征向量构成的多维随机变量的协方差矩阵,耗时较长,这也成为在个人通用PC平台上实时实现图像协方差矩阵计算的一大障碍。
随着集成电路产业的飞速发展,高性能与实时是嵌入式领域的不懈追求。当前,针对复协方差矩阵的硬件实现,大部分都是基于DSP、GPU以及FPGA等平台进行设计。而本发明基于一款可重构智能加速核,提出了一种基于迭代和可重构方式计算复协方差矩阵的硬件实现方法,与传统硬件实现方式相比,该方法资源利用率高、硬件实现速度快。作为信号处理领域的典型运算,该硬件实现方法有着良好的借鉴意义和广泛的应用前景。
在统计学与概率论中,协方差矩阵是一个矩阵。其每个元素是各个向量元素之间的协方差。设X=(X1,X2,X3,...,XN)T为n维随机变量,称矩阵
为n维随机变量X的协方差矩阵,记为D(X)。其中,Cij=Cov(Xi,Xj),i,j=1,…,n为X的分量Xi和Xj的协方差。因Cij=Cji,故协方差矩阵为对称矩阵。
如图1所示,传统的硬件实现方式如下:对于一个M×N的复矩阵A=[aij],它的复协方差矩阵B可由下式得到:B=AAH。即先对矩阵A求转置,再求共轭得到AH,最后得到矩阵B的每一个元素如下:由于该方式按照矩阵乘法实现,在计算大点数复矩阵协方差时将涉及到数据的多次搬入搬出,这会导致访存时间过长,且该实现方式没有按协方差矩阵的共轭对称性质减少运算量,这些都是协方差矩阵计算时间长的原因。而在很多实际应用场景中,协方差矩阵的低效率计算会成为一大阻碍,可见本发明具有一定的借鉴意义和应用前景。
发明内容
本发明的目的在于克服以上现有技术之不足,提供一种有效降低源数据运算量,充分利用存储资源,加快了计算速度,进而从整体上提升应用算法性能的基于迭代和可重构方式的复协方差矩阵计算***,具体由以下技术方案实现:
所述基于迭代和可重构方式的复协方差矩阵计算***,包括片上SRAM存储器、片外DDR存储器、可重构单元、DMA控制器以及加速核,所述加速核分别与片上SRAM存储器、可重构单元通信连接,DMA控制器与可重构单元通信连接,片外DDR存储器通过总线与DMA控制器通信连接,所述加速核包括:
矩阵协方差运算模块,通过迭代计算方式轮询片上SRAM存储器的各区域源数据,并计算出下三角协方差矩阵;
共轭对称模块,根据协方差矩阵的共轭对称性质,将下三角协方差矩阵通过地址映射和重构存储的方式得出完整的复协方差矩阵,形成最终的运算结果;
DMA接口函数模块,将通过DMA方式从片外DDR存储器读入的数据按分区方式存入片上SRAM存储器;并将所述运算结果通过DMA方式写回片外DDR存储器。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,所述片上SRAM存储器设定存储资源分为k个bank,每个bank的深度为d,若分配m个bank用于存储下三角协方差矩阵,针对大小为M×N的复矩阵进行协方差运算,满足M2≤md,N为任意值;若计算并行度为b,则划定待求复矩阵为小点数的条件为:M2≤bd,不满足该条件即判定待求复矩阵为大点数。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,若待求复矩阵为小点数,则采用DMA的一维数据传输模式;若待求复矩阵为大点数则采用DMA的二维数据传输模式。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,所述矩阵协方差运算模块按照将待求复矩阵的一列存于单个bank、单次所有bank存入一列并将当前列划为一个区、单次所有bank划为一个段的规则将原数据进行存储,计算出单次分区总大小、分段总次数、最后一段的区数以及最后一个区的列数。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,若任意区列数未填满,则采用补零机制;若源数据存储超过单次最大存储点数,则采用乒乓操作分段处理,若源数据存储超过单次最大存储点数,则采用批处理。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,矩阵协方差运算模块采用可重构方式构建复乘累加计算单元,将各分段、各分区、各bank暂存结果数据进行迭代计算,得到下三角协方差矩阵。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,复乘累加计算单元中复乘法器和复加法器的使用个数等于源数据存储的bank数量,设定为b,每次计算单元输入数据的个数为:2b+1;读取所有源数据bank第M个地址作为复乘法器输入A;分别读取所有源数据bank第1~M个地址的数据的共轭作为复乘法器输入B,另一个输入数据为上一次存储结果bank中对应的存储地址的值,每次计算结果又需重新写回同一bank中的同一地址。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,所述共轭对称模块依次从下三角协方差矩阵所在bank读取数据,解析出数据在下三角矩阵中的行和列,再按照矩阵一列存于一个bank的规则,将该数据及其共轭对称数据存入复用的源数据bank中,直到得出完整的复协方差矩阵。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,所述加速核分配从DDR中读取的数据时,根据DMA传入的地址解析出传入的数据在待求复矩阵中的行和列,再根据按列分配原则存入相应源数据bank中。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,共轭对称模块在采用的地址映射为:从结果bank中依次读取下三角协方差矩阵的数据,根据该数据所在的bank编号和bank中的地址解析出所在原下三角矩阵的行和列,再按完整协方差矩阵的一列存于一个bank的分配原则将当前数据和其共轭对称数据存入重构的bank中。
本发明的优点如下:
本发明的基于迭代和可重构方式的复协方差矩阵计算***采用参数化方式进行设计,针对不同的存储与计算资源,重构出资源利用率最大化的方案进行复协方差矩阵运算。该方法减少了源数据计算量,提高了资源利用率,加快了硬件实现的运算速度,为信号处理领域中计算协方差矩阵的设计实现提供了很好的借鉴作用。
附图说明
图1是本发明中计算复协方差矩阵硬件实现架构图。
图2是传统方式计算复协方差矩阵硬件实现架构图。
图3是本发明中源数据排列示意图。
图4是本发明中源数据传输地址映射机制示意图。
图5是本发明中小点数源数据存储流程图。
图6是本发明中计算单元设计示意图。
图7是本发明中计算过程源数据读取示意图。
图8是本发明中下三角矩阵共轭对称地址映射机制示意图。
图9是本发明和传统方式计算复协方差矩阵的性能评估对比示意图。
具体实施方式
下面结合附图对本发明方案进行详细说明。
如图1,该实例的基于迭代和可重构方式的复协方差矩阵计算***,主要包括DMA接口函数、矩阵协方差运算以及共轭对称等主要模块。DMA接口函数模块主要负责:一是将用DMA方式从片外DDR存储器(后文简称DDR)读入的数据按分区方式存入片上SRAM存储器(后文简称SRAM),二是将最后的运算结果通过DMA方式写回DDR。矩阵协方差运算模块主要负责通过迭代计算方式轮询SRAM各区域源数据计算出下三角协方差矩阵。共轭对称模块主要负责根据协方差矩阵的共轭对称性质,将下三角协方差矩阵通过地址映射和重构存储的方式得出完整的复协方差矩阵。本发明支持任意列数的复矩阵进行协方差运算,降低了传统硬件实现方式的源数据计算量以及多次将结果数据写回DDR的时间,权衡计算和存储资源实现最大化多路并行,利用可重构方式构建计算单元,设立特定地址映射规则得出复协方差矩阵。
片上SRAM存储器设定存储资源分为k个bank,每个bank的深度为d,若分配m个bank用于存储下三角协方差矩阵,针对大小为M×N的复矩阵进行协方差运算,满足M2≤md,N为任意值;若计算并行度为b,则划定待求复矩阵为小点数的条件为:M2≤bd,不满足该条件即判定待求复矩阵为大点数。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,若待求复矩阵为小点数,则采用DMA的一维数据传输模式;若待求复矩阵为大点数则采用DMA的二维数据传输模式。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,所述矩阵协方差运算模块按照将待求复矩阵的一列存于单个bank、单次所有bank存入一列并将当前列划为一个区、单次所有bank划为一个段的规则将原数据进行存储,计算出单次分区总大小、分段总次数、最后一段的区数以及最后一个区的列数。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,若任意区列数未填满,则采用补零机制;若源数据存储超过单次最大存储点数,则采用乒乓操作分段处理,若源数据存储超过单次最大存储点数,则采用批处理。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,矩阵协方差运算模块采用可重构方式构建复乘累加计算单元,将各分段、各分区、各bank暂存结果数据进行迭代计算,得到下三角协方差矩阵。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,复乘累加计算单元中复乘法器和复加法器的使用个数等于源数据存储的bank数量,设定为b,每次计算单元输入数据的个数为:2b+1;读取所有源数据bank第M个地址作为复乘法器输入A;分别读取所有源数据bank第1~M个地址的数据的共轭作为复乘法器输入B,另一个输入数据为上一次存储结果bank中对应的存储地址的值,每次计算结果又需重新写回同一bank中的同一地址。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,所述共轭对称模块依次从下三角协方差矩阵所在bank读取数据,解析出数据在下三角矩阵中的行和列,再按照矩阵一列存于一个bank的规则,将该数据及其共轭对称数据存入复用的源数据bank中,直到得出完整的复协方差矩阵。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,所述加速核分配从DDR中读取的数据时,根据DMA传入的地址解析出传入的数据在待求复矩阵中的行和列,再根据按列分配原则存入相应源数据bank中。
所述基于迭代和可重构方式的复协方差矩阵计算***的进一步设计在于,共轭对称模块在采用的地址映射为:从结果bank中依次读取下三角协方差矩阵的数据,根据该数据所在的bank编号和bank中的地址解析出所在原下三角矩阵的行和列,再按完整协方差矩阵的一列存于一个bank的分配原则将当前数据和其共轭对称数据存入重构的bank中。
下面以本发明的一个实例实现进行详细说明,并搭建了一款基于SystemC语言的周期精确***级仿真模型进行验证。
本发明基于图2所示的硬件实现架构计算复协方差矩阵,实例中假定矩阵X为M×N阶(M≤256,N≤8K),其广义协方差结果Y为M×M的矩阵:(以下“%”均表示取模运算)
若以内存大小为2MB的SRAM为例(分成32个bank,每个bank深度为8k),硬件实现时采用分区(大点数还需分段)方式进行数据处理,按列分块多次填满源数据区。考虑支持大点数乒乓操作,广义协方差结果Y最大为256*256个点数,即下三角矩阵最大为256*(256+1)/2=32896个点数,故至少需要5个bank存储。因此,可利用的32个bank去掉存储计算结果的5个bank,余下的所有bank通过乒乓操作存储源数据,故单次存储源数据的bank数量为A=floor[(32-5)/2]=13个。(floor函数功能:返回比参数小的最大整数)。
由于每个bank深度为8k,且在每个bank中按单列M个数依次存入数据(M最大为256),故划定B=floor[8k/M]个区,即每个区的A个bank可以存储A列数据,所有bank最多可储存C=(A*B)列数据。(大点数定义:待求复矩阵的数据大小超过C×M个)
以M×N矩阵为例(N≤C),则源数据排列如图3所示。如果N>C,则依此循环,共需传送D=ceil(N/C)次,ceil函数功能:返回大于或者等于指定表达式的最小整数。最后一个区占用的bank数为(N-1)%A+1,该区剩余bank用0填补。
本实例实现中采用的AXI总线数据位宽为256bit,DMA会将其拆分为4个64bit的数据传送给矩阵协方差运算的DMA接口函数,该函数会按照地址映射机制将其存入对应的bank,如图4所示。因此,大点数运算时,每段的分区大小最好为4的倍数,这样每次传送的列数恰好为4的倍数,不会出现同一时刻往同一bank写入2个数据,从而避免延时存数影响整体运算速度;对于小点数运算来说,由于DMA一次搬运结束,且列数不一定恰好为4的倍数,所以会出现同一时刻往同一bank写入2个数据,此时需要延时轮流写入数据,如图5所示。对于大点数运算的最后一段最后一区数据传送,因为DMA采用二维数据传输模式,若剩余列数不为4的倍数,则会自动补零凑成4的倍数,虽然bank多写入了补零列,但是之后恰好需要对最后一区补零填充,因而不仅无关紧要,反而缩短补零列数,加快源数据存储时间。
可重构计算单元需重构为一个27复数数据输入、5级全流水复乘累加单元,如图6所示,共使用13个复乘法器,13个复加法器。
根据广义协方差结果的共轭对称特性,为了缩短运算时间,只计算复协方差矩阵的下三角,上三角采用共轭对称进行扩展。计算过程中源数据读取形式如图7所示,具体运算步骤如下:
1)矩阵按列共分为D段,每次导入1段数据,按图3形式放入源数据bank;
2)对当前段占用的每个区进行如下运算:(输入Pre_Region Data为同一区相应位置的数据)
从A个bank同时读第1个数作为输入I1,第1个数取共轭作为输入I2;
从A个bank同时读第2个数作为输入I1,依次读第1个、第2个数取共轭作为输入I2;
从A个bank同时读第3个数作为输入I1,依次读第1个、第2个、第3个数取共轭作为输入I2;
……;
从A个bank同时读第M个数作为输入I1,依次读第1个,第2个,……,第M个数取共轭作为输入I2;
3)重复步骤2)完成当前段所有区的运算;
4)重复步骤2)、步骤3)完成所有段计算,得到M(M+1)/2个结果;
5)将M(M+1)/2个结果通过共轭对称扩展成M*M个结果重新存入新的存储阵列。
由于计算完成后源数据存储区域可重新利用,故构建新的存储阵列存储M*M个矩阵协方差计算结果,为了与DMA每次数据传输为256bit相对应,且考虑到每次取出4个数的方便性,故新的存储阵列规划为bank0-bank15,计算出的M*M复协方差矩阵按列依次存入新的存储阵列中,具体的下三角矩阵共轭对称地址映射机制如图8所示。
本实例性能评估如下:1)占满B个区的段数为floor(N/C);2)最后一段占据的区数为ceil((N%C)/A);3)每个区运算时取输入I1的周期数为M,并行取输入I2和输入Pre_Region Data的周期数为M×(M+1)/2;4)下三角矩阵共轭对称扩展的时间为M×(M+1)/2;5)复乘累加运算单元计算时间为T1,从bank读出和存储数据的时间分别为T2、T3。则该复协方差矩阵总运算周期数如下:floor(N/C)*[(M*(M+1)/2+M)*B]+ceil[(N%C)/A]*[M*(M+1)/2+M]+M*(M+1)/2+T1+T2+T3。而传统方式计算复协方差矩阵的周期数如下:M*N*(M+4)/4。
因为T1、T2、T3相对于总周期数较小,故可忽略不计。在对不同大小复矩阵作协方差运算时,用以上2种实现方式的性能对比如图9所示。从图中明显可以看出,基于迭代和可重构方式计算复协方差矩阵的周期数比传统方式大大减少。本发明的基于迭代和可重构方式的复协方差矩阵计算***支持任意列数的复矩阵进行协方差运算,降低了传统硬件实现方式的源数据计算量以及多次将结果数据写回DDR的时间,权衡计算和存储资源实现最大化多路并行,利用可重构方式构建计算单元,设立特定地址映射规则得出复协方差矩阵,大大提高了资源利用率与硬件实现的运算速度。作为信号处理领域的典型运算,该硬件实现方法有着良好的借鉴意义和广泛的应用前景。
Claims (10)
1.一种基于迭代和可重构方式的复协方差矩阵计算***,包括片上SRAM存储器、片外DDR存储器、可重构单元、DMA控制器以及加速核,所述加速核分别与片上SRAM存储器、可重构单元通信连接,DMA控制器与可重构单元通信连接,片外DDR存储器通过总线与DMA控制器通信连接,其特征在于所述加速核包括:
矩阵协方差运算模块,通过迭代计算方式轮询片上SRAM存储器的各区域源数据,并计算出下三角协方差矩阵;
共轭对称模块,根据协方差矩阵的共轭对称性质,将下三角协方差矩阵通过地址映射和重构存储的方式得出完整的复协方差矩阵,形成最终的运算结果;
DMA接口函数模块,将通过DMA方式从片外DDR存储器读入的数据按分区方式存入片上SRAM存储器;并将所述运算结果通过DMA方式写回片外DDR存储器。
2.根据权利要求1所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于所述片上SRAM存储器设定存储资源分为k个bank,每个bank的深度为d,若分配m个bank用于存储下三角协方差矩阵,针对大小为M×N的复矩阵进行协方差运算,满足M2≤md,N为任意值;若计算并行度为b,则划定待求复矩阵为小点数的条件为:M2≤bd,不满足该条件即判定待求复矩阵为大点数。
3.根据权利要求2所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于若待求复矩阵为小点数,则采用DMA的一维数据传输模式;若待求复矩阵为大点数则采用DMA的二维数据传输模式。
4.根据权利要求1所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于所述矩阵协方差运算模块按照将待求复矩阵的一列存于单个bank、单次所有bank存入一列并将当前列划为一个区、单次所有bank划为一个段的规则将原数据进行存储,计算出单次分区总大小、分段总次数、最后一段的区数以及最后一个区的列数。
5.根据权利要求4所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于若任意区列数未填满,则采用补零机制;若源数据存储超过单次最大存储点数,则采用乒乓操作分段处理,若源数据存储超过单次最大存储点数,则采用批处理。
6.根据权利要求1所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于矩阵协方差运算模块采用可重构方式构建复乘累加计算单元,将各分段、各分区、各bank暂存结果数据进行迭代计算,得到下三角协方差矩阵。
7.根据权利要求6所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于复乘累加计算单元中复乘法器和复加法器的使用个数等于源数据存储的bank数量,设定为b,每次计算单元输入数据的个数为:2b+1;读取所有源数据bank第M个地址作为复乘法器输入A;分别读取所有源数据bank第1~M个地址的数据的共轭作为复乘法器输入B,另一个输入数据为上一次存储结果bank中对应的存储地址的值,每次计算结果又需重新写回同一bank中的同一地址。
8.根据权利要求1所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于所述共轭对称模块依次从下三角协方差矩阵所在bank读取数据,解析出数据在下三角矩阵中的行和列,再按照矩阵一列存于一个bank的规则,将该数据及其共轭对称数据存入复用的源数据bank中,直到得出完整的复协方差矩阵。
9.根据权利要求1所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于所述加速核分配从DDR中读取的数据时,根据DMA传入的地址解析出传入的数据在待求复矩阵中的行和列,再根据按列分配原则存入相应源数据bank中。
10.根据权利要求4所述的基于迭代和可重构方式的复协方差矩阵计算***,其特征在于共轭对称模块在采用的地址映射为:从结果bank中依次读取下三角协方差矩阵的数据,根据该数据所在的bank编号和bank中的地址解析出所在原下三角矩阵的行和列,再按完整协方差矩阵的一列存于一个bank的分配原则将当前数据和其共轭对称数据存入重构的bank中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811284263.4A CN109446478B (zh) | 2018-10-30 | 2018-10-30 | 一种基于迭代和可重构方式的复协方差矩阵计算*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811284263.4A CN109446478B (zh) | 2018-10-30 | 2018-10-30 | 一种基于迭代和可重构方式的复协方差矩阵计算*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109446478A true CN109446478A (zh) | 2019-03-08 |
CN109446478B CN109446478B (zh) | 2021-09-28 |
Family
ID=65550425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811284263.4A Active CN109446478B (zh) | 2018-10-30 | 2018-10-30 | 一种基于迭代和可重构方式的复协方差矩阵计算*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446478B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614582A (zh) * | 2018-11-06 | 2019-04-12 | 海南大学 | 自共轭矩阵的下三角部分存储装置和并行读取方法 |
CN111045965A (zh) * | 2019-10-25 | 2020-04-21 | 南京大学 | 一种多通道无冲突拆分的硬件实现方法及运行该方法的计算机设备与可读存储介质 |
CN111723336A (zh) * | 2020-06-01 | 2020-09-29 | 南京大学 | 一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002037259A1 (en) * | 2000-11-01 | 2002-05-10 | Bops, Inc. | Methods and apparatus for efficient complex long multiplication and covariance matrix implementation |
EP1215507A2 (en) * | 2000-12-12 | 2002-06-19 | Matsushita Electric Industrial Co., Ltd. | Radio-wave arrival-direction estimating apparatus and directional variable transceiver |
CN101211333A (zh) * | 2006-12-30 | 2008-07-02 | 北京邮电大学 | 一种信号处理方法、装置和*** |
CN103685110A (zh) * | 2013-12-17 | 2014-03-26 | 京信通信***(中国)有限公司 | 一种预失真处理的方法、***及预失真系数运算器 |
CN105426345A (zh) * | 2015-12-25 | 2016-03-23 | 南京大学 | 一种矩阵求逆运算方法 |
CN105630735A (zh) * | 2015-12-25 | 2016-06-01 | 南京大学 | 一种基于可重构计算阵列的协处理器 |
CN105893333A (zh) * | 2016-03-25 | 2016-08-24 | 合肥工业大学 | 一种用于music算法中计算协方差矩阵的硬件电路 |
US9686069B2 (en) * | 2015-05-22 | 2017-06-20 | ZTE Canada Inc. | Adaptive MIMO signal demodulation using determinant of covariance matrix |
-
2018
- 2018-10-30 CN CN201811284263.4A patent/CN109446478B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002037259A1 (en) * | 2000-11-01 | 2002-05-10 | Bops, Inc. | Methods and apparatus for efficient complex long multiplication and covariance matrix implementation |
EP1215507A2 (en) * | 2000-12-12 | 2002-06-19 | Matsushita Electric Industrial Co., Ltd. | Radio-wave arrival-direction estimating apparatus and directional variable transceiver |
CN101211333A (zh) * | 2006-12-30 | 2008-07-02 | 北京邮电大学 | 一种信号处理方法、装置和*** |
CN103685110A (zh) * | 2013-12-17 | 2014-03-26 | 京信通信***(中国)有限公司 | 一种预失真处理的方法、***及预失真系数运算器 |
US9686069B2 (en) * | 2015-05-22 | 2017-06-20 | ZTE Canada Inc. | Adaptive MIMO signal demodulation using determinant of covariance matrix |
CN105426345A (zh) * | 2015-12-25 | 2016-03-23 | 南京大学 | 一种矩阵求逆运算方法 |
CN105630735A (zh) * | 2015-12-25 | 2016-06-01 | 南京大学 | 一种基于可重构计算阵列的协处理器 |
CN105893333A (zh) * | 2016-03-25 | 2016-08-24 | 合肥工业大学 | 一种用于music算法中计算协方差矩阵的硬件电路 |
Non-Patent Citations (2)
Title |
---|
于东等: "一种高精度的大点数二维FFT处理器设计", 《现代雷达》 * |
何子述等: "基于数据阵共辘重构的MUSIC角估计算法", 《电子科技大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614582A (zh) * | 2018-11-06 | 2019-04-12 | 海南大学 | 自共轭矩阵的下三角部分存储装置和并行读取方法 |
CN111045965A (zh) * | 2019-10-25 | 2020-04-21 | 南京大学 | 一种多通道无冲突拆分的硬件实现方法及运行该方法的计算机设备与可读存储介质 |
CN111723336A (zh) * | 2020-06-01 | 2020-09-29 | 南京大学 | 一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速*** |
CN111723336B (zh) * | 2020-06-01 | 2023-01-24 | 南京大学 | 一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速*** |
Also Published As
Publication number | Publication date |
---|---|
CN109446478B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178519B (zh) | 卷积神经网络加速引擎、卷积神经网络加速***及方法 | |
CN108241890B (zh) | 一种可重构神经网络加速方法及架构 | |
Pınar et al. | Fast optimal load balancing algorithms for 1D partitioning | |
CN107341544A (zh) | 一种基于可分割阵列的可重构加速器及其实现方法 | |
CN108805266A (zh) | 一种可重构cnn高并发卷积加速器 | |
TW201913460A (zh) | 芯片裝置及相關産品 | |
CN107392309A (zh) | 一种基于fpga的通用定点数神经网络卷积加速器硬件结构 | |
CN111667051A (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
CN111242289A (zh) | 一种规模可扩展的卷积神经网络加速***与方法 | |
CN103970720B (zh) | 基于大规模粗粒度嵌入式可重构***及其处理方法 | |
CN109446478A (zh) | 一种基于迭代和可重构方式的复协方差矩阵计算*** | |
CN102135951B (zh) | 基于运行时重构的ls-svm算法fpga实现方法 | |
CN106156851A (zh) | 面向深度学习业务的加速装置及方法 | |
CN110222818A (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
CN110647719B (zh) | 基于fpga的三维fft计算装置 | |
CN109993293A (zh) | 一种适用于堆叠式沙漏网络的深度学习加速器 | |
CN110069444A (zh) | 一种计算单元、阵列、模块、硬件***及实现方法 | |
JP2020077066A (ja) | 学習装置および学習方法 | |
CN209708122U (zh) | 一种计算单元、阵列、模块、硬件*** | |
CN105955896B (zh) | 一种可重构dbf算法硬件加速器及控制方法 | |
CN112732630A (zh) | 针对深度学习的浮点矩阵乘算子众核并行优化方法 | |
CN106156142A (zh) | 一种文本聚类的处理方法、服务器及*** | |
CN114492753A (zh) | 一种应用于片上训练的稀疏加速器 | |
Wang et al. | A scalable FPGA engine for parallel acceleration of singular value decomposition | |
CN111651208B (zh) | 面向异构众核并行计算机的模态并行计算方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
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 |