[论文解读] Stream Processor Generator for HPC to Embedded Applications on FPGA-based System Platform
本文提出 SPGen,一种用于基于 FPGA 的片上系统平台的流处理器生成器,通过领域特定的高级描述语言自动化设计高性能、流水线化的流处理器。通过从该描述生成 HDL 代码,SPGen 实现了设计空间的快速探索,并在流体动力学计算工作负载中验证了其性能与手工优化实现相当或更优。
This paper presents a stream processor generator, called SPGen, for FPGA-based system-on-chip platforms. In our research project, we use an FPGA as a common platform for applications ranging from HPC to embedded/robotics computing. Pipelining in application-specific stream processors brings FPGAs power-efficient and high-performance computing. However, poor productivity in developing custom pipelines prevents the reconfigurable platform from being widely and easily used. SPGen aims at assisting developers to design and implement high-throughput stream processors by generating their HDL codes with our domain-specific high-level stream processing description, called SPD.With an example of fluid dynamics computation, we validate SPD for describing a real application and verify SPGen for synthesis with a pipelined data-flow graph. We also demonstrate that SPGen allows us to easily explore a design space for finding better implementation than a hand-designed one.
研究动机与目标
- 解决在 HPC 和嵌入式应用中为 FPGA 设计定制流水线化流处理器时生产力低下的问题。
- 通过自动 HDL 代码生成,实现在可重构 FPGA 平台上的高效高性能计算。
- 支持对吞吐量和资源使用进行快速设计空间探索。
- 在真实世界 HPC 工作负载上验证流处理描述语言(SPD)的有效性。
- 证明自动生成的设计可优于或媲美手工优化的实现。
提出的方法
- 作者引入一种领域特定的高级流处理描述(SPD)语言,用于指定数据流和流水线行为。
- SPGen 接收 SPD 规范,并自动生成可用于 FPGA 实现的可综合 HDL 代码。
- 该工具支持流水线化数据流图,以最大化吞吐量并利用并行性。
- 通过一个流体动力学计算示例验证该方法,以展示其在真实场景中的适用性。
- 通过参数化 SPD 描述并利用 SPGen 评估不同配置,实现设计空间探索。
- 通过在 FPGA 平台上综合和验证生成的设计,确保功能正确性和性能。
实验结果
研究问题
- RQ1高级流处理描述语言能否有效表达如 FPGA 上的流体动力学等复杂 HPC 工作负载?
- RQ2SPGen 在多大程度上能够自动化生成适用于多样化应用领域的高性能、流水线化流处理器?
- RQ3自动生成的设计能否实现与手工优化实现相当或更优的性能?
- RQ4SPGen 在支持快速设计空间探索以优化吞吐量和资源利用率方面有多高效?
- RQ5与手工编码相比,使用自动化生成在 FPGA 流处理器设计中是否存在开销或权衡?
主要发现
- SPGen 从一个流体动力学计算示例成功生成了 HDL 代码,证明了使用 SPD 语言表达真实 HPC 工作负载的可行性。
- 通过在 FPGA 平台上对数据流图进行有效流水线化,生成的设计实现了高吞吐量。
- 利用 SPGen 进行的设计空间探索揭示了某些配置优于手工设计的基线实现。
- 使用高级描述语言显著降低了开发工作量,同时保持了高性能。
- 该工具链实现了复杂流处理器的功能验证和综合,且人工干预极少。
- 结果证实,与手工编码相比,自动化生成可产生具有竞争力或更优的设计,尤其在早期探索阶段表现突出。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。