《6-RV23-工具-王凱帆-最終版.pdf》由會員分享,可在線閱讀,更多相關《6-RV23-工具-王凱帆-最終版.pdf(18頁珍藏版)》請在三個皮匠報告上搜索。
1、敏捷開發工具鏈助力香山高性能處理器核王凱帆 徐易難 陳國凱 李昕 等中國科學院計算技術研究所2023 年 8 月 24 日第三屆 RISC-V 中國峰會中國科學院計算技術研究所(ICT,CAS)2 2背景:高性能處理器競爭激烈 香山處理器核需要通過敏捷開發工具鏈提升迭代速度,以快速實現對標甚至超越 RISC-V 處理器核與 X86/ARM目前在性能上存在差距 RISC-V 陣營內部,國際企業SiFive 和 Ventana 等具備一定的先發優勢和人才優勢香山第一代(雁棲湖)香山第二代(南湖)香山第三代(昆明湖)中國科學院計算技術研究所(ICT,CAS)3 3背景:高性能處理器敏捷開發 香山核心
2、價值是構建一套芯片敏捷設計基礎設施,縮短迭代優化周期 開源開放能力體系,聯合企業加速處理器研發節奏,支持按需快速定制芯片成果開源能力開放中國科學院計算技術研究所(ICT,CAS)4 4高性能處理器敏捷開發現狀 香山高性能處理器核開發進入深水區,面臨的兩個主要的問題功能驗證性能優化處理器設計與驗證在敏捷度上的差距持續擴大,形成一堵驗證墻設計簡單設計簡單收益確定收益確定設計困難設計困難收益不定收益不定已知簡單優化點實現殆盡,性能優化轉向探索性與精細化中國科學院計算技術研究所(ICT,CAS)5 5回顧:香山敏捷開發工具鏈敏捷功能驗證敏捷性能優化中國科學院計算技術研究所(ICT,CAS)6 6功能驗
3、證循環的不足 問題定位環節仍然需要大量人力 結構化信息輔助調試 系統級驗證提升覆蓋率困難 硬件模糊測試中國科學院計算技術研究所(ICT,CAS)7 7結構化信息輔助調試 功能驗證的最后一公里問題 如何根據硬件出錯狀態定位 Bug ChiselDB1為結構化信息調試提供可能 以處理器緩存調試為例:仿真硬件探針處理器仿真進程結構化信息數據庫預取器功能驗證自動化腳本緩存功能驗證自動化腳本分支預測功能驗證自動化腳本1 ChiselDB:Mapping Hardware Data Structures to Database for Efficient Data Analysis,Jiawei LinI
4、CT中國科學院計算技術研究所(ICT,CAS)8 8面向 RISC-V CPU 的覆蓋率導向模糊測試 原理:初始種子遺傳算法新測試輸入錯誤檢查覆蓋率反饋中國科學院計算技術研究所(ICT,CAS)9 9面向 RISC-V CPU 的覆蓋率導向模糊測試 應用:指導發現大量功能正確性 BUG落地香山第二代南湖項目錯誤示例:pmpaddr1 寄存器邏輯實現錯誤測試其他開源處理器功能正確性rocket-chip:越界訪問頁表時未正確報出 access-fault 異常中國科學院計算技術研究所(ICT,CAS)1010性能優化循環的不足 精細化 從宏觀到微觀的性能分析流程 探索性 運行時設計參數調整 設計
5、參數自動求解中國科學院計算技術研究所(ICT,CAS)1111Top-down 宏觀性能分析從宏觀上發現香山性能瓶頸中國科學院計算技術研究所(ICT,CAS)1212XSPerfRolling 微觀性能分析 仿真運行各類 Workload 時,處理器性能表現往往不均一 以若干 SPEC CPU 2006 Checkpoint 的 IPC rolling 曲線為例(40M cycles):一些架構/參數的改動只影響其中若干片斷,性能計數器作為變化表征會被稀釋Feature:預取器的訓練時機改動libquantumbwavesmcf中國科學院計算技術研究所(ICT,CAS)1313XSPerfRo
6、lling 微觀性能分析 支持性能指標的 Rolling 曲線采集與可視化工具+方便快捷的添加流程+可視化性能分析+精細分析片斷間的性能差異+幫助鎖定參數敏感的 Critical Region-存儲開銷更大 使用 ChiselDB 緩解存儲問題Critical Region編譯+仿真+腳本分析中國科學院計算技術研究所(ICT,CAS)1414如何更快地調整設計參數方法1仿真評估問題:編譯與仿真串行化,參數調優效率低下參數 A 編譯仿真評估參數 B 編譯方法2參數 A 編譯參數 B 編譯仿真評估仿真評估問題:多次編譯耗費大量服務器資源,擴展性不佳使用 DPI 接口在運行時指定設計參數新方法中國科
7、學院計算技術研究所(ICT,CAS)1515Constantin 運行時設計參數調控框架 一種運行時的設計參數調控框架 關鍵技術:用 DPI-C 接口指定參數 將確定常量取值的時刻從編譯時推遲到運行時 多種使用場景,敏捷多參數調控 控制標量參數,如隊列大小、請求延遲等 控制功能開關,如是否開啟子分支預測器等 切換模塊選擇,控制Mux切換模塊連線 優勢:只需一次編譯即可靈活調參,擴展性好調參無需手動修改代碼邏輯,解放人力中國科學院計算技術研究所(ICT,CAS)1616ConstantSolver 設計參數自動求解工具 自動化迭代求解常量參數最優取值 基于 Constantin 運行時參數調控框
8、架 指定性能指標,仿真收集 RTL 性能計數值 利用求解算法(如遺傳算法)迭代常量參數值,并行迭代循環優勢:快速參數探索,解放調參所需人力中國科學院計算技術研究所(ICT,CAS)1818ConstantSolver 設計參數自動求解工具 設計參數求解真實案例:求解 Load 指令 Cache miss 重發阻塞周期初始人工經驗參數(11,18,127,17)自動求解參數結果(7,0,126,95)求解目標:最大化總線 forward 成功率最小化缺失 penalty00.10.20.30.4ipcbaselineoptimized在訪存敏感 Benchmark 上獲得11.6%的性能提升中國科學院計算技術研究所(ICT,CAS)1919小結 香山高性能處理器開發進入深水區:敏捷開發方法助力快速迭代 彌補敏捷功能驗證的短板:結構化信息輔助調試 面向 RISC-V CPU 的覆蓋率導向模糊測試 彌補敏捷性能優化的短板:從宏觀到微觀的性能分析流程 Constantin 運行時設計參數調控框架 ConstantSolver 設計參數自動求解工具敏捷開發工具集在香山社區開源https:/