Allo: A Programming Model for Composable Accelerator Design

2024年04月07日
  • 简介
    专用硬件加速器对于维持新兴应用程序的性能提升越来越关键,特别是随着技术缩放的好处逐渐减少。然而,设计师目前缺乏有效的工具和方法,以有效的方式构建复杂的高性能加速器架构。现有的高级综合(HLS)工具通常需要对源代码进行侵入性的更改才能获得令人满意的结果。尽管引入了几种新的加速器设计语言(ADL),旨在增强或替换HLS,但它们的优点更明显地体现在相对简单的具有单个内核的应用程序中。即使设计层次结构被展平,现有的ADL对于具有多个内核的现实层次结构设计的效果也较差。 在本文中,我们介绍了Allo,一种用于高效空间加速器设计的可组合编程模型。Allo通过将计算、内存、通信和数据类型等硬件定制与算法规范分离,并将它们封装为一组定制原语来实现。Allo通过从不同函数中组合定制来保留输入程序的分层结构,以一种自下而上、类型安全的方式。这种方法有助于跨越函数边界的整体优化。我们对常用的HLS基准和几个现实的深度学习模型进行了全面的实验。我们的评估显示,Allo可以在PolyBench的所有测试用例中优于最先进的HLS工具和ADL。对于GPT2模型,Allo生成的加速器的推理延迟比NVIDIA A100 GPU快1.7倍,能效比高出5.4倍,证明了Allo处理大规模设计的能力。
  • 图表
  • 解决问题
    解决问题:本论文旨在介绍一种能够有效构建复杂高性能加速器架构的工具和方法,解决现有高级综合工具和加速器设计语言在多核心设计方面存在的问题。
  • 关键思路
    关键思路:本文提出了一种可组合的编程模型Allo,将硬件定制从算法规格中分离出来,并封装为一组自定义基元。Allo通过从不同函数中组合自定义来保留输入程序的层次结构,以类型安全的方式进行组合。这种方法有助于跨越函数边界进行全面优化。
  • 其它亮点
    其他亮点:实验使用了常用的高级综合基准和几个现实的深度学习模型,评估结果表明,Allo可以在PolyBench的所有测试用例中优于最先进的HLS工具和ADL。对于GPT2模型,Allo生成的加速器推理延迟比NVIDIA A100 GPU快1.7倍,能效比高出5.4倍,展示了Allo处理大规模设计的能力。
  • 相关研究
    相关研究:目前已经有一些新的加速器设计语言和高级综合工具被提出,但是它们在多核心设计方面的优势并不明显。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论