论文部分内容阅读
在大数据和云计算的时代背景下,高性能计算(HPC)的数据密集度越来越高,需要处理的数据量与日俱增,要求计算节点有很强的计算能力的同时功耗开销尽可能低,因此一些具有高灵活性和容错能力的软件编程架构在服务器集群被部署,它们具有很好的扩展性和很高的计算效率。然而新兴应用的快速发展正日渐加重计算节点的负载,HPC也开始转向采用硬件加速器来满足高带宽、低时延、高吞吐量的需求,同时保持合理的功耗水平。因此在HPC的计算节点中部署硬件加速器以集群的方式对复杂算法加速成为当下研究的热点。在先前研究基础之上,本文提出了一种基于FPGA的硬件加速平台架构,采用集中式加速器群来处理大规模的浮点矩阵运算。这种架构由多块Xilinx Virtex-6FPGA评估板(EVBs)组成,计算服务器与EVBs通过PCIE接口连接,EVBs之间通过14GB/s光纤接口通信。利用FPGA的可编程性和高灵活性,在每个EVBs中设计了相同的offload引擎模块,实现了对短信息立即数MP描述符的存储、计算、封装、转发等处理。本文在分析浮点矩阵乘算法和FPGA集群架构的基础之上,通过Verilog硬件编程设计实现了可并行计算的浮点矩阵乘硬件模块,该设计降低了计算复杂度和资源利用率且提升了计算效率。该模块可以任意配置两个浮点矩阵乘的行列参数,并且可以根据芯片的逻辑资源情况灵活的设置计算单元(PE)的数目,且相邻PE单元之间没有任何数据的交互,具有很好的移植性和可扩展性。针对本文浮点矩阵乘法的FPGA协处理器与计算节点CPU的通信问题,本文设计了通过PCIE高速接口实现报文的接收和转发。将基于片上可编程系统结构的FPGA端设计与计算节点主机端的驱动程序相结合,从而实现软硬件系统的协同工作。针对本文设计的OE模块及其浮点矩阵乘子模块,文中分别通过实验仿真、综合等方法对设计的性能进行了分析和验证。对比了Intel I5-4690 CPU和相同处理单元下的单卡FPGA计算性能,实验结果表明,本文设计的加速平台获得较好的性能增益,且该设计具有良好的并行效率和计算效率。此外,本文对不同维数的浮点矩阵乘法进行了加速对比实验,该设计达到了较高的计算性能,获得了接近2倍加速比。