一句话:提出可组合编程模型 Allo,通过类型安全的定制原语自底向上组合硬件定制,支持跨函数整体优化。
随着工艺缩放收益减弱,专用硬件加速器日益重要,但现有 HLS 工具常需侵入式源码修改,而新 ADL 多适用于单内核简单设计,难以胜任多内核层次化加速器。Allo 将计算、存储、通信和数据类型等硬件定制与算法描述解耦,封装为定制原语,并以自底向上、类型安全的方式组合不同函数的定制,从而保留程序层次结构并支持跨函数边界的整体优化。作者在常用 HLS 基准和真实深度模型上评估,PolyBench 所有测试均优于 SOTA HLS/ADL;GPT2 推理延迟比 NVIDIA A100 快 1.7 倍,能效高 5.4 倍,证明其处理大规模设计的能力。
Special-purpose hardware accelerators are increasingly pivotal for sustaining performance improvements in emerging applications, especially as the benefits of technology scaling continue to diminish. However, designers currently lack effective tools and methodologies to construct complex, high-performance accelerator architectures in a productive manner. Existing high-level synthesis (HLS) tools often require intrusive sourcelevel changes to attain satisfactory quality of results. Despite the introduction of several new accelerator design languages (ADLs) aiming to enhance or replace HLS, their advantages are more evident in relatively simple applications with a single kernel. Existing ADLs prove less effective for realistic hierarchical designs with multiple kernels, even if the design hierarchy is flattened. In this paper, we introduce Allo, a composable programming model for efficient spatial accelerator design. Allo decouples hardware customizations, including compute, memory, communication, and data type from algorithm specification, and encapsulates them as a set of customization primitives. Allo preserves the hierarchical structure of an input program by combining customizations from different functions in a bottomup, type-safe manner. This approach facilitates holistic optimizations that span across function boundaries. We conduct comprehensive experiments on commonly-used HLS benchmarks and several realistic deep learning models. Our evaluation shows that Allo can outperform state-of-the-art HLS tools and ADLs on all test cases in the PolyBench. For the GPT2 model, the inference latency of the Allo generated accelerator is 1.7× faster than the NVIDIA A100 GPU with 5.4× higher energy efficiency, demonstrating the capability of Allo to handle large-scale designs.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@article{abs-2404-04815,
title = {Allo: A Programming Model for Composable Accelerator Design},
author = {Hongzheng Chen and Niansong Zhang and Shaojie Xiang and Zhichen Zeng and Mengjia Dai and Zhiru Zhang},
journal = {Proceedings of the ACM on Programming Languages},
volume = {8},
number = {PLDI},
year = {2024},
doi = {10.1145/3656401}
}