Skip to main content
QUICK REVIEW

[论文解读] Phism: Polyhedral High-Level Synthesis in MLIR

Rongxuan Zhao, Jianyi Cheng|arXiv (Cornell University)|Mar 28, 2021
Parallel Computing and Optimization Techniques参考文献 18被引用 4
一句话总结

本文提出了 $φ_{sm}$,一种基于 MLIR 的多面体高层次综合框架,通过多级中间表示(IR)实现从多面体表示到硬件设计的渐进式降低。通过利用 MLIR 的方言系统——尤其是 Affine 方言——它支持平台特定优化、软硬件协同设计以及可组合的转换,从而在适当的抽象层次上实现高效、可扩展的 HLS,并支持完整的多面体优化。

ABSTRACT

Polyhedral optimisation, a methodology that views nested loops as polyhedra and searches for their optimal transformation regarding specific objectives (parallelism, locality, etc.), sounds promising for mitigating difficulties in automatically optimising hardware designs described by high-level synthesis (HLS), which are typically software programs with nested loops. Nevertheless, existing polyhedral tools cannot meet the requirements from HLS developers for platform-specific customisation and software/hardware co-optimisation. This paper proposes $ϕ_{sm}$ (phism), a polyhedral HLS framework built on MLIR, to address these challenges through progressive lowering multi-level intermediate representations (IRs) from polyhedra to HLS designs.

研究动机与目标

  • 解决现有用于高层次综合(HLS)的多面体工具在可扩展性和平台特定定制方面的不足。
  • 弥合抽象多面体表示与需要循环级和调度级细节的实体 HLS 设计之间的语义鸿沟。
  • 通过在适当抽象层次暴露中间 IR,实现软硬件协同优化与设计空间探索。
  • 提供一个模块化、可组合且可扩展的框架,支持 Vitis 和 CIRCT 等不断演进的 HLS 目标。
  • 克服现有工具(如 Pluto、CLooG)仅在多面体或 C 类抽象语法树(AST)上操作的局限,错失中层优化机会。

提出的方法

  • 利用 MLIR 的方言抽象定义多级 IR,从用于多面体表示的 Affine 方言开始。
  • 在 Affine IR 上执行多面体优化,保留循环结构、边界和调度的仿射形式。
  • 执行渐进式降低:将 Affine IR 转换为 Standard IR(接近 LLVM IR),再转换为 CIRCT 中的硬件特定方言。
  • 与 Polygeist 集成,将 C 代码转换为 Affine IR,实现从 C 到硬件的端到端编译。
  • 在合适的抽象层次上,将平台特定优化(如流水线、循环展开、分块)实现为可组合的 MLIR 转换。
  • 利用 Affine IR 中的仿射映射和有界循环,直接表达复杂转换(如子边界框分块),避免从多面体输出重新生成代码。

实验结果

研究问题

  • RQ1如何有效将多面体优化集成到需要平台特定定制的现代 HLS 流水线中?
  • RQ2为支持高层多面体转换与底层 HLS 优化,需要哪些中间表示层次?
  • RQ3MLIR 中的渐进式降低是否能够实现跨 HLS 流水线的可组合、可重用转换?
  • RQ4与传统的基于 AST 的方法相比,MLIR 中使用 Affine 方言如何提升多面体代码生成的表达力与正确性?
  • RQ5MLIR 的方言系统在多大程度上能够支持 HLS 中软件与硬件的端到端协同设计?

主要发现

  • $φ_{sm}$ 在 Affine IR 层次实现了多面体优化,保留了循环结构和调度信息,为后续 HLS 转换提供了支持。
  • 使用 Affine IR 允许直接操作分块和并行化转换(如子边界框分块),而无需从多面体输出重新生成代码。
  • 从 Affine 到 Standard 和 CIRCT 方言的渐进式降低,支持与 Vitis 等现有 HLS 工具及硬件描述生成器的无缝集成。
  • 通过在中间抽象层次上操作,$φ_{sm}$ 避免了在 C 类 AST 中多面体信息不可用而导致的优化机会损失。
  • 该框架支持可组合且可重用的转换,支持为新的 HLS 目标和优化技术提供可扩展性。
  • 该方法在协同设计软件与硬件方面展示了可行性与高效性,尤其在通过结构化 IR 处理复杂数据布局与调度决策方面表现出色。

更好的研究,从现在开始

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

无需绑定信用卡

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