2025年10月,在北美RISC-V峰會上,Igalia編譯器工程師Mikhail發表專題演講《Unlocking 15% More Performance: A Case Study in LLVM Optimization for RISC-V》。演講基于在進迭時空 SpacemiT-X60 RISC-V 處理器上開展的十個月優化實踐,系統闡述如何通過上游 LLVM 的多項改進,顯著提升 RISC-V 處理器性能,并在 SPEC CPU 2017 基準測試中實現最高達 16% 的性能提升。
本次優化的重點涵蓋三大方面:
為 SpacemiT-X60 引入定制調度模型
增強向量化在跨函數調用場景下的分析能力
支持過程間寄存器分配(IPRA)以優化寄存器使用
SPEC 測試
SPEC CPU 2017 是業界公認的 CPU 性能評估標準,通過運行一系列計算密集型任務(如代碼編譯、科學計算、AI 推理等),全面測量處理器的整數與浮點運算性能。其測試結果能夠客觀反映 CPU 在實際應用中的執行效率,是衡量服務器、工作站及高端 PC 處理器性能的關鍵基準。
調度模型:性能提升的關鍵
調度模型的引入是本次性能提升的關鍵。SpacemiT-X60作為一款按序雙發射CPU核心,其執行效率高度依賴于編譯器生成的指令序列能否充分適配硬件特性。以LOAD指令為例,在等待數據就緒的周期內,通過智能調度插入其他可執行指令,可有效避免流水線空等——這正如點外賣后,在送達前處理其他事務,而非一味守在門口。
通過引入針對 X60 的調度模型,多個 SPEC 2017 子項目均實現性能提升,其中最高達 16.8%,整體性能平均提升 4.75%。由于該調度優化作用于指令序列層面,不依賴特定程序邏輯,因此大多數軟件均可受益于該項改進。

目前,LLVM 中的 RISC-V 后端尚缺乏一個默認的調度模型。此次為 SpacemiT-X60 開發的模型,有望成為LLVM RISC-V 目標默認的調度模型,為更多RISC-V場景提供優化支持。
突破難點:跨函數調用的向量化優化
SpacemiT-X60 支持 256 位寬的 RISC-V Vector (RVV) 1.0 擴展。在數據并行度高的任務中,正確使用向量指令可大幅提升程序性能,因此自動向量化始終是編譯器優化的重點之一。然而,自動向量化的關鍵難點在于代價評估:編譯器需準確判斷在何種場景下向量化能帶來性能提升,又在哪些情況下可能帶來性能回退。
Mikhail 在報告中重點分析了跨函數調用這一典型場景。最終落地的 SLP fix 方案取得了顯著優化效果,在測試中實現單個用例最高11.9%的性能提升,整體平均提升幅度也接近 1%。

減少冗余:過程間寄存器分配(IPRA)
報告同時介紹了對過程間寄存器分配(IPRA,Inter-Procedural Register Allocation)的技術支持。在函數調用過程中,為確保程序正確執行,需對寄存器進行保存與恢復。傳統編譯方式下,由于編譯器無法預知被調用函數的具體寄存器使用情況,往往采取保守策略,對所有可能涉及的寄存器執行保存與恢復操作,造成不必要的性能開銷。
而 IPRA 技術通過過程間分析,使編譯器能夠精確掌握被調用函數的寄存器使用情況。當確認某些寄存器不會被破壞時,即可省略相應的保存與恢復指令,從而減少內存訪問、提升執行效率。目前IPRA還有bug尚在修復,暫未默認啟用,但在Spec上的測試已經顯示出0.5%的穩定性能提升,其優化效果已經得到驗證。

結語
從報告展示的最終數據來看,當前 GCC 與 LLVM 兩大開源編譯器在 RISC-V 平臺上的表現各有優勢,在不同測試項目中互有領先,這也表明未來仍有廣闊的協同優化空間。


本次優化工作獲RISE(RISC-V Software Ecosystem)項目RP009課題支持。RISE是由Linux基金會托管的全球合作計劃,匯聚行業領導者共同推動RISC-V開源軟件發展。作為RISE成員,進迭時空榮幸見證 SpacemiT-X60被選用于 RISC-V 的編譯器性能優化研究并取得顯著成果,特此感謝 Mikhail 及所有開發者的貢獻。
截至目前,進迭時空 8 核 RISC-V AI CPU 芯片 K1 累計量產交付量突破 13 萬顆,已成為量產速度最快的 RISC-V 高算力芯片。同時,公司通過 Bianbu Cloud 等云服務方式,為開發者提供便捷、即時的 RISC-V 算力服務。我們堅信,隨著更多行業伙伴與開發者的加入,RISC-V 生態將加速邁向成熟。
附錄
1.RISC-V Summit 2025:
https://riscvsummit2025.sched.com/event/28OTp/unlocking-15-more-performance-a-case-study-in-llvm-optimization-for-risc-v-mikhail-r-gadelha-igalia
2.RISE RP009:
https://blogs.igalia.com/compilers/2025/05/05/boosting-risc-v-application-performance-an-8-month-llvm-journey/
3.RISE BLOG :
https://riseproject.dev/2025/05/08/project-rp009-llvm-spec-optimization/
4.Igalia BLOG :
https://blogs.igalia.com/compilers/2025/05/05/boosting-risc-v-application-performance-an-8-month-llvm-journey/
-
編譯器
+關注
關注
1文章
1670瀏覽量
51138 -
RISC-V處理器
+關注
關注
0文章
86瀏覽量
10939 -
進迭時空
+關注
關注
0文章
51瀏覽量
308
發布評論請先 登錄
邊緣設備AI部署:編譯器如何實現輕量化與高性能?
Triton編譯器與GPU編程的結合應用
Triton編譯器如何提升編程效率
Triton編譯器在高性能計算中的應用
Triton編譯器的優化技巧
Triton編譯器的優勢與劣勢分析
Triton編譯器在機器學習中的應用
Triton編譯器的常見問題解決方案
Triton編譯器支持的編程語言
Triton編譯器與其他編譯器的比較
Triton編譯器功能介紹 Triton編譯器使用教程
HighTec C/C++編譯器套件全面支持芯來RISC-V IP

性能突破 | SpacemiT-X60 在 LLVM 編譯器上實現 16% 顯著提升
評論