[发明专利]一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统有效
申请号: | 202010486502.5 | 申请日: | 2020-06-01 |
公开(公告)号: | CN111723336B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 李丽;徐瑾;傅玉祥;陈铠;蒋林 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F3/06;G06F12/02 |
代理公司: | 南京泰普专利代理事务所(普通合伙) 32360 | 代理人: | 张磊 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 循环 方式 基于 cholesky 分解 任意 矩阵 硬件加速 系统 | ||
1.一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征是包括DSP核,外部DDR存储器,AXI接口,主控制器、双DMA控制器、SRAM存储器、PE运算阵列以及矩阵求逆加速核;
所述矩阵求逆加速核进一步包括cholesky分解运算模块、三角矩阵求逆模块、以及三角矩阵乘法模块;
其中,所述cholesky分解运算模块采用循环迭代方式分解源矩阵A:
式中,A表示源矩阵,L表示下三角矩阵,表示源矩阵A的共轭转置矩阵;
所述三角矩阵求逆模块使用循环迭代法求解出下三角矩阵L的逆矩阵S;
所述三角矩阵乘法模块计算得到源矩阵A的逆矩阵:
式中,S表示下三角矩阵L的逆矩阵,表示矩阵S的共轭转置矩阵。
2.根据权利要求1所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于:该系统采用双端口的SRAM,一共包含129个BANK,每一个BANK是一块独立的存储单元,一个端口进行读的同时,另一个端口写数据;其中,BANK0~63用于PE读,AXI写源数据;BANK65~96用于PE读、写中间结果,AXI不写;BANK97~128用于PE写、AXI读结果数据;PE和AXI不同时进行读或写,最终实现存储单元的并行无冲突访存;cholesky分解和三角矩阵求逆的结果都存放在中间结果BANK中,三个子算法的存储空间共享,支持对同一个BANK同时读取和写入。
3.根据权利要求1所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于:
所述cholesky分解运算模块由实数除法器组成1/SQRT部件,用于计算当前列对角线元素的平方根倒数;由复数乘法器完成当前列的迭代更新;由复数乘法器和复数加法器完成右下三角矩阵的迭代更新操作;
所述三角矩阵求逆运算模块由实数除法部件计算当前行对角线元素的倒数;由复数乘法部件用于当前行更新;由复数乘加部件用于下方列更新。
4.根据权利要求1所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于:进行矩阵乘法时,通过减少0元素与其它行或者其它列元素进行相乘的步骤缩短计算时间;计算矩阵乘法具有复数乘累加部件;由1个复乘和3个复加部件组成一个流水乘累加单元避免流水中断。
5.根据权利要求1所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于:采用8路并行计算,每次8路并行可以同时取相邻8列的数据,并且每次并行参与计算的点数相同。
6. 根据权利要求2所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于:根据BANK单元序号和地址唯一确定矩阵中某个元素的存放位置;BANK单元序号和单元地址从0开始计数,源数据按列依次存放在单元序号0~7的BANK中,根据源数据在BANK中的存放方式,对于N阶源矩阵A中的元素,通过公式Num_Bank = (j-1)%8求得单元序号; 通过公式Addr_Bank = floor((j-1)/8)*N+i-1求得单元地址。
7.根据权利要求2所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于:根据寻址公式解析出数据在下三角矩阵中的单元序号和单元地址,依次从源数据所在BANK读出下三角元素参与计算,再按照矩阵一列存于一个BANK的规则,将计算结果原位存回中间结果区。
8.根据权利要求2所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于:结果矩阵按行存储,根据数据在BANK中的存放方式,对于N阶结果矩阵R中的元素,存入BANK的单元序号为((m-1)*N+n-1)%8+1,存入BANK的地址为floor(((m-1)*N+n-1)/8)。
9.根据权利要求1所述的一种采用循环迭代方式的基于cholesky分解的任意阶矩阵求逆硬件加速系统,其特征在于,包括如下加速方法:
步骤1、DSP核通过AXI接口控制对DDR指令缓冲区写入,由主控制器将配置信息读入配置寄存器中;
步骤2、判断当前矩阵求逆加速器是否空闲,若此时矩阵求逆加速器为空闲状态,则配置DMA通过AXI接口将源数据从外部DDR存储器移入SRAM存储器;
步骤3、当源数据完全存入SRAM存储器之后,矩阵求逆控制器控制计算开始;在计算期间,数据按顺序发送到PE运算阵列,参与不同类型的计算;
步骤4、SRAM存储器中的中间结果BANK用于中间结果数据的读写,结果数据存放在结果BANK中,只能由DMA读取;
步骤5、计算结束后,DMA通过AXI数据接口将结果数据从SRAM移出到DDR,完成一次完整的矩阵求逆运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010486502.5/1.html,转载请声明来源钻瓜专利网。