01_ScaleHLS

  1. 论文信息
  2. 基本概念
    1. HLS: High-level synthesis 高级综合
    2. Design space exploration
  3. 问题提出
  4. 目标
  5. 实现
  6. 性能评估
  7. 评价

论文信息

ScaleHLS: A New Scalable High-Level Synthesis Framework on Multi-Level Intermediate Representation

[Submitted on 24 Jul 2021 (*v1), last revised 22 Dec 2021 (this version, v4)]*

HPCA(High Performance Computer Architecture),既高性能计算架构会议是体系结构/高性能计算领域最重要的学术会议之一,基本上都是最顶尖的研究小组在上面发文章。HPCA为CCF A类,Core Conference Ranking A*类会议,H-5指数53,Impace Score 6.93,录取率常年在20%左右。该会议历史悠久,几十年的举办历史中,国内只13年在深圳举办一次,绝大多数举办地在美国。

基本概念

HLS: High-level synthesis 高级综合

在传统的FPGA开发过程中,一般的流程是:编写verilog代码,功能仿真,生成可执行文件,上板调试,采集数据,进行分析,释放版本。但是这个流程中,功能仿真会占用大部分的时间,尤其是现在的算法越来越复杂,如果按照上述流程操作,开发周期会越来越长,需要经过更长时间的仿真和调试,那么是否有一种方法来解决这个问题?

于是提出了HLS,借助他,我们可以使用高级编程语言,实现对FPGA的功能模块的开发,这帮助解决算法的实现,利用算法工程师实现硬件难以描述的算法,从而节约了开发时间。它聚焦算法的快速迭代和功能的实现,在软件环境中直接进行功能仿真,并与硬件仿真无缝集成。

高级综合(high-level-synthesis,HLS):软件算法在FPGA上实现硬件加速的综合工具

高层次综合技术(High-level synthesis)的概念

基于Intel FPGA的HLS开发流程

高级综合HLS简介

Design space exploration

Design Space Exploration (DSE) refers to systematic analysis and pruning of unwanted design points based on parameters of interest. While the term DSE can apply to any kind of system, we refer to electronic and embedded system design in this article.

Design space exploration

问题提出

HLS自动把高级语言转换成指定硬件语言的加速器,从而消除了对使用专用硬件描述语言的繁琐和可能容易出错的硬件设计实践的依赖。

现有的研究工作和解决方案在处理包含大量的子模块和复杂的相互依赖关系的大规模HLS设计方面面临重大困难,主要体现在3个方面:

  1. Representation: 现有的用来表示和分析HLS的工作设计之初考虑的都是单层抽象的软件编译。但是HLS包含多层次的抽象,直接把多层次的representation合起来容易导致严重的碎片化和繁琐和不一致的跨级别优化。我们认为应该有一个系统的方法来在多个抽象层次上表示HLS设计,以体现HLS设计的内在层次结构。
  2. Optinization: 现有的工作把很多重要的HLS优化留给了人工设计员来进行代码重写,这种方法不够高效和可扩展,不足以处理大型HLS设计,并可能阻碍综合DSE。我们认为HLS优化应该完全自动化而不是依赖人工重写代码,这个优化应该在多个不同的抽象级别上自动执行。
  3. Exploration: 传统的编译器领域,每项优化技术的参数通常由一个成本模型决定,表名参数组合的收益。但是HLS设计中,由于不同的HLS优化的效果相互关联(或冲突),我们不能把一个优化之间的收益隔离来看。为了解决这个问题,一个全局的DSE引擎需要考虑跨不同抽象层次的所有HLS优化。

目标

实现

性能评估

评价


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1149440709@qq.com

×

喜欢就点赞,疼爱就打赏