[论文解读] A Reconfigurable Vector Instruction Processor for Accelerating a Convection Parametrization Model on FPGAs
本文提出了一种可重构向量指令处理器架构,用于在FPGA上加速科学计算内核,特别针对Flexpart大气扩散模型中计算密集型的对流参数化内核。通过使用配备可配置算术单元的定制向量处理器阵列,该方法在高效利用资源的前提下实现了高达20倍的加速,展示了在科学计算中实现FPGA高性能计算自动高阶语言编译的可行路径。
High Performance Computing (HPC) platforms allow scientists to model computationally intensive algorithms. HPC clusters increasingly use General-Purpose Graphics Processing Units (GPGPUs) as accelerators; FPGAs provide an attractive alternative to GPGPUs for use as co-processors, but they are still far from being mainstream due to a number of challenges faced when using FPGA-based platforms. Our research aims to make FPGA-based high performance computing more accessible to the scientific community. In this work we present the results of investigating the acceleration of a particular atmospheric model, Flexpart, on FPGAs. We focus on accelerating the most computationally intensive kernel from this model. The key contribution of our work is the architectural exploration we undertook to arrive at a solution that best exploits the parallelism available in the legacy code, and is also convenient to program, so that eventually the compilation of high-level legacy code to our architecture can be fully automated. We present the three different types of architecture, comparing their resource utilization and performance, and propose that an architecture where there are a number of computational cores, each built along the lines of a vector instruction processor, works best in this particular scenario, and is a promising candidate for a generic FPGA-based platform for scientific computation. We also present the results of experiments done with various configuration parameters of the proposed architecture, to show its utility in adapting to a range of scientific applications.
研究动机与目标
- 通过简化编程并实现遗留代码的自动编译,解决使基于FPGA的HPC更易于被科学界使用的挑战。
- 克服传统FPGA编程的局限性,包括可移植性差、缺乏标准化以及学习曲线陡峭等问题。
- 探索架构权衡,以在单一FPGA协处理器设计中高效利用多粒度并行性——包括线程级、流水线级和数据级并行。
- 设计一种灵活、可重构的架构,可在编译时针对不同科学内核进行定制,特别是针对具有不规则或复杂数据依赖关系的内核。
- 通过设计一种软性、可编程的向量处理器,支持高效的代码内存映射和指令执行,实现高阶语言到FPGA的编译。
提出的方法
- 设计并评估三种FPGA架构:标量处理器、流水线处理器以及每个处理单元配备多个算术单元的向量处理器。
- 实现一种哈佛架构的向量处理器,配备专用指令存储器和可配置算术单元(加法器、乘法器、除法器),以支持数据级并行。
- 使用高层次综合(HLS)和硬件描述语言(Verilog)在FPGA上实现并优化向量处理器架构。
- 系统性地改变算术单元数量(例如1-1-1、8-8-8、8-8-24),以评估资源利用率与延迟之间的权衡。
- 比较对称与非对称的算术单元配置,以识别最佳性能-资源比,特别关注除法器等顺序单元的影响。
- 使用Flexpart对流内核作为代表性科学工作负载,将向量架构与标量和流水线架构进行对比基准测试。
实验结果
研究问题
- RQ1如何在不需低层硬件专业知识的前提下,使基于FPGA的科学内核加速更易于被领域科学家使用?
- RQ2哪种架构配置能最佳地利用科学内核中的线程级、数据级和流水线级并行性,同时保持高效的资源使用?
- RQ3在科学内核中实现高性能时,算术单元复制(特别是除法器)与资源消耗之间应如何达到最佳平衡?
- RQ4可重构向量处理器架构能否实现高阶遗留代码(如C/C++)到FPGA硬件的完全自动编译,且人工干预最少?
- RQ5配备可配置算术单元的向量处理器在加速真实世界大气建模内核时,其性能与标量和流水线替代方案相比如何?
主要发现
- 当算术单元扩展至24-24-24时,向量处理器架构相较于1-1-1配置实现了高达20倍的加速,资源使用仅增加4倍。
- 非对称配置(如8-8-24)通过增加除法器数量,实现2.1倍的延迟降低,而资源使用仅增加1.4倍,展现出更优的性能-资源权衡。
- 复制加法器和乘法器对延迟影响甚微,因为除法器作为顺序单元仍是性能瓶颈。
- 8-8-24配置在性能与资源效率之间达到最佳平衡,被选为与其他架构比较的最优配置。
- 由于采用哈佛架构和可编程指令存储器,该向量处理器设计支持高效的高阶语言编译,可实现遗留代码的自动映射。
- 该架构支持三种并行级别:通过核心复制实现线程级并行,通过非对称核心级联(未来工作)实现流水线级并行,通过向量ALU单元实现数据级并行。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。