摘要 :DSL(领域特定语言)和硬件加速器已被证明在优化计算密集型工作负载方面非常有效。在本文中,我们提出了一种解决手动重写传统或未经优化代码为领域特定语言和硬件加速器的挑战的解决方案。我们介绍了一种将两个开源工具整合起来的方法:Metalift,一个代码转换框架,以及Gemmini,一个DNN加速器生成器。这两个工具的整合带来了显著的好处,包括简化开发人员在Gemmini生成的加速器上运行传统代码的工作流程,并为Gemmini提供了精简编程堆栈,从而减少添加新指令所需的工作量。本文详细介绍了这种整合及其简化和优化计算密集型工作负载潜力。
1.Intro
Domain Specific Language: 领域特定语言,专注于一个特定领域/解决特定问题的编程语言,区别于通用编程语言。 Metalift: 把通用编程语言翻译到DSL上的工具
2.Approach
Metalift工作:
- 定义语法
- 指定目标语言的语意
- 分析源程序行为从而匹配需求
详细内容可能要看Metalift,给出通用编程的源文件+加速器的语法约束,用Metalift去搜索潜在的与支持加速的算子等价的代码并且替换;后续可能会支持对硬件参数的搜索和自动优化等(类似TVM),但现在还没做
3.Result and Future Work
Metalift can translate the code in fig. 1a to generate the equivalent code in Gemmini’s ISA (Figure 1d) in <1min and this compiler was implemented in <100 LOC.
目前工具处理的规模很小,硬件参数搜索没有做。
Metalift
有点没看懂,CodeGen和文档都还不多