paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Unifying Static and Dynamic Intermediate Languages for Accelerator Generators

统一加速器生成器的静态与动态中间语言
OOPSLA 8(OOPSLA2)2024匹配度 3/10 · 论文属于硬件加速器生成器的编译与中间语言设计,讨论静态/动态控制统一;与研究画像核心的 PL↔AI、LLM/Agent 静态分析、浮点程序分析、贝叶斯程序分析均无直接交集,仅可视为 PL/编译方向的外围工作。引用 4 inbox
Caleb Kim, Pai Li, Anshuman Mohan, Andrew Butt, Adrian Sampson, Rachit Nigam
dblp: 2026-09-10crossref: 2026-09-10arxiv: 2026-09-10

AI 速览

一句话:提出 Piezo,用单一中间语言统一加速器生成器中的静态与动态硬件控制,并支持跨控制风格的优化与转换。

加速器设计语言(ADL)编译器依赖硬件控制接口来组合硬件单元。静态控制高效但脆弱,动态控制通过显式信号支持组合推理却增加硬件开销。Piezo 用单一中间语言统一静态与动态控制,其核心洞见是:静态片段是动态片段的 refinement,静态代码的运行时行为是动态等价代码行为之子集。基于此,Piezo 可结合静态与动态子模块的事实进行优化,并机会性地将动态控制转换为静态控制。作者将其实现为动态 ADL 编译器 Calyx 的扩展,并用已有 ADL 前端、脉动阵列生成器和包调度硬件生成器展示优化效果与静态-动态交互。

问题
ADL 编译器需要硬件控制接口来组合硬件单元,而现有静态控制高效但脆弱、动态控制可组合却带来硬件成本。
方法
提出 Piezo,在单一中间语言中统一静态与动态控制,利用静态片段是动态片段 refinement 的关系进行跨子模块优化,并机会性地将动态控制转为静态控制。
评估
将 Piezo 实现为 Calyx 的扩展,并用已有 ADL 前端、脉动阵列生成器和包调度硬件生成器展示其优化能力与静态-动态交互。
原文摘要(Abstract)

Compilers for accelerator design languages (ADLs) translate high-level languages into application-specific hardware. ADL compilers rely on a hardware control interface to compose hardware units. There are two choices: static control, which relies on cycle-level timing; or dynamic control, which uses explicit signalling to avoid depending on timing details. Static control is efficient but brittle; dynamic control incurs hardware costs to support compositional reasoning. Piezo is an ADL compiler that unifies static and dynamic control in a single intermediate language (IL). Its key insight is that the IL’s static fragment is a refinement of its dynamic fragment: static code admits a subset of the run-time behaviors of the dynamic equivalent. Piezo can optimize code by combining facts from static and dynamic submodules, and it opportunistically converts code from dynamic to static control styles. We implement Piezo as an extension to an existing dynamic ADL compiler, Calyx. We use Piezo to implement a frontend for an existing ADL, a systolic array generator, and a packet-scheduling hardware generator to demonstrate its optimizations and the static–dynamic interactions it enables.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@article{abs-2312-16300,
  title = {Unifying Static and Dynamic Intermediate Languages for Accelerator Generators},
  author = {Caleb Kim and Pai Li and Anshuman Mohan and Andrew Butt and Adrian Sampson and Rachit Nigam},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689790}
}