CN110457648B - 一种用于lu分解的脉动阵列结构的实现方法 - Google Patents

一种用于lu分解的脉动阵列结构的实现方法 Download PDF

Info

Publication number
CN110457648B
CN110457648B CN201910696826.9A CN201910696826A CN110457648B CN 110457648 B CN110457648 B CN 110457648B CN 201910696826 A CN201910696826 A CN 201910696826A CN 110457648 B CN110457648 B CN 110457648B
Authority
CN
China
Prior art keywords
array
input
module
column
output
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.)
Active
Application number
CN201910696826.9A
Other languages
English (en)
Other versions
CN110457648A (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.)
Jinan University
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN201910696826.9A priority Critical patent/CN110457648B/zh
Publication of CN110457648A publication Critical patent/CN110457648A/zh
Application granted granted Critical
Publication of CN110457648B publication Critical patent/CN110457648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix 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)
  • Multi Processors (AREA)

Abstract

本发明公开了一种用于LU分解的脉动阵列结构的实现方法,该脉动阵列结构,包括计算上三角矩阵的运算单元阵列、计算下三角矩阵的运算单元阵列、控制数据输入的状态控制器模块。相较于已有的运算结构,本发明具有以下创新:(1)矩阵数据按行并行输入,无需规划输入顺序。(2)将除法器从阵列处理单元中单独提取出来,减少除法器的数量,提高资源利用率。(3)将脉动阵列部分并行化,在保持高度流水性的同时减少运算所需的时钟周期数。(4)本发明设计的高维脉动阵列结构可兼容较低维的矩阵LU分解,可实现不同维数矩阵共用同一结构,避免重新设计结构。本发明可以应用于信号处理、数值分析、人工智能等领域矩阵分解问题的硬件实现。

Description

