FPGA矩阵计算优化:高效并行结构与算法研究

需积分: 47 18 下载量 54 浏览量 更新于2024-08-07 收藏 6.92MB PDF 举报
矩阵乘在大数据时代高性能计算中的应用是当前研究热点之一,特别是在可重构计算平台上,如现场可编程门阵列(FPGA)。本文主要探讨了如何利用FPGA进行矩阵计算,特别是针对矩阵乘的时空映射和模型构建,以及针对FPGA特有的并行算法和硬件结构优化。 首先,时空映射是一个关键概念,它通过虚拟的处理器和时间维度,将传统的矩阵乘法操作映射到FPGA的物理结构上。这一过程涉及到存储分配,即根据新的索引系统,重新组织和分配内存,以适应并行处理。旧索引会被处理器索引和时间索引替代,例如,C[i, j]会变为C[p, t1],这需要对循环体内的表达式进行相应的调整,以确保数据的正确访问。 模型构建则包含三个主要步骤:存储分配、通讯生成和控制生成。存储分配是基础,通过线性函数转换数组下标,以提高存储和计算效率。通讯生成关注数据在不同处理器之间的通信策略,控制生成则是为并行执行制定有效的控制流逻辑。 作者邬贵明在博士论文中着重研究了FPGA在矩阵计算方面的高效实现,针对矩阵向量乘和矩阵乘提出了高性能、高存储效率的分块矩阵乘并行结构。通过循环分块和一系列优化技术,作者实现了数据传输和存储的优化,使得并行结构能处理大规模数据,显著降低了存储需求,从O(b^2)降低到O(b),其中b为数据块大小。 此外,论文还涉及FPGA列选主元LU分解的细粒度流水线并行算法,这是一种充分利用LU分解中流水线并行性和数据重用的技术,适用于解决下三角方程组求解和多右端项线性方程组。作者设计了一种线性阵列来实现这些算法,提供了性能模型,以便更好地分析和预测其性能。 对于稠密矩阵分解,作者提出了一种分块策略,结合不选主元LU分解,采用FPGA实现,这种策略通过循环分块和时空映射等方式提高了分解效率。这个并行结构不仅提升了计算速度,而且具有良好的可扩展性。 论文通过深入研究FPGA在矩阵计算中的技术,解决了资源占用、存储需求和带宽管理等问题,为高性能、低能耗的矩阵计算提供了创新的硬件结构和算法设计,为FPGA在大数据和高性能计算领域的应用奠定了坚实的基础。