[发明专利]基于FPGA的可重构线性方程组求解加速器有效
申请号: | 201810412917.0 | 申请日: | 2018-04-30 |
公开(公告)号: | CN108763653B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 潘红兵;苏岩;秦子迪;何书专;李丽;李伟 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F30/331 | 分类号: | G06F30/331 |
代理公司: | 南京汇盛专利商标事务所(普通合伙) 32238 | 代理人: | 陈扬;吴扬帆 |
地址: | 210046 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 可重构 线性方程组 求解 加速器 | ||
本发明提供了的基于FPGA的可重构线性方程组求解加速器,包括:数据分配模块,用于将内部存储器中的数据分配给计算阵列模块,根据输入系数矩阵的规模和类型,在主控制模块的控制下调整数据分配的方式;主程序控制模块,用于控制数据分配模块、重构控制模块和计算阵列模块的运行以及各模块之间的通信;重构控制模块,用于根据系数矩阵的规模和类型重新设置计算方式;内部存储器模块,用于存储系数矩阵和向量数据;计算阵列模块,用于计算线性方程组的解。发明设计的重构方法可以同时调整数据的存储和传输方式,在对运算资源和运算精度不同需求的场景下可采用不同的运算模式,相比于现有的线性方程组求解加速器,具有更好的通用性。
技术领域
本发明属于数据处理技术领域,涉及线性方程组求解技术。
背景技术
线性方程组求解属于矩阵计算的一部分,是科学和工程计算的核心。求解线性方程组是一类计算密集型任务,广泛的存在于数据挖掘、信号处理和数值逼近等领域。
大规模线性方程组的求解一般有两类,系数矩阵是稀疏矩阵和系数矩阵是稠密矩阵两类。在求解稀疏线性方程组时,由于存在大量元素,采用迭代法求解将会节约很多计算资源,通过多次迭代,解向量最终逼近精确解。在求解稠密线性方程组时,一般采用LU分解的方法,获得线性方程组的精确解。由于两种算法的差异,大规模线性方程组的求解往往通过高性能服务器上的通用处理器实现软件求解。
FPGA具有大量的计算部件,可以将大规模重复计算并行流水处理,实现算法的并行化,对于加速大规模线性方程组的求解是很好的选择。结合FPGA可重构技术,针对不同的算法做出设计,可以实现求解方式的通用性。
发明内容
为了解决上述问题,实现求解方式的通用性,本发明基于可重构技术,提出一种基于FPGA的针对稀疏和稠密矩阵线性方程组的通用求解加速器,发明提出了针对两种不同类型线性方程组的重构方法,具体由以下技术方案实现。
基于FPGA的可重构线性方程组求解加速器,包括:
数据分配模块,用于将内部存储器中的数据分配给计算阵列模块,根据输入系数矩阵的规模和类型,在主控制模块的控制下调整数据分配的方式;
主程序控制模块,用于控制数据分配模块、重构控制模块和计算阵列模块的运行以及各模块之间的通信;
重构控制模块,用于根据系数矩阵的规模和类型重新设置计算方式;
内部存储器模块,用于存储系数矩阵和向量数据;
计算阵列模块,用于计算线性方程组的解。
所述基于FPGA的可重构线性方程组求解加速器的进一步设计在于,所述数据分配模块控制各个时刻内部存储器模块中的数据到计算阵列模块的缓存的数据通路,操作内部存储模块中的数据交换,对每个分配的列数据加上头标记,使数据分配到匹配的计算阵列模块的计算单元缓存中。
所述基于FPGA的可重构线性方程组求解加速器的进一步设计在于,数据分配模块处理的系数矩阵类型分为稀疏系数矩阵和稠密系数矩阵。
所述基于FPGA的可重构线性方程组求解加速器的进一步设计在于,主程序模块分别与数据分配模块、重构控制模块以及计算阵列模块双向通信连接,实现了对数据分配模块、重构控制模块和计算阵列模块运行以及各模块之间通信的控制,形成线性方程组求解加速器的最上层控制器。
所述基于FPGA的可重构线性方程组求解加速器的进一步设计在于,重构控制模块根据系数矩阵的类型,对于矩阵的类型为稀疏系数矩阵,重新设置计算阵列模块的运行模式为迭代法;对于矩阵的类型为稠密系数矩阵,重新设置计算阵列模块的运行模式为直接法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810412917.0/2.html,转载请声明来源钻瓜专利网。