[發明專利]一種柵元少群參數計算模塊程序的優化方法、系統、終端有效
| 申請號: | 202110160576.4 | 申請日: | 2021-02-05 |
| 公開(公告)號: | CN112783511B | 公開(公告)日: | 2023-04-11 |
| 發明(設計)人: | 楊昊;毛波;何琴;何金徽 | 申請(專利權)人: | 成都信息工程大學 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京輕創知識產權代理有限公司 11212 | 代理人: | 劉紅陽 |
| 地址: | 610225 四川省成都*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 柵元少群 參數 計算 模塊 程序 優化 方法 系統 終端 | ||
1.一種基于MPI的柵元少群參數計算模塊程序的優化方法,其特征在于,應用于信息數據處理終端,所述基于MPI的柵元少群參數計算模塊程序的優化方法包括:
編譯級優化,調整程序的編譯選項,并使用編譯器自帶的優化選項以及自動向量化指令對程序進行優化;
串行程序優化,面向程序代碼本身,根據C/C++語言的運行機制,對代碼中的循環,以及結構體的構造進行優化;
使用MPI技術對程序的熱點模塊-柵元計算模塊進行并行優化;
所述編譯級優化具體包括:
步驟1:編譯選項優化,系統編譯器提供了-O變量來控制編譯優化;使用優化選項以犧牲程序的編譯時間和程序的調試能力為代價,優化程序的性能;使用”-O2-g”的編譯選項進行編譯;“-g”表示使編譯器生成調試信息,“-O2”表示嘗試更多的寄存器級的優化以及指令級的優化;
步驟2:編譯器優化,對程序的熱點函數的循環計算中的內部循環使用編譯器提供的自動向量化,在循環前使用#pragmavectorunaligned編譯指令指示編譯器進行向量化時使用不對齊的數據讀寫方式;
所述串行程序優化具體包括:第一步:在程序中選用盡量小的數據類型,防止內存的浪費;同時對程序中訪問次數多的結構體變量,采用大數據類型在前,小數據類型在后的聲明方式,滿足處理器的對齊要求;
第二步:對程序的熱點函數的循環部分進行串行優化;
所述使用MPI技術對程序的熱點模塊-柵元計算模塊進行并行優化包括:
第1步:對初始化結塊數函數進行MPI任務劃分,初始化結塊數函數并行后,各個進程會根據新的結塊數分配微觀截面變量;
第2步:對讀取柵元庫數據函數進行基于MPI的并行劃分,實現多進程并行讀取數據;
第3步:第2步并行劃分后,對截面計算部分進行MPI并行劃分;
所述第2步具體包括:使用拆分變量的方式,拆分讀入數據到內存變量中,然后為各個進程定位至該進程讀取柵元庫的相應位置,最后使各個進程進行數據讀取,各個進程會各自讀取各自的柵元庫數據,為后續的并行截面計算打下基礎;
所述第3步具體包括:首先新增函數參數表示劃分后各個進程需要的結塊數,然后使循環中的的細微循環計算部分僅由主進程完成,使得微小數據不再進行MPI通信,避免冗余數據的傳輸開銷;對關鍵循環計算實現新劃分數據的MPI并行計算,同時增加參數用于細小參數的正確定位,最后使用點對點的非阻塞通信的方式將各個進程的計算結果匯總到主進程。
2.如權利要求1所述的基于MPI的柵元少群參數計算模塊程序的優化方法,其特征在于,所述第二步具體包括:對程序的熱點函數內的小循環且內部沒有判斷的進行展開,減少每次的判斷數量和循環變量的計算次數,增加處理器的流水線性能;對熱點函數內的多個之間沒有依賴的小循環合并,增加亂序執行能力。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都信息工程大學,未經成都信息工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110160576.4/1.html,轉載請聲明來源鉆瓜專利網。





