CN112035795A - Cholesky分解算法运算级流水线硬件加速方法 - Google Patents

Cholesky分解算法运算级流水线硬件加速方法 Download PDF

Info

Publication number
CN112035795A
CN112035795A CN202010929259.XA CN202010929259A CN112035795A CN 112035795 A CN112035795 A CN 112035795A CN 202010929259 A CN202010929259 A CN 202010929259A CN 112035795 A CN112035795 A CN 112035795A
Authority
CN
China
Prior art keywords
matrix
column
calculation
module
calculated
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.)
Pending
Application number
CN202010929259.XA
Other languages
English (en)
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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN202010929259.XA priority Critical patent/CN112035795A/zh
Publication of CN112035795A publication Critical patent/CN112035795A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Nonlinear Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

Cholesky分解算法运算级流水线硬件加速方法,涉及Cholesky分解算法领域。解决了如何对Cholesky分解算法进行加速计算的问题。本发明加速方法是基于FPGA实现的,利用FPGA对对称正定矩阵A进行Cholesky分解,使对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算,获得矩阵L中待计算元素,完成对矩阵L的运算,实现对对称正定矩阵A的Cholesky分解。本发明主要用于对Cholesky分解算法进行加速。

Description

Cholesky分解算法运算级流水线硬件加速方法
技术领域
本发明涉及Cholesky分解算法领域,特别涉及一种借助现场可编程门阵列(FieldProgrammable Gate Array,FPGA)实现浮点数矩阵Cholesky分解算法硬件加速的方法。
背景技术
假设矩阵A为对称正定矩阵,则A=LLT称为矩阵A的Cholesky分解,其中矩阵L为具有正对角线元素的下三角矩阵,即:
Figure BDA0002669610790000011
Cholesky分解算法的一种伪代码如下:
Figure BDA0002669610790000012
式中,n为待分解矩阵维度,A为待分解矩阵,L为对矩阵A进行Cholesky分解得到的下三角将矩阵。
Cholesky分解算法计算规则如图1所示:对于某一列来说,只有该列的第一个元素被计算出来后,其后的所有元素才可被计算;对于某一行来说,只有其前序所有元素被计算出来,此行中某一列的元素才可被计算出来。这样的规则决定了我们一般是从上到下、从左往右去计算下三角矩阵中的各个元素。
Cholesky分解算法在很多领域有着广泛的应用,尤其是机器人同步定位与建图领域,UKF-Slam(无迹卡尔曼滤波)算法中涉及到大维度浮点数矩阵的Cholesky分解。研究表明维数为n×n的矩阵Cholesky分解算法的运算量为O(n3/6)。因此,大维度浮点数矩阵的Cholesky分解算法的运算量很大。若Cholesky分解算法在CPU中进行,采用串行计算的方法,将消耗大量时间。因此,如何对大维度浮点数矩阵Cholesky分解算法进行加速计算,以上问题急需解决。
发明内容
本发明目的是为了解决如何对Cholesky分解算法进行加速计算的问题,提供了一种Cholesky分解算法运算级流水线硬件加速方法。
Cholesky分解算法运算级流水线硬件加速方法,该加速方法是基于FPGA实现的,利用FPGA对对称正定矩阵A进行Cholesky分解,使对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算,获得矩阵L中待计算元素,完成对矩阵L的运算,实现对对称正定矩阵A的Cholesky分解;
所述矩阵L为下三角矩阵,矩阵L的主对角线元素及其下方元素为待计算元素;
矩阵L和对称正定矩阵A的维数相同,且二者中的元素全为浮点数。
优选的是,矩阵L为n×n的矩阵,矩阵L中待计算元素个数为m;
Figure BDA0002669610790000021
n和m均为整数;
FPGA包括多个计算模块,所有计算模块的个数与所有待计算元素的个数相同,均为m;
m个计算模块分别用于对矩阵L中m个待计算元素进行计算,每个计算模块对应一个计算公式,m个计算模块之间存在数据通讯关系,从而实现FPGA对矩阵L的每一列中由上至下,除最上方一个待计算元素外,剩余的多个待计算元素同步输出。
优选的是,对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算的规则为:
对于矩阵L的某一列来说,只有该列的第一个元素被计算出来后,该列其后的所有元素才能被计算出来;
对于矩阵L的某一行来说,只有其前序所有元素被计算出来,此行中某一列的元素才能被计算出来。
优选的是,当矩阵L为4×4的矩阵时,所述FPGA包括第一至第十计算模块;
所述利用FPGA对对称正定矩阵A进行Cholesky分解,使对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算,获得矩阵L中待计算元素,完成对矩阵L的运算的具体过程为:
首先、使第一至第十计算模块依次从DDR内存中读取对称正定矩阵A中的数据A11、A21、A31、A41、A22、A32、A42、A33、A43和A44
其中,A11为对称正定矩阵A中1行第1列的元素;
A21为对称正定矩阵A中2行第1列的元素;
A31为对称正定矩阵A中3行第1列的元素;
A41为对称正定矩阵A中4行第1列的元素;
A22为对称正定矩阵A中2行第2列的元素;
A32为对称正定矩阵A中3行第2列的元素;
A42为对称正定矩阵A中4行第2列的元素;
A33为对称正定矩阵A中3行第3列的元素;
A43为对称正定矩阵A中4行第3列的元素;
A44为对称正定矩阵A中4行第4列的元素;
第一计算模块,用于根据接收的数据A11进行运算获得l11,并将获得的l11同时发送至第二至第四运算模块;其中,l11为矩阵L中第1行第1列的元素;
第二计算模块,用于根据接收的数据l11和A21进行运算获得l21,并将获得的l21同时发送至第五至第七运算模块;其中,l21为矩阵L中第2行第1列的元素;
第三计算模块,用于根据接收的数据l11和A31进行运算获得l31,并将获得的l31发送至第六、第八和第九运算模块;其中,l31为矩阵L中第3行第1列的元素;
第四计算模块,用于根据接收的数据l11和A41进行运算获得l41,并将获得的l41发送至第七、第九和第十运算模块;其中,l41为矩阵L中第4行第1列的元素;
第五计算模块,用于根据接收的数据l21和A22进行运算获得l22,并将获得的l22发送至第六和第七运算模块;其中,l22为矩阵L中第2行第2列的元素;
第六计算模块,用于根据接收的数据l21、l31、l22和A32进行运算获得l32,并将获得的l32发送至第八和第九运算模块;其中,l32为矩阵L中第3行第2列的元素;
第七计算模块,用于根据接收的数据l21、l41、l22和A42进行运算获得l42,并将获得的l42发送至第九和第十运算模块;其中,l42为矩阵L中第4行第2列的元素;
第八计算模块,用于根据接收的数据l31、l32和A33进行运算获得l33,并将获得的l33发送至第九和第十运算模块;其中,l33为矩阵L中第3行第3列的元素;
第九计算模块,用于根据接收的数据l31、l41、l32、l42、l33和A43进行运算获得l43;其中,l43为矩阵L中第4行第3列的元素;
第十计算模块,用于根据接收的数据l41、l42、l33和A44进行运算获得l44;其中,l44为矩阵L中第4行第4列的元素;
其次,l11、l21、l22、l31、l32、l33、l41、l42、l43和l44为矩阵L中的10个待计算元素,根据l11、l21、l22、l31、l32、l33、l41、l42、l43和l44完成对矩阵L的运算;其中,
Figure BDA0002669610790000041
优选的是,FPGA还包括接口模块,第一至第十计算模块通过接口模块与CPU的DDR内存实现通讯。
优选的是,接口模块为AXI协议的接口。
优选的是,第二至第四计算模块的运算方式相同;第六和第七计算模块的运算方式相同。
本发明的优点:通过借助FPGA,使浮点数矩阵的Cholesky分解算法在FPGA中实现,且以并行的计算方式进行计算,从而提高了计算速度。本发明脱离了现有技术中浮点数矩阵的Cholesky分解算法完全依赖于CPU实现的计算方式,避免了占用过多的CPU计算资源与硬件存储资源;避免了Cholesky分解算法在CPU中进行,采用串行计算的方法,将消耗大量时间的问题,且与传统硬件实现矩阵的Cholesky分解算法相比较,本发明实现的算法简单,由运算器直接进行互联,没有复杂的时序控制。
附图说明
图1是对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算的规则示意图。;
图2是FPGA的原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本实施方式所述的Cholesky分解算法运算级流水线硬件加速方法,该加速方法是基于FPGA实现的,利用FPGA对对称正定矩阵A进行Cholesky分解,使对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算,获得矩阵L中待计算元素,完成对矩阵L的运算,实现对对称正定矩阵A的Cholesky分解;
所述矩阵L为下三角矩阵,矩阵L的主对角线元素及其下方元素为待计算元素;
矩阵L和对称正定矩阵A的维数相同,且二者中的元素全为浮点数。
本实施方式中,通过借助FPGA,使浮点数矩阵的Cholesky分解算法在FPGA中实现,且以并行的计算方式进行计算,从而提高了计算速度。本发明脱离了现有技术中浮点数矩阵的Cholesky分解算法完全依赖于CPU实现的计算方式,避免了占用过多的CPU计算资源与硬件存储资源。
进一步的,矩阵L为n×n的矩阵,矩阵L中待计算元素个数为m;
Figure BDA0002669610790000051
n和m均为整数;
FPGA包括多个计算模块,所有计算模块的个数与所有待计算元素的个数相同,均为m;
m个计算模块分别用于对矩阵L中m个待计算元素进行计算,每个计算模块对应一个计算公式,m个计算模块之间存在数据通讯关系,从而实现FPGA对矩阵L的每一列中由上至下,除最上方一个待计算元素外,剩余的多个待计算元素同步输出。
本优选实施方式中,本发明所述的Cholesky分解算法运算级流水线硬件加速方法与传统硬件实现矩阵的Cholesky分解算法相比较,本发明实现的算法简单,由计算模块之间直接进行互联,没有复杂的时序控制。
更进一步的,具体参见图1,对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算的规则为:
对于矩阵L的某一列来说,只有该列的第一个元素被计算出来后,该列其后的所有元素才能被计算出来;
对于矩阵L的某一行来说,只有其前序所有元素被计算出来,此行中某一列的元素才能被计算出来。
更进一步的,具体参见图2,当矩阵L为4×4的矩阵时,所述FPGA包括第一至第十计算模块;
所述利用FPGA对对称正定矩阵A进行Cholesky分解,使对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算,获得矩阵L中待计算元素,完成对矩阵L的运算的具体过程为:
首先、使第一至第十计算模块依次从DDR内存中读取对称正定矩阵A中的数据A11、A21、A31、A41、A22、A32、A42、A33、A43和A44
其中,A11为对称正定矩阵A中1行第1列的元素;
A21为对称正定矩阵A中2行第1列的元素;
A31为对称正定矩阵A中3行第1列的元素;
A41为对称正定矩阵A中4行第1列的元素;
A22为对称正定矩阵A中2行第2列的元素;
A32为对称正定矩阵A中3行第2列的元素;
A42为对称正定矩阵A中4行第2列的元素;
A33为对称正定矩阵A中3行第3列的元素;
A43为对称正定矩阵A中4行第3列的元素;
A44为对称正定矩阵A中4行第4列的元素;
第一计算模块,用于根据接收的数据A11进行运算获得l11,并将获得的l11同时发送至第二至第四运算模块;其中,l11为矩阵L中第1行第1列的元素;
第二计算模块,用于根据接收的数据l11和A21进行运算获得l21,并将获得的l21同时发送至第五至第七运算模块;其中,l21为矩阵L中第2行第1列的元素;
第三计算模块,用于根据接收的数据l11和A31进行运算获得l31,并将获得的l31发送至第六、第八和第九运算模块;其中,l31为矩阵L中第3行第1列的元素;
第四计算模块,用于根据接收的数据l11和A41进行运算获得l41,并将获得的l41发送至第七、第九和第十运算模块;其中,l41为矩阵L中第4行第1列的元素;
第五计算模块,用于根据接收的数据l21和A22进行运算获得l22,并将获得的l22发送至第六和第七运算模块;其中,l22为矩阵L中第2行第2列的元素;
第六计算模块,用于根据接收的数据l21、l31、l22和A32进行运算获得l32,并将获得的l32发送至第八和第九运算模块;其中,l32为矩阵L中第3行第2列的元素;
第七计算模块,用于根据接收的数据l21、l41、l22和A42进行运算获得l42,并将获得的l42发送至第九和第十运算模块;其中,l42为矩阵L中第4行第2列的元素;
第八计算模块,用于根据接收的数据l31、l32和A33进行运算获得l33,并将获得的l33发送至第九和第十运算模块;其中,l33为矩阵L中第3行第3列的元素;
第九计算模块,用于根据接收的数据l31、l41、l32、l42、l33和A43进行运算获得l43;其中,l43为矩阵L中第4行第3列的元素;
第十计算模块,用于根据接收的数据l41、l42、l33和A44进行运算获得l44;其中,l44为矩阵L中第4行第4列的元素;
其次,l11、l21、l22、l31、l32、l33、l41、l42、l43和l44为矩阵L中的10个待计算元素,根据l11、l21、l22、l31、l32、l33、l41、l42、l43和l44完成对矩阵L的运算;其中,
Figure BDA0002669610790000081
本优选实施方式中,本发明所述的Cholesky分解算法运算级流水线硬件加速方法与传统硬件实现矩阵的Cholesky分解算法相比较,本发明实现的算法简单,由计算模块之间直接进行互联,没有复杂的时序控制。通过计算模块之间的互联方式构建运算模型实现并行的计算方式进行计算。
对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算的规则为:
以矩阵L第一列的4个元素l11、l21、l31和l41为例进行说明,只有该列的第一个元素l11被计算出来后,该列其后的所有元素l21、l31和l41才能被计算出来;即:对于矩阵L的某一列来说,只有该列的第一个元素被计算出来后,该列其后的所有元素才能被计算出来;
以矩阵L第三行中的三个元素l31、l32、l33为例进行说明,若要求取l32,必须先计算出l31,才能实现对l32的求取,若要求取l33,必须先计算出l31和l32,才能实现对l33的求取。即:对于矩阵L的某一行来说,只有其前序所有元素被计算出来,此行中某一列的元素才能被计算出来。
更进一步的,FPGA还包括接口模块,第一至第十计算模块通过接口模块与DDR内存实现通讯。
更进一步的,接口模块为AXI协议的接口。
更进一步的,第二至第四计算模块的运算方式相同;第六和第七计算模块的运算方式相同。
如图1所示,本实施方式中得到了矩阵Cholesky分解算法计算规则:对于某一列来说,只有该列的第一个元素被计算出来后,其后的所有元素才可被计算;对于某一行来说,只有其前序所有元素被计算出来,此行中某一列的元素才可被计算出来。
本实施方式中分析了Cholesky分解算法的计算规则,得到了下三角矩阵L的元素计算顺序,矩阵L的正对角线元素的下三角矩阵中各元素的计算方式为固定,其计算方式及顺序为:
(1)
Figure BDA0002669610790000091
(2)
Figure BDA0002669610790000092
(3)
Figure BDA0002669610790000093
(4)
Figure BDA0002669610790000094
(5)
Figure BDA0002669610790000095
(6)
Figure BDA0002669610790000096
(7)
Figure BDA0002669610790000097
(8)……
由于矩阵L中每个元素的计算公式是固定的,根据其每个元素的运算方式,搭建相应的硬件结构,实现相应运算模块的功能,例如:获取l11的过程,只需对A11进行开根号,则求取l11的运算模块需要使用根号器;获取l21的过程,
Figure BDA0002669610790000098
故求取l21的运算模块需要使用除法器;通过搭建各运算模块之间的连接关系,使矩阵L的每一列中由上至下,除最上方一个待计算元素外,剩余的多个待计算元素同步输出;例如矩阵
Figure BDA0002669610790000099
中第一列的4个元素,由上至下依次为l11、l21、l31和l41;先获得l11,当l11获得完成后,根据l11,可同步计算出l21、l31和l41,实现数据的并行计算,解决了现有技术中串行计算的方式,必须依次计算l11、l21、l31和l41,才能获得一列元素,本发明的整个并行运算的方式,提高了Cholesky分解算法的解算速度。
虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其他所述实施例中。

