浮点矩阵求逆的并行硬件架构和并行计算方法技术

技术编号:13896560 阅读:182 留言:0更新日期:2016-10-25 03:22
本发明专利技术实施例公开了浮点矩阵求逆的并行硬件架构,用于解决现有矩阵运算通过硬件实现时矩阵维数固定的问题。本发明专利技术实施例中一种浮点矩阵求逆的并行硬件架构包括:矩阵写入模块,用于将增广矩阵的矩阵数据写入第一存储器和第二存储器中,第一存储器和第二存储器为矩阵数据动态分配存储空间;初始主元定位模块,用于定位增广矩阵的初始主元行;行交换模块,用于将增广矩阵的首行与主元行进行交换;行消除模块,用于进行归一化和行消除计算,并定位下一主元行;触发模块,用于反复交替触发行交换模块和行消除模块,直到第一存储器中存储的待求逆矩阵成为单位矩阵时,输出第二存储器中的矩阵数据。本发明专利技术实施例还提供浮点矩阵求逆的并行计算方法。

【技术实现步骤摘要】

本专利技术涉及数字电路领域,尤其涉及浮点矩阵求逆的并行硬件架构和并行计算方法
技术介绍
矩阵运算是科学计算领域中的一个重要方面,科学计算中的核心问题往往是求解一系列大型线性方程组,这些线性方程组的求解是解决整个问题的基础和核心,其计算量占整个系统计算量的比重很高,而引入矩阵理论来处理和解决科学研究和工程技术上的方程组求解问题已经很普遍,不仅为矩阵理论和方法开辟了广阔的研究前景,也使科学与工程技术的研究发生新的变化,开拓新的研究途径。矩阵运算已成为众多学科领域的数学工具,它不仅在数值分析、最优化方法、数学模型等数学分支上有极其重要的应用,还在信号处理、图像处理、通信技术等科学领域中广泛应用。矩阵求逆是矩阵运算中重要的运算,如何有效的完成矩阵求逆也是数学领域的热点研究。目前大部分矩阵运算都是利用软件来实现,但是随着矩阵维数的增长,软件处理的速度也会大幅度变慢。矩阵运算的硬件实现能够充分发挥硬件的速度和并行性,目前公开的设计中大部分都是固定维数的矩阵运算,尚无法完成任意维矩阵的硬件实现,尤其是大规模的矩阵求逆的硬件设计。
技术实现思路
本专利技术实施例提供了浮点矩阵求逆的并行硬件架构和并行计算方法,能够解决现有矩阵运算通过硬件实现时矩阵维数固定的问题。本专利技术实施例提供的一种浮点矩阵求逆的并行硬件架构,包括:矩阵写入模块,用于将增广矩阵的矩阵数据写入第一存储器和第二存储器中,其中,所述第一存储器中写入所述增广矩阵中的待求逆矩阵,所述第二存储器中写入所述增广矩阵中的单位矩阵,所述第一存储器和第二存储器为所述矩阵数据动态分配存储空间;初始主元定位模块,用于定位所述增广矩阵的初始主元行;行交换模块,用于将所述增广矩阵的首行与主元行进行交换,第一次交
换时,所述主元行为所述初始主元行;行消除模块,用于对行交换后的所述增广矩阵进行归一化和行消除计算,并定位下一主元行;触发模块,用于反复交替触发所述行交换模块和行消除模块,直到所述第一存储器中存储的所述待求逆矩阵成为单位矩阵时,输出所述第二存储器中的矩阵数据。可选地,还包括动态存储分配模块,用于在所述矩阵写入模块将增广矩阵的矩阵数据写入第一存储器和第二存储器时,为所述矩阵数据动态分配存储空间;所述动态存储分配模块包括:行分配单元,用于根据所述矩阵数据的大小将存储空间划分为m个离散块,每块所述离散块存储一行矩阵数据,所述矩阵数据的大小为m*n;列分配单元,用于将每块所述离散块划分为个行地址空间,每个所述行地址空间存储Dp个浮点数,Dp等于运算的并行度。可选地,所述并行硬件架构还包括:存储重分配模块,用于若检测发现运算的并行度发生改变,则获取改变后的并行度,并重新为所述矩阵数据动态分配存储空间。可选地,所述初始主元定位模块包括:行首数据定位单元,用于在写入所述增广矩阵的矩阵数据时,定位所述增广矩阵每一行的首数据;主元行确定单元,用于比较每一行的所述首数据,确定所述首数据最大的所述增广矩阵的所在行为初始主元行。可选地,所述行消除模块包括:归一化单元,用于对行交换后的所述增广矩阵的主元行进行归一化;缓存单元,用于将归一化后的所述主元行的元素与主元所在列的元素分别缓存在两个第三存储器中;行消除计算单元,用于对所述主元行以外的所有行进行行消除计算;主元行重定位单元,用于重新定位行消除计算后的所述增广矩阵的主元行。本专利技术实施例提供的一种浮点矩阵求逆的并行计算方法,包括:步骤一、将增广矩阵的矩阵数据写入第一存储器和第二存储器中,其中,所述第一存储器中写入所述增广矩阵中的待求逆矩阵,所述第二存储器中写入所述增广矩阵中的单位矩阵,所述第一存储器和第二存储器为所述矩阵数据动态分配存储空间;步骤二、定位所述增广矩阵的初始主元行;步骤三、将所述增广矩阵的首行与主元行进行交换,第一次交换时,所述主元行为所述初始主元行;步骤四、对行交换后的所述增广矩阵进行归一化和行消除计算,并定位下一主元行;步骤五、反复交替执行所述步骤三和步骤四,直到所述第一存储器中存储的所述待求逆矩阵成为单位矩阵时,输出所述第二存储器中的矩阵数据。可选地,将增广矩阵的矩阵数据写入第一存储器和第二存储器时,为所述矩阵数据动态分配存储空间的方法具体包括:根据所述矩阵数据的大小将存储空间划分为m个离散块,每块所述离散块存储一行矩阵数据,所述矩阵数据的大小为m*n;将每块所述离散块划分为个行地址空间,每个所述行地址空间存储Dp个浮点数,Dp等于运算的并行度。可选地,所述并行计算方法还包括:若检测发现运算的并行度发生改变,则获取改变后的并行度,并重新为所述矩阵数据动态分配存储空间。可选地,所述定位所述增广矩阵的初始主元行具体包括:在写入所述增广矩阵的矩阵数据时,定位所述增广矩阵每一行的首数据;比较每一行的所述首数据,确定所述首数据最大的所述增广矩阵的所在行为初始主元行。可选地,对行交换后的所述增广矩阵进行归一化和行消除计算,并定位下一主元行具体包括:对行交换后的所述增广矩阵的主元行进行归一化;将归一化后的所述主元行的元素与主元所在列的元素分别缓存在两个第
三存储器中;对所述主元行以外的所有行进行行消除计算;重新定位行消除计算后的所述增广矩阵的主元行。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例中,一种浮点矩阵求逆的并行硬件架构包括:矩阵写入模块,用于将增广矩阵的矩阵数据写入第一存储器和第二存储器中,其中,所述第一存储器中写入所述增广矩阵中的待求逆矩阵,所述第二存储器中写入所述增广矩阵中的单位矩阵,所述第一存储器和第二存储器为所述矩阵数据动态分配存储空间;初始主元定位模块,用于定位所述增广矩阵的初始主元行;行交换模块,用于将所述增广矩阵的首行与主元行进行交换,第一次交换时,所述主元行为所述初始主元行;行消除模块,用于对行交换后的所述增广矩阵进行归一化和行消除计算,并定位下一主元行;触发模块,用于反复交替触发所述行交换模块和行消除模块,直到所述第一存储器中存储的所述待求逆矩阵成为单位矩阵时,输出所述第二存储器中的矩阵数据。在本专利技术实施例中,通过为矩阵数据动态分配存储空间,所述并行硬件构架适用任意维数的矩阵求逆,可以满足大规模的矩阵求逆要求,在不同维数的矩阵求逆之间无需更改硬件设置。同时,配合并行处理方式,可以实现任意维度矩阵的求逆处理,提高求逆运算的速度。附图说明图1为本专利技术实施例中一种浮点矩阵求逆的并行计算方法一个实施例流程图;图2为本专利技术实施例中一种浮点矩阵求逆的并行计算方法另一个实施例流程图;图3为本专利技术实施例中动态存储分配算法的原理示意图;图4为本专利技术实施例中一种浮点矩阵求逆的并行硬件架构一个实施例结构图;图5为本专利技术实施例中一种浮点矩阵求逆的并行硬件架构另一个实施例结构图;图6为本专利技术的一种浮点矩阵求逆的并行硬件架构一个应用场景下的结
构示意图;图7为本专利技术的一种浮点矩阵求逆的并行硬件架构的行消除模块一个应用场景下的原理示意图。具体实施方式本专利技术实施例提供了浮点矩阵求逆的并行硬件架构和并行计算方法,用于解决现有矩阵运算通过硬件实现时矩阵维数固定的问题。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描本文档来自技高网
...