一种用于LU分解的脉动阵列结构的实现方法
技术领域
本发明涉及矩阵计算技术领域,具体涉及一种用于LU分解的脉动阵列结构的实现方法。
背景技术
LU分解是一种矩阵分解的方法,其原理是将方阵分解为一个上三角矩阵和一个下三角矩阵。矩阵分解通常用于图像处理、信号处理等诸多科学领域。
目前大部分图像处理、信号处理等算法还是在PC端基于软件运行,其中包含的大量的矩阵分解需要占用了整体算法的大部分运算时间,而随着算法的复杂度和矩阵维度的增加,基于软件运行的算法执行速度远远不能满足需求。
目前亟待开展基于硬件的矩阵运算结构的研究,基于硬件的矩阵运算结构可以大幅提高算法的执行速度和吞吐量。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种用于LU分解的脉动阵列结构的实现方法。
本发明的目的可以通过采取如下技术方案达到:
一种用于LU分解的脉动阵列结构的实现方法,用于对N×N的输入矩阵A进行分解,包括以下步骤:
S1、根据输入矩阵A的最大可能维数确定脉动阵列的维数及总体结构,总体结构包括阵列1模块、阵列2模块和状态控制器模块,其中,所述的阵列1模块用于计算上三角矩阵U,所述的阵列2模块用于计算下三角矩阵L,所述的状态控制器模块用于控制阵列1模块和阵列2模块的中间数据交换,以确保运算过程的正确性。
S2、设计阵列1模块,当输入矩阵A是N×N维,则阵列1模块是一个N行N列的三角阵列,即第n列的处理单元比第n-1列在第n-1行处少一个,n=1,2…,N,其中第1列处理单元记为PE(Processing Element)1,为延时单元,其输入为
Figure BDA0002149601080000021
输出为
Figure BDA0002149601080000022
第2列至第N列处理单元PE记为PE(Processing Element)2,为乘加处理单元,其输入为
Figure BDA0002149601080000023
输出为
Figure BDA0002149601080000024
对于PE1,其输入
Figure BDA0002149601080000025
为矩阵的各行数据,第1行PE1输出
Figure BDA0002149601080000026
接第2列PE2的
Figure BDA0002149601080000027
第2行至第N行输出
Figure BDA0002149601080000028
接第2列PE2对应行数的
Figure BDA0002149601080000029
对于第n列PE2,其输入
Figure BDA00021496010800000210
由阵列2模块的输出数据提供,第n行第n列的PE2输出
Figure BDA00021496010800000211
接第n+1列各PE2的
Figure BDA00021496010800000212
第n+1行第n列的PE2输出
Figure BDA00021496010800000213
接第n+1列对应行的PE2的
Figure BDA00021496010800000214
以此类推直至第N行第N列,其中第n行第n列的PE1和PE2的
Figure BDA00021496010800000215
Figure BDA00021496010800000216
即为计算得出的上三角矩阵U。
S3、设计阵列2模块,当输入矩阵A是N×N维,则阵列2模块是一个N行1列的条形阵列,其处理单元为除法器,记为PE3,每个PE3的输入参数
Figure BDA00021496010800000217
由状态控制器模块控制阵列1模块的中间数据输入,各行输出接对应行各列PE2的
Figure BDA00021496010800000218
S4、设计状态控制器模块,状态控制器模块根据阵列1模块中各列PE1和PE2的输出状态控制下一列PE工作与否,同时将阵列1模块的中间数据选择输入到阵列2模块的输入端口。
进一步地,所述的步骤S2、设计阵列1模块的过程如下:
S21、设计阵列1模块的输入输出端口;
S22、设计阵列1模块的PE1;
S23、设计阵列1模块的PE2。
进一步地,所述的步骤S21中,每个阵列1模块有N个输入端口,每个输入端口有1个输入参数Xin,N个输出端口,每个输出端口有1个输出参数Xout,每个输入输出端口对应矩阵各行,其实现过程如下:
当输入使能信号线置高后的第二个时钟开始,第一个时钟每个Xin对应输入a11、a21、...、aN1,第二个时钟每个Xin对应输入a12、a22、...、aN2,以此类推,直至整个矩阵输入完成。
从数据开始输入开始,第一个时钟第1个Xout输出u11,第二个时钟第1、2个Xout输出u12、u21,第三个时钟第1、2、3个Xout输出u13、u22、u31,以此类推,直至整个上三角矩阵U输出完成。
进一步地,所述的步骤S22中,阵列1模块的PE1将输入参数
Figure BDA0002149601080000031
映射为输出参数
Figure BDA0002149601080000032
其实现过程如下:
先判断输入使能信号是否有效,若有效,则每个时钟输出
Figure BDA0002149601080000033
若无效,则
Figure BDA0002149601080000034
进一步地,所述的步骤S23中,阵列1模块的PE2将输入参数
Figure BDA0002149601080000035
映射为输出参数
Figure BDA0002149601080000036
并定义内部寄存器Cv和C,其实现过程如下:
在工作使能信号上升沿时:
Figure BDA0002149601080000037
下降沿时:
Figure BDA0002149601080000038
Figure BDA0002149601080000039
根据Cv的状态在每个时钟上升沿进行不同的运算:
Figure BDA0002149601080000041
进一步地,所述的步骤S3、设计阵列2模块的过程如下:
S31、设计阵列2模块的输入输出端口;
S32、设计阵列2模块的PE3。
进一步地,所述的步骤S31中,每个阵列2模块有N个输入端口,每个输入端口有2个输入参数
Figure BDA0002149601080000042
N个输出端口,每个输出端口有1个输出参数
Figure BDA0002149601080000043
其实现过程如下:
在阵列1模块数据输入的第1个时钟,
Figure BDA0002149601080000044
输入第1列PE1的
Figure BDA0002149601080000045
Figure BDA0002149601080000046
输入第1行的PE1的
Figure BDA0002149601080000047
在第3个时钟,
Figure BDA0002149601080000048
输入第2列PE2的
Figure BDA0002149601080000049
输入第2行的PE2的
Figure BDA00021496010800000410
以此类推,直至第N行第N列输入完成;
输出
Figure BDA00021496010800000411
为PE2所需的对应的C值,在第2、4、6...个时钟输入进PE2的
Figure BDA00021496010800000412
同时
Figure BDA00021496010800000413
即为所求下三角矩阵L。
进一步地,所述的步骤S32中,阵列2模块的PE3根据输入参数
Figure BDA00021496010800000414
映射为输出参数
Figure BDA00021496010800000415
其实现过程如下:
对于输入参数
Figure BDA00021496010800000416
进一步地,所述的步骤S4、设计状态控制器模块的过程如下:
判断工作使能是否有效,若有效,进入状态1,若无效,
Figure BDA00021496010800000417
初始化为0,
Figure BDA00021496010800000418
初始化为1,阵列1模块的各列处理单元的工作使能初始化为无效;
进入状态1,使能第1列处理单元,即PE1;
进入状态2,阵列2模块各
Figure BDA00021496010800000419
分别输入第1列各行处理单元PE1的
Figure BDA00021496010800000420
输入第1列第1行处理单元PE1的
Figure BDA00021496010800000421
进入状态3,使能第2列处理单元,即PE2;
进入状态4,阵列2模块各
Figure BDA0002149601080000051
分别输入第2列各行处理单元PE2的
Figure BDA0002149601080000052
如阵列2模块的第2行
Figure BDA0002149601080000053
输入阵列1模块第2列第2行处理单元PE2的
Figure BDA0002149601080000054
第1行
Figure BDA0002149601080000055
无输入则默认为0;
Figure BDA0002149601080000056
输入第2列第2行处理单元PE2的
Figure BDA0002149601080000057
进入状态5,使能第3列处理单元,即PE2;
进入状态6,阵列2模块各
Figure BDA0002149601080000058
分别输入第3列各行处理单元PE2的
Figure BDA0002149601080000059
如阵列2模块的第3行
Figure BDA00021496010800000510
输入阵列1模块第3列第3行处理单元PE2的
Figure BDA00021496010800000511
第1、2行
Figure BDA00021496010800000512
无输入则默认为0;
Figure BDA00021496010800000513
输入第3列第3行处理单元PE2的
Figure BDA00021496010800000514
以此类推,直至第N列第N行处理完成,回到初始状态,等待工作使能信号。
本发明相对于现有技术具有如下的优点及效果:
1、本发明相较于传统的脉动阵列结构,将乘加器和除法器分离开,利用控制器控制数据交换,减少了硬件资源的使用,更方便数据的输出。
2、本发明设计的高维脉动阵列结构可兼容较低维的矩阵LU分解,可实现不同维数矩阵共用同一结构,避免重新设计结构。
3、本发明相较于传统的脉动阵列结构输入数据时不需进行特定排序,提高了并行化程度,减少控制器的复杂程度并缩短运算周期。
附图说明
图1是本发明中公开的脉动阵列总体结构示意图;
图2是本发明的输入输出时序示意图;
图3是本发明中脉动阵列结构阵列1模块的PE1示意图;
图4是本发明中脉动阵列结构阵列1模块的PE2示意图;
图5是本发明中脉动阵列结构阵列1模块的PE2内部结构简易图;
图6是本发明中脉动阵列结构阵列2模块的PE3示意图;
图7是本发明中状态控制器模块的控制逻辑顺序。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本实施例公开了一种用于LU分解的脉动阵列结构的实现方法,其中,脉动阵列结构包括阵列1模块、阵列2模块和状态控制器模块,其中:
阵列1模块,用于计算上三角矩阵U。将待计算矩阵并行输入阵列1模块的输入接口,无需对数据进行特定排序,每个时钟读取一列数据,进过2N个时钟后即可计算出上三角矩阵U。
阵列2模块,用于计算下三角矩阵L。通过状态控制器模块将阵列1模块产生的中间数据送入阵列2模块,与阵列1模块同步计算出下三角矩阵L。
状态控制器模块,用于控制阵列1模块和阵列2模块的中间数据交换,将阵列1模块的中间数据送入阵列2模块计算下三角矩阵L,并将阵列2模块的计算结果送入阵列1模块的PE2用于计算上三角矩阵U。
本实施例中阵列1模块,若作为待计算矩阵的A矩阵是N×N维的,则阵列1模块是一个N行N列的三角阵列,即第n列的处理单元比第n-1列在第n-1行处少一个,其中第1列处理单元PE1为延时单元,第2列至第N列处理单元PE2为乘加处理单元。
阵列1模块的输入输出:如图1和图2所示,每个阵列1模块有N个输入端口,每个输入端口有1个输入参数Xin,N个输出端口,每个输出端口有1个输出参数Xout,每个输入输出端口对应矩阵各行,其具体如下:
(1)当输入使能信号线置高后的第二个时钟开始,第一个时钟每个Xin对应输入a11、a21、...、aN1,第二个时钟每个Xin对应输入a12、a22、...、aN2,以此类推,直至整个矩阵输入完成。
(2)从数据开始输入开始,第一个时钟第1个Xout输出u11,第二个时钟第1、2个Xout输出u12、u21,第三个时钟第1、2、3个Xout输出u13、u22、u31,以此类推,直至整个上三角矩阵U输出完成。
阵列1模块PE1单元:如图3所示,PE1将输入参数
Figure BDA0002149601080000071
映射为输出参数
Figure BDA0002149601080000072
先判断输入使能信号是否有效,若有效,则每个时钟输出
Figure BDA0002149601080000073
若无效,则
Figure BDA0002149601080000074
阵列1模块PE2单元:如图4和图5所示,PE2将输入参数
Figure BDA0002149601080000075
映射为输出参数
Figure BDA0002149601080000076
并定义内部寄存器Cv和C,
在工作使能信号上升沿时:
Figure BDA0002149601080000077
下降沿时:
Figure BDA0002149601080000078
Figure BDA0002149601080000079
根据内部寄存器Cv的状态在每个时钟上升沿进行不同的运算:
Figure BDA00021496010800000710
本实施例中阵列2模块,若A矩阵是N×N维的,则阵列2模块是一个N行1列的条形阵列,其处理单元PE3为除法器。
阵列2模块的输入输出:如图1和图2所示,每个阵列2模块有N个输入端口,每个输入端口有2个输入参数
Figure BDA00021496010800000711
N个输出端口,每个输出端口有1个输出参数
Figure BDA0002149601080000081
其具体如下:
(1)在阵列1模块数据输入的第1个时钟,
Figure BDA0002149601080000082
输入第1列PE1的
Figure BDA0002149601080000083
输入第1行的PE1的
Figure BDA0002149601080000084
在第3个时钟,
Figure BDA0002149601080000085
输入第2列PE2的
Figure BDA0002149601080000086
输入第2行的PE2的
Figure BDA0002149601080000087
以此类推,直至第N行第N列输入完成。
(2)输出
Figure BDA0002149601080000088
为PE2所需的对应的C值,在第2、4、6...个时钟输入进PE2的
Figure BDA0002149601080000089
同时
Figure BDA00021496010800000810
即为所求下三角矩阵。
阵列2模块PE3单元:如图6所示,PE3根据输入参数
Figure BDA00021496010800000811
映射为输出参数
Figure BDA00021496010800000812
对于输入参数
Figure BDA00021496010800000813
阵列1和阵列2之间的数据交换和处理单元工作控制由状态控制器模块控制,其控制逻辑如图7所示。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种用于LU分解的脉动阵列结构的实现方法,该脉动阵列结构用于对N×N的输入矩阵A进行分解,其特征在于,所述的实现方法包括以下步骤:
S1、根据输入矩阵A的最大可能维数确定脉动阵列的维数及总体结构,总体结构包括阵列1模块、阵列2模块和状态控制器模块,其中,所述的阵列1模块用于计算上三角矩阵U,所述的阵列2模块用于计算下三角矩阵L,所述的状态控制器模块用于控制阵列1模块和阵列2模块的中间数据交换;
S2、设计阵列1模块,当输入矩阵A是N×N维,则阵列1模块是一个N行N列的三角阵列,即第n列的处理单元比第n-1列在第n-1行处少一个,n=1,2…,N,其中第1列处理单元为延时单元,记为PE1,其输入为
Figure FDA0003955939720000011
i=1,2…,N,输出为
Figure FDA0003955939720000012
第2列至第N列处理单元PE为乘加处理单元,记为PE2,其输入为
Figure FDA0003955939720000013
输出为
Figure FDA0003955939720000014
对于PE1,其输入
Figure FDA0003955939720000015
为矩阵的各行数据,第1行PE1输出
Figure FDA0003955939720000016
接第2列PE2的
Figure FDA0003955939720000017
第2行至第N行输出
Figure FDA0003955939720000018
接第2列PE2对应行数的
Figure FDA0003955939720000019
对于第n列PE2,其输入
Figure FDA00039559397200000110
由阵列2模块的输出数据提供,第n行第n列的PE2输出
Figure FDA00039559397200000111
接第n+1列各PE2的
Figure FDA00039559397200000112
第n+1行至第N行的第n列的PE2输出
Figure FDA00039559397200000113
接第n+1列对应行的PE2的
Figure FDA00039559397200000114
以此类推直至第N行第N列,其中第n行第n列的PE1和PE2的
Figure FDA00039559397200000115
Figure FDA00039559397200000116
即为计算得出的上三角矩阵U;
上述步骤S2、设计阵列1模块的过程如下:
S21、设计阵列1模块的输入输出端口;
步骤S21中,每个阵列1模块有N个输入端口,每个输入端口有1个输入参数Xin,N个输出端口,每个输出端口有1个输出参数Xout,每个输入输出端口对应矩阵各行,其实现过程如下:
当输入使能信号线置高后的第二个时钟开始,第一个时钟每个Xin对应输入a11、a21、...、aN1,第二个时钟每个Xin对应输入a12、a22、...、aN2,以此类推,直至整个矩阵输入完成;
从数据开始输入开始,第一个时钟第1个Xout输出u11,第二个时钟第1、2个Xout输出u12、u21,第三个时钟第1、2、3个Xout输出u13、u22、u31,以此类推,直至整个上三角矩阵U输出完成;
S22、设计阵列1模块的PE1;
S23、设计阵列1模块的PE2;
S3、设计阵列2模块,当输入矩阵A是N×N维,则阵列2模块是一个N行1列的条形阵列,其处理单元为除法器,记为PE3,每个PE3的输入参数
Figure FDA0003955939720000021
由状态控制器模块控制阵列1模块的中间数据输入,各行输出接对应行各列PE2的
Figure FDA0003955939720000022
S4、设计状态控制器模块,状态控制器模块根据阵列1模块中各列PE1和PE2的输出状态控制下一列PE工作与否,同时将阵列1模块的中间数据选择输入到阵列2模块的输入端口。
2.根据权利要求1所述的一种用于LU分解的脉动阵列结构的实现方法,其特征在于,所述的步骤S22中,阵列1模块的PE1将输入参数
Figure FDA0003955939720000028
映射为输出参数
Figure FDA0003955939720000023
其实现过程如下:
先判断输入使能信号是否有效,若有效,则每个时序
Figure FDA0003955939720000024
若无效,则
Figure FDA0003955939720000025
3.根据权利要求1所述的一种用于LU分解的脉动阵列结构的实现方法,其特征在于,所述的步骤S23中,阵列1模块的PE2将输入参数
Figure FDA0003955939720000026
映射为输出参数
Figure FDA0003955939720000027
并定义内部寄存器Cv和C,其实现过程如下:
在工作使能信号上升沿时:
Figure FDA0003955939720000031
下降沿时:
Figure FDA0003955939720000032
Figure FDA0003955939720000033
根据Cv的状态在每个时钟上升沿进行不同的运算:
Figure FDA0003955939720000034
4.根据权利要求1所述的一种用于LU分解的脉动阵列结构的实现方法,其特征在于,所述的步骤S3、设计阵列2模块的过程如下:
S31、设计阵列2模块的输入输出端口;
S32、设计阵列2模块的PE3。
5.根据权利要求4所述的一种用于LU分解的脉动阵列结构的实现方法,其特征在于,所述的步骤S31中,每个阵列2模块有N个输入端口,每个输入端口有2个输入参数
Figure FDA0003955939720000035
N个输出端口,每个输出端口有1个输出参数
Figure FDA0003955939720000036
其实现过程如下:
在阵列1模块数据输入的第1个时钟,
Figure FDA0003955939720000037
输入第1列PE1的
Figure FDA0003955939720000038
Figure FDA0003955939720000039
输入第1行的PE1的
Figure FDA00039559397200000310
在第3个时钟,
Figure FDA00039559397200000311
输入第2列PE2的
Figure FDA00039559397200000312
输入第2行的PE2的
Figure FDA00039559397200000313
以此类推,直至第N行第N列输入完成;
输出
Figure FDA00039559397200000314
为PE2所需的对应的C值,在第2、4、6...个时钟输入进PE2的
Figure FDA00039559397200000315
同时
Figure FDA00039559397200000316
即为所求下三角矩阵L。
6.根据权利要求4所述的一种用于LU分解的脉动阵列结构的实现方法,其特征在于,所述的步骤S32中,阵列2模块的PE3根据输入参数
Figure FDA00039559397200000317
映射为输出参数
Figure FDA00039559397200000318
其实现过程如下:
对于输入参数
Figure FDA0003955939720000041
7.根据权利要求1所述的一种用于LU分解的脉动阵列结构的实现方法,其特征在于,所述的步骤S4、设计状态控制器模块的过程如下:
判断工作使能是否有效,若有效,进入状态1,若无效,
Figure FDA0003955939720000042
初始化为0,
Figure FDA0003955939720000043
初始化为1,阵列1模块的各列处理单元的工作使能初始化为无效;
进入状态1,使能第1列处理单元,即PE1;
进入状态2,阵列2模块各
Figure FDA0003955939720000044
分别输入第1列各行处理单元PE1的
Figure FDA0003955939720000045
输入第1列第1行处理单元PE1的
Figure FDA0003955939720000046
进入状态3,使能第2列处理单元,即PE2;
进入状态4,阵列2模块各
Figure FDA0003955939720000047
分别输入第2列各行处理单元PE2的
Figure FDA0003955939720000048
如阵列2模块的第2行
Figure FDA0003955939720000049
输入阵列1模块第2列第2行处理单元PE2的
Figure FDA00039559397200000410
第1行
Figure FDA00039559397200000411
无输入则默认为0;
Figure FDA00039559397200000412
输入第2列第2行处理单元PE2的
Figure FDA00039559397200000413
进入状态5,使能第3列处理单元,即PE2;
进入状态6,阵列2模块各
Figure FDA00039559397200000414
分别输入第3列各行处理单元PE2的
Figure FDA00039559397200000415
如阵列2模块的第3行
Figure FDA00039559397200000416
输入阵列1模块第3列第3行处理单元PE2的
Figure FDA00039559397200000417
第1、2行
Figure FDA00039559397200000418
无输入则默认为0;
Figure FDA00039559397200000419
输入第3列第3行处理单元PE2的
Figure FDA00039559397200000420
以此类推,直至第N列第N行处理完成,回到初始状态,等待工作使能信号。
CN201910696826.9A 2019-07-30 2019-07-30 一种用于lu分解的脉动阵列结构的实现方法 Active CN110457648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910696826.9A CN110457648B (zh) 2019-07-30 2019-07-30 一种用于lu分解的脉动阵列结构的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910696826.9A CN110457648B (zh) 2019-07-30 2019-07-30 一种用于lu分解的脉动阵列结构的实现方法

