新智元|Google的“泛芯片”科技蓝图( 四 )


另一个可以参考的学术项目是斯坦福的Agile Hardware Project[7] 。 其目标是自动化设计面向图像处理的CGRA(Coarse-Grained Reconfigurable Architecture) , 使用Halide作为DSL , 自己定义的CoreIR作为中间表达 , 并在此基础上建立相应的工具链 。
新智元|Google的“泛芯片”科技蓝图
本文插图

通过XLS和AHA的两个例子 , 我想强调的是设计一个好的DSL/IR系统对于一个特定领域的EDA任务是至关重要的 。 而目前的芯片设计工具和方法 , 主要还是围绕抽象层次比较低的Verilog/VHDL来建立的 。 除了设计和验证效率低的问题 , 对于软硬件的联合优化也非常不友好 。 这个问题并不是什么新问题 , 十几年前就有很多讨论 , 但到目前为止并没有太多的变化 。
一些尝试 , 比如SystemC , Bluespec , 都不怎么成功 。 这个现象有很多的原因 , 其中之一是设计DSL/IR和相应的编译器(包括验证工具)的门槛和成本很高 。 这有点类似于本文第一部分说的 , 我们要做面向“新的计算范式”的硬件 , 其软件栈开发的难度和成本很高 。
这就回到我想讨论的CIRCT这个项目的意义:是否可能利用MLIR的多层IR的思想及其提供编译器基础架构来拉低建立一个DSL/IR系统和相应的编译器的成本?从而让我们有可能在芯片设计工具和方法学上做更多的创新 。 现在CIRCT这个项目还是刚刚开始 , 很难说能未来发展到什么程度 , 但它至少让我们看到更多的可能 。
参考资料
[1] Dan Belov, "AI Research at Scale - Opportunities on the Road Ahead", Hot Chips 2020
[2] Jeff Dean, "The Deep Learning Revolution and Its Implications for Computer Architecture and Chip Design", ISSCC 2020
[3] Azalia Mirhoseini, Anna Goldie, "Reinforcement Learning for Placement Optimization", Design Automation WebiNar (DAWN), https://duke-cei-lab.github.io/DAWN/event1
[4] "CIRCT" / Circuit IR Compilers and Tools", https://github.com/llvm/circt
[5] "XLS: Accelerated HW Synthesis", https://github.com/google/xls
[6] Lenny Truong, Pat Hanrahan, "A Golden Age of Hardware Description Languages: Applying Programming Language Techniques to Improve Design Productivity", SNAPL 2019
[7] "Stanford AHA! Agile Hardware Center",https://aha.stanford.edu/
AI Chip List
https://basicmi.github.io/AI-Chip/
AI Chip Paper List
https://github.com/BirenResearch/AIChip_Paper_List


推荐阅读