1. 看Chris Lattner在ASPLOS演讲有感
编译器领域的大师Chris Lattner在ASPLOS演讲中深入探讨了编译技术的现状、未来以及他的思考和应对策略。他以LLVM/Clang的成功为例,揭示了其背后的关键因素。LLVM的成功在于后发制人,打破了碎片化的CPU编译器时代。通过模块化的架构设计,LLVM吸引了大量专业人才参与,形成了一片活跃的社区,使得LLVM/Clang成为主流工具,与GCC形成了二分天下的局面。
在当前硬件和软件碎片化的时代,Chris提出了如何向CPU生态演进的见解。他从硬件架构的角度出发,将硬件分为可编程性较好的xPU与功能定制的ASIC硬件,并展示了心目中理想的xPU架构设计。他认为,通过使用RISC-V这一开放指令集架构,可以促进硬件架构的标准化和收敛,节省资源并聚焦于“x”部分的创新。RISC-V的模块化指令集为不同场景提供了灵活性,这在AI芯片领域得到了广泛应用,如希姆计算公司的探索。
软件碎片化问题同样严峻,xPU的gcc/llvm尚未出现。为解决这一问题,Chris提出了一种思路,即开发一个能够适应各种需求的元编译器(meta compiler)——MLIR。MLIR面向所有需要设计领域语言的场景,为开发者提供了方便的平台,以便在不同领域内开发编译器。同时,通过观察现有单一职责的编译器并等待DSA架构的逐渐演进,最终可能出现类似LLVM崛起的事件,即后发制人策略。在软件演进过程中,不确定性依然存在。TVM与MLIR的对比显示了不同编译器在支持AI芯片时的差异与互补性。TVM作为端到端AI编译器,而MLIR则适用于更广泛的场景,它们各自有独特的优势。
针对AISC和EDA领域的碎片化问题,CIRT(Compiler Infrastructure for Real-Time)提供了解决方案,但具体细节在此不做展开。总结来说,Chris Lattner的演讲展现了技术演进的宏图与解决方案,对编译器从业者来说,这是一条充满机遇与可能性的道路。