Claims (7)

1.Cholesky分解算法运算级流水线硬件加速方法,其特征在于,该加速方法是基于FPGA实现的,利用FPGA对对称正定矩阵A进行Cholesky分解,使对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算,获得矩阵L中待计算元素,完成对矩阵L的运算,实现对对称正定矩阵A的Cholesky分解;
所述矩阵L为下三角矩阵,矩阵L的主对角线元素及其下方元素为待计算元素;
矩阵L和对称正定矩阵A的维数相同,且二者中的元素全为浮点数。
2.根据权利要求1所述的Cholesky分解算法运算级流水线硬件加速方法,其特征在于,矩阵L为n×n的矩阵,矩阵L中待计算元素个数为m;
Figure FDA0002669610780000011
n和m均为整数;
FPGA包括多个计算模块,所有计算模块的个数与所有待计算元素的个数相同,均为m;
m个计算模块分别用于对矩阵L中m个待计算元素进行计算,每个计算模块对应一个计算公式,m个计算模块之间存在数据通讯关系,从而实现FPGA对矩阵L的每一列中由上至下,除最上方一个待计算元素外,剩余的多个待计算元素同步输出。
3.根据权利要求1所述的Cholesky分解算法运算级流水线硬件加速方法,其特征在于,对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算的规则为:
对于矩阵L的某一列来说,只有该列的第一个元素被计算出来后,该列其后的所有元素才能被计算出来;
对于矩阵L的某一行来说,只有其前序所有元素被计算出来,此行中某一列的元素才能被计算出来。
4.根据权利要求1或2所述的Cholesky分解算法运算级流水线硬件加速方法,其特征在于,当矩阵L为4×4的矩阵时,所述FPGA包括第一至第十计算模块;
所述利用FPGA对对称正定矩阵A进行Cholesky分解,使对称正定矩阵A的Cholesky分解矩阵L以并行运算的方式计算,获得矩阵L中待计算元素,完成对矩阵L的运算的具体过程为:
首先、使第一至第十计算模块依次从DDR内存中读取对称正定矩阵A中的数据A11、A21、A31、A41、A22、A32、A42、A33、A43和A44
其中,A11为对称正定矩阵A中1行第1列的元素;
A21为对称正定矩阵A中2行第1列的元素;
A31为对称正定矩阵A中3行第1列的元素;
A41为对称正定矩阵A中4行第1列的元素;
A22为对称正定矩阵A中2行第2列的元素;
A32为对称正定矩阵A中3行第2列的元素;
A42为对称正定矩阵A中4行第2列的元素;
A33为对称正定矩阵A中3行第3列的元素;
A43为对称正定矩阵A中4行第3列的元素;
A44为对称正定矩阵A中4行第4列的元素;
第一计算模块,用于根据接收的数据A11进行运算获得l11,并将获得的l11同时发送至第二至第四运算模块;其中,l11为矩阵L中第1行第1列的元素;
第二计算模块,用于根据接收的数据l11和A21进行运算获得l21,并将获得的l21同时发送至第五至第七运算模块;其中,l21为矩阵L中第2行第1列的元素;
第三计算模块,用于根据接收的数据l11和A31进行运算获得l31,并将获得的l31发送至第六、第八和第九运算模块;其中,l31为矩阵L中第3行第1列的元素;
第四计算模块,用于根据接收的数据l11和A41进行运算获得l41,并将获得的l41发送至第七、第九和第十运算模块;其中,l41为矩阵L中第4行第1列的元素;
第五计算模块,用于根据接收的数据l21和A22进行运算获得l22,并将获得的l22发送至第六和第七运算模块;其中,l22为矩阵L中第2行第2列的元素;
第六计算模块,用于根据接收的数据l21、l31、l22和A32进行运算获得l32,并将获得的l32发送至第八和第九运算模块;其中,l32为矩阵L中第3行第2列的元素;
第七计算模块,用于根据接收的数据l21、l41、l22和A42进行运算获得l42,并将获得的l42发送至第九和第十运算模块;其中,l42为矩阵L中第4行第2列的元素;
第八计算模块,用于根据接收的数据l31、l32和A33进行运算获得l33,并将获得的l33发送至第九和第十运算模块;其中,l33为矩阵L中第3行第3列的元素;
第九计算模块,用于根据接收的数据l31、l41、l32、l42、l33和A43进行运算获得l43;其中,l43为矩阵L中第4行第3列的元素;
第十计算模块,用于根据接收的数据l41、l42、l33和A44进行运算获得l44;其中,l44为矩阵L中第4行第4列的元素;
其次,l11、l21、l22、l31、l32、l33、l41、l42、l43和l44为矩阵L中的10个待计算元素,根据l11、l21、l22、l31、l32、l33、l41、l42、l43和l44完成对矩阵L的运算;其中,
Figure FDA0002669610780000031
5.根据权利要求4所述的Cholesky分解算法运算级流水线硬件加速方法,其特征在于,FPGA还包括接口模块,第一至第十计算模块通过接口模块与CPU的DDR内存实现通讯。
6.根据权利要求4所述的Cholesky分解算法运算级流水线硬件加速方法,其特征在于,接口模块为AXI协议的接口。
7.根据权利要求4所述的Cholesky分解算法运算级流水线硬件加速方法,其特征在于,第二至第四计算模块的运算方式相同;第六和第七计算模块的运算方式相同。
CN202010929259.XA 2020-09-07 2020-09-07 Cholesky分解算法运算级流水线硬件加速方法 Pending CN112035795A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010929259.XA CN112035795A (zh) 2020-09-07 2020-09-07 Cholesky分解算法运算级流水线硬件加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010929259.XA CN112035795A (zh) 2020-09-07 2020-09-07 Cholesky分解算法运算级流水线硬件加速方法