Publications (2)

Publication Number Publication Date
CN110457648A CN110457648A (zh) 2019-11-15
CN110457648B true CN110457648B (zh) 2023-02-03

Family

ID=68484154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910696826.9A Active CN110457648B (zh) 2019-07-30 2019-07-30 一种用于lu分解的脉动阵列结构的实现方法

Country Status (1)

Country Link
CN (1) CN110457648B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115033843B (zh) * 2022-08-09 2022-11-08 之江实验室 基于三角脉动阵列的协方差矩阵计算的电路实现方法
CN116560733B (zh) * 2023-07-07 2023-10-24 中国兵器科学研究院 一种空间目标特征在轨实时并行lu分解计算系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176054A (ja) * 1992-12-07 1994-06-24 Fujitsu Ltd 行列分解装置
US5887186A (en) * 1994-03-31 1999-03-23 Fujitsu Limited Method of solving simultaneous linear equations in a memory-distributed parallel computer
CN101533387A (zh) * 2009-04-24 2009-09-16 西安电子科技大学 基于fpga的边角块稀疏矩阵并行lu分解器
US8443031B1 (en) * 2010-07-19 2013-05-14 Xilinx, Inc. Systolic array for cholesky decomposition
CN107341133A (zh) * 2017-06-24 2017-11-10 中国人民解放军信息工程大学 基于任意维数矩阵lu分解的可重构计算结构的调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331762B1 (en) * 2017-12-07 2019-06-25 International Business Machines Corporation Stream processing for LU decomposition

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176054A (ja) * 1992-12-07 1994-06-24 Fujitsu Ltd 行列分解装置
US5887186A (en) * 1994-03-31 1999-03-23 Fujitsu Limited Method of solving simultaneous linear equations in a memory-distributed parallel computer
CN101533387A (zh) * 2009-04-24 2009-09-16 西安电子科技大学 基于fpga的边角块稀疏矩阵并行lu分解器
US8443031B1 (en) * 2010-07-19 2013-05-14 Xilinx, Inc. Systolic array for cholesky decomposition
CN107341133A (zh) * 2017-06-24 2017-11-10 中国人民解放军信息工程大学 基于任意维数矩阵lu分解的可重构计算结构的调度方法

