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的演講展現了技術演進的宏圖與解決方案,對編譯器從業者來說,這是一條充滿機遇與可能性的道路。