arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2404.04815cs.PLcs.ARcs.LG
收藏

Allo:一种用于可组合加速器设计的编程模型

Allo: A Programming Model for Composable Accelerator Design

Cornell University(康奈尔大学);University of Science and Technology of China(中国科学技术大学)

Hongzheng Chen, Niansong Zhang, Shaojie Xiang, Zhichen Zeng, Mengjia Dai, Zhiru Zhang

AI总结:

本文提出可组合编程模型 Allo,通过将硬件定制与算法规范解耦并支持跨函数整体优化,高效构建空间加速器,在 PolyBench 和 GPT2 上优于现有 HLS/ADL 及 A100。

摘要:

专用硬件加速器对于持续提升新兴应用的性能正变得日益关键,尤其是在工艺尺寸缩小带来的收益持续减弱的背景下。然而,设计人员目前缺乏有效的工具和方法,以高生产率构建复杂、高性能的加速器架构。现有高层次综合(HLS)工具通常需要侵入式的源码级修改,才能获得令人满意的结果质量。尽管已经出现了若干旨在增强或替代 HLS 的新型加速器设计语言(ADL),但它们的优势在具有单个内核的相对简单应用中更为明显。对于包含多个内核的现实分层设计,即使设计层次被展平,现有 ADL 的效果仍然较差。本文提出 Allo,这是一种用于高效空间加速器设计的可组合编程模型。Allo 将计算、存储、通信和数据类型等硬件定制与算法规范解耦,并将其封装为一组定制原语。Allo 通过以自底向上、类型安全的方式组合来自不同函数的定制,保留输入程序的层次结构。该方法支持跨越函数边界的整体优化。我们在常用 HLS 基准测试和若干现实深度学习模型上进行了全面实验。评估表明,在 PolyBench 的所有测试用例中,Allo 都优于最先进的 HLS 工具和 ADL。对于 GPT2 模型,Allo 生成的加速器推理延迟比 NVIDIA A100 GPU 快 1.7 倍,同时能效高 5.4 倍,证明了 Allo 处理大规模设计的能力。

英文摘要:

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 source-level 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 bottom-up, 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.7x faster than the NVIDIA A100 GPU with 5.4x higher energy efficiency, demonstrating the capability of Allo to handle large-scale designs.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