Publications (1)

Publication Number Publication Date
CN112035795A true CN112035795A (zh) 2020-12-04

Family

ID=73585054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010929259.XA Pending CN112035795A (zh) 2020-09-07 2020-09-07 Cholesky分解算法运算级流水线硬件加速方法

Country Status (1)

Country Link
CN (1) CN112035795A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662730A (zh) * 2023-08-02 2023-08-29 之江实验室 一种基于FPGA的Cholesky分解计算加速系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783060A (zh) * 2004-11-26 2006-06-07 北京天碁科技有限公司 乔列斯基分解算法装置
CN102662917A (zh) * 2012-04-28 2012-09-12 电子科技大学 正定Hermite矩阵Cholesky分解高速脉动阵列的设计方法
CN104794102A (zh) * 2015-05-14 2015-07-22 哈尔滨工业大学 一种加速实现Cholesky分解的嵌入式片上系统
CN108733627A (zh) * 2018-04-30 2018-11-02 南京大学 一种正定矩阵Cholesky分解的FPGA实现方法
CN109635241A (zh) * 2018-12-17 2019-04-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 求解对称或厄密对称正定矩阵逆矩阵方法
CN110598271A (zh) * 2019-08-22 2019-12-20 中国电子科技集团公司第二十九研究所 一种基于fpga实现4辅助天线slc功能的系统及方法
CN111401471A (zh) * 2020-04-08 2020-07-10 中国人民解放军国防科技大学 一种航天器姿态异常检测方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783060A (zh) * 2004-11-26 2006-06-07 北京天碁科技有限公司 乔列斯基分解算法装置
CN102662917A (zh) * 2012-04-28 2012-09-12 电子科技大学 正定Hermite矩阵Cholesky分解高速脉动阵列的设计方法
CN104794102A (zh) * 2015-05-14 2015-07-22 哈尔滨工业大学 一种加速实现Cholesky分解的嵌入式片上系统
CN108733627A (zh) * 2018-04-30 2018-11-02 南京大学 一种正定矩阵Cholesky分解的FPGA实现方法
CN109635241A (zh) * 2018-12-17 2019-04-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 求解对称或厄密对称正定矩阵逆矩阵方法
CN110598271A (zh) * 2019-08-22 2019-12-20 中国电子科技集团公司第二十九研究所 一种基于fpga实现4辅助天线slc功能的系统及方法
CN111401471A (zh) * 2020-04-08 2020-07-10 中国人民解放军国防科技大学 一种航天器姿态异常检测方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MASLENNIKOW O. 等: "Parallel implementation of Cholesky LL T-algorithm in FPGA-based processor", 《INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING AND APPLIED MATHEMATICS》 *
仲雪洁: "典型矩阵分解的FPGA计算方法研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662730A (zh) * 2023-08-02 2023-08-29 之江实验室 一种基于FPGA的Cholesky分解计算加速系统
CN116662730B (zh) * 2023-08-02 2023-10-20 之江实验室 一种基于FPGA的Cholesky分解计算加速系统

