[發明專利]基于LLVM的科學計算程序自動性能預測方法有效
| 申請號: | 201510578801.0 | 申請日: | 2015-09-11 |
| 公開(公告)號: | CN105183650B | 公開(公告)日: | 2018-03-16 |
| 發明(設計)人: | 張偉哲;何慧;謝虎成;郝萌;王學惠;韓碩;魯剛釗 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 哈爾濱市松花江專利商標事務所23109 | 代理人: | 楊立超 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 llvm 科學 計算 程序 自動 性能 預測 方法 | ||
1.一種基于LLVM的科學計算程序自動性能預測方法,其特征在于,所述方法的實現過程為:
步驟一、將待預測的源程序轉化為LLVM中的中間代碼bitcode;
步驟二、分析中間代碼bitcode,從而獲得識別通訊指令MPI的調用、循環次數、靜態分支概率;具體過程為:
根據公式%tc=(%end-%start)/%stride獲得循環次數%tc,其中,%end表示循環結束值,%start表示循環起始值,%stride表示循環步進;
%end是真退出的終止指令,認為是比較指令icmp;
%start是在循環外離循環最近的寫入循環歸納變量的存儲指令;
分析基本塊Header中的phi指令,獲得含有%start、%stride的指令,從而分析得到%stride值;
步驟三、對所述中間代碼bitcode進行混合插樁,分別為:進行通訊指令MPI的通訊量及通訊類型的插樁,循環次數結合靜態分支概率獲得基本塊執行次數進行插樁;
步驟四、對進行混合插樁后的中間代碼bitcode進行代碼刪減,并進行優化處理;
步驟五、運行經優化處理后中間代碼bitcode,得到llvmprof.out文件;
步驟六、分析llvmprof.out文件,并結合指令時間預測執行時間。
2.根據權利要求1所述的一種基于LLVM的科學計算程序自動性能預測方法,其特征在于,通訊指令MPI的通訊量及通訊類型的插樁過程為:
首先,通過LLVM找到中間代碼bitcode中的MPI指令,然后分析MPI指令的通訊數量count和通訊類型datatype,根據公式count×sizeof(datatype)求得該MPI指令總的通訊量,sizeof表示計算類型的大小;
插樁內容包括計算器數組、轉換表和訪問表。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510578801.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種自組網自動化測試方法及裝置
- 下一篇:一種基于數據匹配的仿真回放方法





