FPGA上矩阵计算的并行算法与高效结构研究

需积分: 47 18 下载量 197 浏览量 更新于2024-08-07 收藏 6.92MB PDF 举报
"这篇博士学位论文探讨了在大规模数据处理中使用高性能计算(HPC)的策略,特别是聚焦于FPGA(Field-Programmable Gate Array)在矩阵计算中的应用。作者邬贵明在国防科学技术大学攻读计算机科学与技术博士学位,导师窦勇。论文主要研究了如何利用FPGA优化矩阵计算的并行算法和硬件结构,以解决现有实现中存在的资源占用、存储需求和带宽问题,以及提高可扩展性。 论文中提到了大规模问题映射策略,这一策略包括两个主要步骤:构建控制数据传输的循环结构和构建处理器阵列的循环结构。处理器阵列可以通过自动或手动设计,而数据传输控制器则依赖于基于模板的设计,如DMA引擎和FSM(有限状态机)。这种方法降低了将大规模数值线性代数算法映射到FPGA的复杂性,并且在后续部分展示了如何通过此策略优化大规模矩阵乘法的硬件设计。 矩阵乘法的优化过程采用了分块策略,分为三个步骤:首先对时空映射后的矩阵乘进行分块,然后优化数据传输,最后进行存储优化,形成一个既优化数据传输又优化存储的循环结构。这种方法通过循环分块等技术来改善矩阵乘法的效率。 在矩阵计算方面,论文提出了面向基本矩阵运算的FPGA设计方法,如矩阵向量乘和矩阵乘,研究了时空映射和模型构建。通过一系列变换和优化,例如循环分块,论文发展出一种高性能、高存储效率的分块矩阵乘并行算法,减少了存储需求,从O(b^2)降至O(b)。 此外,论文还提出了FPGA上的列选主元LU分解的细粒度流水线并行算法,该算法适用于下三角方程组求解和多右端项的线性方程组求解。FPGA实现的线性阵列结构能同时执行列选主元LU分解和下三角方程组求解,具有性能优势。 最后,论文讨论了FPGA上分块稠密矩阵分解的并行算法,提出了一种分而治之的策略,适用于不选主元的LU分解,通过循环分块和时空映射提高并行计算的效率。 总体而言,这篇论文深入研究了FPGA在大规模矩阵计算中的应用,提出了一系列优化策略和并行算法,旨在提高计算性能,减少存储需求,并增强系统的可扩展性。"