[发明专利]一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统有效
申请号: | 202010486502.5 | 申请日: | 2020-06-01 |
公开(公告)号: | CN111723336B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 李丽;徐瑾;傅玉祥;陈铠;蒋林 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F3/06;G06F12/02 |
代理公司: | 南京泰普专利代理事务所(普通合伙) 32360 | 代理人: | 张磊 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 循环 方式 基于 cholesky 分解 任意 矩阵 硬件加速 系统 | ||
本发明提出了一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,包括DSP核,外部DDR存储器,AXI接口,主控制器、双DMA控制器、SRAM存储器、PE运算阵列及矩阵求逆运算模块;所述矩阵求逆模块包括cholesky分解,三角矩阵求逆和三角矩阵乘法三个子运算模块,三个子模块使用相同的数据存储方式;采用循环迭代的方法代替传统的乘累加计算,求解cholesky分解的结果以及三角矩阵的逆矩阵,降低了读写数据时的寻址复杂度;采用一种适用于三角矩阵的新型矩阵乘法算法,缩短了矩阵乘法的计算时间;本发明支持4至256阶中任意阶数复数矩阵的求逆运算,具有硬件复杂度低,存储资源利用率高的特点,实现了高阶高性能的设计目标。
技术领域
本发明涉及矩阵求逆算法,具体涉及一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统。
背景技术
现代科技发展所产生的数据正呈现爆炸式增长趋势,对密集型计算的性能要求也越来越高。矩阵运算作为密集型计算的核心环节,其运算性能基本决定了系统总体性能。矩阵求逆作为一种典型的矩阵运算,支持高性能和高阶矩阵求逆的需求也渐渐显现。
作为计算与访存密集型运算,矩阵求逆算法包含大量的运算过程。随着矩阵规模的增加,矩阵求逆的计算量和时空复杂度将大幅增加,数据搬运所耗时间更长。在这种情况下,软件实现矩阵求逆在实时工作中的表现很差,因此有研究人员将注意力转移到FPGA(现场可编程门阵列)的优化上。FPGA主要依靠查找表进行计算,它的粒度很细,大量资源用于可配置的片上路由和布线,导致计算资源的利用率较低。因此,在FPGA上实现的矩阵求逆计算效率仍然不高。
为了进一步提高算法的性能,一些研究者通过ASIC硬件加速器来实现矩阵求逆,利用硬件并行计算的优势提高计算效率。在传统的cholesky分解中,矩阵L中的元素可通过以下递归式获得:
该算法直接利用公式进行cholesky分解,需要乘累加单元,资源消耗大,计算和寻址复杂度也较高,三角矩阵求逆计算过程同样需要乘累加计算以及复杂的寻址方式。受硬件资源限制,目前相关的研究成果多数是针对特定阶数或阶数较小的矩阵进行求逆。而支持任意阶数矩阵求逆的硬件实现很少,而且大多数现有的矩阵求逆过程在矩阵乘法步骤中消耗过多时间,因此有必要对传统实现进行优化,降低硬件复杂度,并根据三角矩阵的特点设计矩阵乘法模块,提高矩阵求逆的效率。
发明内容
本发明的目的在于克服以上现有技术不足,提供一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,该系统使用循环迭代方式,简化运算和寻址过程,从而有效降低了矩阵求逆的硬件复杂度;采用三角矩阵乘法,有效缩短运算时间;三种子算法以相同的方式存储数据,提高了存储空间利用率;最终可以实现4到256阶中任意阶数的复数矩阵求逆运算,具体由以下技术方案实现:
所述采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,包括DSP核,外部DDR存储器,AXI接口,主控制器、双DMA控制器、SRAM存储器、PE运算阵列以及矩阵求逆加速核。
在进一步的实施例中,所述采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统的进一步设计在于,采用双端口的SRAM,一共包含129个BANK,每一个BANK是一块独立的存储单元,一个端口进行读数据的同时,另一个端口可以写数据;在本发明中,BANK0~63用于PE读,AXI写源数据;BANK65~96用于PE读、写中间结果,AXI不写;BANK97~128用于PE写、AXI读结果数据;PE和AXI不同时进行读或写,最终可以实现存储单元的并行无冲突访存。
在进一步的实施例中,所述采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统的进一步设计在于,cholesky分解和三角矩阵求逆的结果都存放在中间结果BANK当中,三个子算法的存储空间可以共享,支持对同一个BANK同时读取和写入,提高了存储资源的利用率和数据访存效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010486502.5/2.html,转载请声明来源钻瓜专利网。