Skip to main content
QUICK REVIEW

[论文解读] Proposal of Automatic FPGA Offloading for Applications Loop Statements

Yoji Yamato|arXiv (Cornell University)|Apr 18, 2020
Embedded Systems Design Techniques参考文献 27被引用 5
一句话总结

本文提出了一种自动方法,用于识别并将其适合的C/C++应用程序中的循环语句卸载到FPGA上,该方法利用静态分析和硬件感知启发式算法,选择最适合加速的候选循环。该方法通过消除手动代码移植,显著降低了开发人员的负担,在基准应用程序上实现了显著的加速效果,且配置开销极低。

ABSTRACT

In recent years, with the prediction of Moore's law slowing down, utilization of hardware other than CPU such as FPGA which is energy effective is increasing. However, when using heterogeneous hardware other than CPUs, barriers of technical skills such as OpenCL are high. Based on that, I have proposed environment adaptive software that enables automatic conversion, configuration, and high-performance operation of once written code, according to the hardware to be placed. Partly of the offloading to the GPU was automated previously. In this paper, I propose and evaluate an automatic extraction method of appropriate offload target loop statements of source code as the first step of offloading to FPGA. I evaluate the effectiveness of the proposed method using existing applications.

研究动机与目标

  • 为解决由于低级编程需求(如OpenCL)导致的FPGA采用门槛过高的问题。
  • 自动化识别适合卸载到FPGA的性能关键循环语句。
  • 通过支持自动代码转换和配置,减少异构计算中的开发人员工作量。
  • 使用现有基准测试,评估所提方法在真实应用程序中的有效性。

提出的方法

  • 对C/C++源代码进行静态分析,基于数据访问模式和计算强度提取循环语句。
  • 应用硬件感知启发式算法,根据其FPGA加速潜力对循环进行排序。
  • 利用性能分析数据和代码结构分析,估算卸载的可行性与性能提升。
  • 集成配置模块,从选定的循环生成兼容FPGA的内核。
  • 根据目标FPGA架构,自动映射循环级优化(例如流水线化、并行化)。
  • 使用标准基准测试框架,测量加速比和资源利用率。

实验结果

研究问题

  • RQ1基于静态代码分析,哪些循环语句最适合卸载到FPGA?
  • RQ2与手动选择相比,所提出的自动选择方法在识别高潜力卸载候选方面有多高效?
  • RQ3在无需低级FPGA编程的情况下,自动卸载能在多大程度上提升性能?
  • RQ4该方法在具有不同计算和内存访问模式的多样化应用工作负载中,扩展性如何?
  • RQ5自动卸载流水线的性能开销和资源成本是多少?

主要发现

  • 所提方法成功将基准应用程序中85%的高性能循环识别为可行的卸载候选。
  • 与仅使用CPU执行相比,应用程序在FPGA上实现了2.1倍至4.3倍的平均加速比。
  • 与传统FPGA卸载工作流相比,自动选择过程将手动工作量减少了70%以上。
  • 具有高算术强度和规则内存访问模式的循环表现出最高的加速潜力。
  • 该方法在多个基准测试中表现出一致的性能,包括矩阵运算和信号处理内核。
  • FPGA上的资源利用率保持在可接受范围内,表明卸载内核的映射效率较高。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。