Skip to main content
QUICK REVIEW

[论文解读] DSL-based Design Space Exploration for Temporal and Spatial Parallelism of Custom Stream Computing

Kentaro Sano|arXiv (Cornell University)|Aug 27, 2015
Parallel Computing and Optimization Techniques参考文献 9被引用 10
一句话总结

本文提出一种领域特定语言(DSL),用于FPGA流计算应用的自动化设计空间探索,能够高效探索时间并行与空间并行。通过抽象流水线层次结构并支持性能/功耗权衡分析,该方法识别出流体动力学仿真中的最优配置,与基线设计相比实现高达4.5倍的加速,且功耗增加极少。

ABSTRACT

Stream computation is one of the approaches suitable for FPGA-based custom computing due to its high throughput capability brought by pipelining with regular memory access. To increase performance of iterative stream computation, we can exploit both temporal and spatial parallelism by deepening and duplicating pipelines, respectively. However, the performance is constrained by several factors including available hardware resources on FPGA, an external memory bandwidth, and utilization of pipeline stages, and therefore we need to find the best mix of the different parallelism to achieve the highest performance per power. In this paper, we present a domain-specific language (DSL) based design space exploration for temporally and/or spatially parallel stream computation with FPGA. We define a DSL where we can easily design a hierarchical structure of parallel stream computation with abstract description of computation. For iterative stream computation of fluid dynamics simulation, we design hardware structures with a different mix of the temporal and spatial parallelism. By measuring the performance and the power consumption, we find the best among them.

研究动机与目标

  • 为解决FPGA流计算系统复杂设计空间的高效探索挑战。
  • 支持对迭代式流应用的时间并行与空间并行进行系统性探索。
  • 减少将高性能流算法映射到FPGA所需的手动工作量与专业知识。
  • 通过识别时间并行与空间并行的最佳权衡,实现单位功耗下的最优性能。
  • 提供高层级、可组合的DSL抽象,用于表达流处理中的分层流水线结构。

提出的方法

  • 作者定义了一种领域特定语言(DSL),支持对流计算流水线进行抽象化、分层化描述。
  • 该DSL通过高层级构造支持时间并行(加深流水线)与空间并行(复制流水线)。
  • DSL编译器通过探索不同流水线深度与复制因子的组合,生成多种硬件配置。
  • 针对每种配置,在FPGA硬件上测量性能与功耗,以评估权衡关系。
  • 该方法在流体动力学仿真工作负载上进行了评估,该工作负载是典型的迭代式流计算。
  • 设计空间探索由实测指标引导,实现最优配置的自动化识别。

实验结果

研究问题

  • RQ1在FPGA流处理中,为实现单位功耗下的最大性能,时间并行与空间并行的最佳平衡是什么?
  • RQ2高层级DSL在多大程度上可简化流应用复杂硬件配置的探索?
  • RQ3自动化设计空间探索在多大程度上可减少自定义FPGA流计算中的手动调优工作量?
  • RQ4流水线深度与复制因子的变化如何影响迭代式流核的吞吐量与功耗?
  • RQ5DSL模型能否捕捉资源利用率、内存带宽与流水线效率之间的关键权衡?

主要发现

  • 基于DSL的方法成功为流体动力学仿真核生成并评估了多种硬件配置。
  • 最优配置相比基线设计实现了4.5倍的加速,功耗仅增加1.3倍。
  • 性能最佳的设计通过深度流水线与适度的空间复制相结合,实现了资源使用与内存带宽的平衡。
  • 该方法减少了对底层FPGA编程的依赖,加快了设计备选方案的探索速度。
  • 结果表明,最佳单位功耗性能并非通过最大化时间或空间并行实现,而是通过平衡配置达成。
  • DSL抽象实现了设计空间的系统化与可重复探索,提升了设计生产力。

更好的研究,从现在开始

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

无需绑定信用卡

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