Also Published As

Publication number Publication date
CN110457648A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
EP3557485B1 (en) Method for accelerating operations and accelerator apparatus
US11386644B2 (en) Image preprocessing for generalized image processing
US10846591B2 (en) Configurable and programmable multi-core architecture with a specialized instruction set for embedded application based on neural networks
EP3557425B1 (en) Accelerator and system for accelerating operations
CN111897579B (zh) 图像数据处理方法、装置、计算机设备和存储介质
JP6700712B2 (ja) 畳み込み演算装置
Fischer Scaling limits for PDE-based simulation
Shen et al. Overcoming resource underutilization in spatial CNN accelerators
CN107341133B (zh) 基于任意维数矩阵lu分解的可重构计算结构的调度方法
CN111291323B (zh) 一种基于脉动阵列的矩阵乘法处理器及其数据处理方法
CN110457648B (zh) 一种用于lu分解的脉动阵列结构的实现方法
US11880426B2 (en) Integer matrix multiplication engine using pipelining
WO2020196407A1 (ja) 畳込み演算装置
Catthoor et al. Application-specific architectural methodologies for high-throughput digital signal and image processing
Liu et al. WinoCNN: Kernel sharing Winograd systolic array for efficient convolutional neural network acceleration on FPGAs
CN102662623A (zh) 基于单fpga的并行矩阵乘法器及其实现方法
CN101086699A (zh) 基于单fpga的矩阵乘法器装置
Huang et al. IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency
Chen et al. High-level synthesis algorithm for the design of reconfigurable constant multiplier
US20200167309A1 (en) Reconfigurable fabric configuration using spatial and temporal routing
Lee et al. Specializing cgras for light-weight convolutional neural networks
CN107368459B (zh) 基于任意维数矩阵乘法的可重构计算结构的调度方法
US20210200711A1 (en) System and Method for Configurable Systolic Array with Partial Read/Write
Tsmots et al. Methods and hardware to accelerate the work of a convolutional neural network
CN110673824A (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