【技术保护点】
一种浮点矩阵求逆的并行硬件架构,其特征在于,包括:矩阵写入模块,用于将增广矩阵的矩阵数据写入第一存储器和第二存储器中,其中,所述第一存储器中写入所述增广矩阵中的待求逆矩阵,所述第二存储器中写入所述增广矩阵中的单位矩阵,所述第一存储器和第二存储器为所述矩阵数据动态分配存储空间;初始主元定位模块,用于定位所述增广矩阵的初始主元行;行交换模块,用于将所述增广矩阵的首行与主元行进行交换,第一次交换时,所述主元行为所述初始主元行;行消除模块,用于对行交换后的所述增广矩阵进行归一化和行消除计算,并定位下一主元行;触发模块,用于反复交替触发所述行交换模块和行消除模块,直到所述第一存储器中存储的所述待求逆矩阵成为单位矩阵时,输出所述第二存储器中的矩阵数据。

【技术特征摘要】
1.一种浮点矩阵求逆的并行硬件架构,其特征在于,包括:矩阵写入模块,用于将增广矩阵的矩阵数据写入第一存储器和第二存储器中,其中,所述第一存储器中写入所述增广矩阵中的待求逆矩阵,所述第二存储器中写入所述增广矩阵中的单位矩阵,所述第一存储器和第二存储器为所述矩阵数据动态分配存储空间;初始主元定位模块,用于定位所述增广矩阵的初始主元行;行交换模块,用于将所述增广矩阵的首行与主元行进行交换,第一次交换时,所述主元行为所述初始主元行;行消除模块,用于对行交换后的所述增广矩阵进行归一化和行消除计算,并定位下一主元行;触发模块,用于反复交替触发所述行交换模块和行消除模块,直到所述第一存储器中存储的所述待求逆矩阵成为单位矩阵时,输出所述第二存储器中的矩阵数据。2.根据权利要求1所述的并行硬件架构,其特征在于,还包括动态存储分配模块,用于在所述矩阵写入模块将增广矩阵的矩阵数据写入第一存储器和第二存储器时,为所述矩阵数据动态分配存储空间;所述动态存储分配模块包括:行分配单元,用于根据所述矩阵数据的大小将存储空间划分为m个离散块,每块所述离散块存储一行矩阵数据,所述矩阵数据的大小为m*n;列分配单元,用于将每块所述离散块划分为个行地址空间,每个所述行地址空间存储Dp个浮点数,Dp等于运算的并行度。3.根据权利要求2所述的并行硬件架构,其特征在于,所述并行硬件架构还包括:存储重分配模块,用于若检测发现运算的并行度发生改变,则获取改变后的并行度,并重新为所述矩阵数据动态分配存储空间。4.根据权利要求1所述的并行硬件架构,其特征在于,所述初始主元定位模块包括:行首数据定位单元,用于在写入所述增广矩阵的矩阵数据时,定位所述增广矩阵每一行的首数据;主元行确定单元,用于比较每一行的所述首数据,确定所述首数据最大
\t的所述增广矩阵的所在行为初始主元行。5.根据权利要求1所述的并行硬件架构,其特征在于,所述行消除模块包括:归一化单元,用于对行交换后的所述增广矩阵的主元行进行归一化;缓存单元,用于将归一化后的所述主元行的元素与主元所在列的元素分别缓存在两个第三存储器中;行消除计算单元,用于对...

【专利技术属性】
技术研发人员:辛遥梁添才龚文川刘道余
申请(专利权)人:广州广电运通金融电子股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1