Similar Documents

Publication Publication Date Title
US10459876B2 (en) Performing concurrent operations in a processing element
WO2020151129A1 (zh) 量子机器学习框架构建方法、装置、量子计算机及计算机存储介质
CN105760135B (zh) 使用紧凑的运算处理元件进行处理的计算设备
US20230026006A1 (en) Convolution computation engine, artificial intelligence chip, and data processing method
CN103970720B (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
Fisher Systolic algorithms for running order statistics in signal and image processing
CN105589677A (zh) 一种基于fpga的脉动结构矩阵乘法器及其实现方法
CN104008420A (zh) 一种基于自动编码机的分布式离群点检测方法及系统
CN112906865B (zh) 神经网络架构搜索方法、装置、电子设备及存储介质
CN109284824A (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
Vassiliadis et al. Elementary function generators for neural-network emulators
CN112035795A (zh) Cholesky分解算法运算级流水线硬件加速方法
US9933998B2 (en) Methods and apparatuses for performing multiplication
WO2020073795A1 (zh) 矩阵转置装置及方法、显示装置
CN117131834A (zh) 芯片设计重组方法、电子设备和介质
CN110890120B (zh) 基于阻变存储器的通用区块链应用处理加速方法及系统
CN110457648B (zh) 一种用于lu分解的脉动阵列结构的实现方法
Qu et al. Copula density estimation by finite mixture of parametric copula densities
CN109614367A (zh) 一种改进的dnd算法及其基于fpga的实现方法
CN113988277A (zh) 用于存算一体芯片的神经网络映射方法、装置、设备
CN113407258A (zh) 一种存算一体架构的自适应资源配置布局布线方法及系统
CN111291529A (zh) 一种基于多阶段模拟退火的静态异构可重构阵列布局方法
Chen et al. H-RIS: Hybrid computing-in-memory architecture exploring repetitive input sharing
Alnuweiri A new class of optimal bounded-degree VLSI sorting networks
Shah et al. Computing real numbers using DNA self-assembly

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201204

RJ01 Rejection of invention patent application after publication