[發明專利]一種基于MIC架構處理器的并行度優化方法在審
| 申請號: | 201811301383.0 | 申請日: | 2018-11-02 |
| 公開(公告)號: | CN109597622A | 公開(公告)日: | 2019-04-09 |
| 發明(設計)人: | 王卓薇;陳娟;程良倫 | 申請(專利權)人: | 廣東工業大學 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 林麗明 |
| 地址: | 510006 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 并行 并行度 架構處理器 應用程序 循環迭代 優化 線程 并行性分析 并行線程 程序執行 函數方式 開發周期 軟件開發 協處理器 整體計算 粗粒度 細粒度 層級 迭代 封裝 進程 開發 | ||
本發明提供了一種基于MIC(眾核協處理器)架構處理器的并行度優化方法,涉及了并行線程/進程數目、并行層級、并行粒度等方面,具體內容包括:首先對應用程序進行熱點并行性分析,根據循環迭代判斷并行粒度,如果迭代次數較低,采用MPI級別粗粒度并行;對循環迭代使用封裝的并行方案和使用線程庫寫線程函數方式進行細粒度并行。本發明用于MIC架構處理器平臺的并行度優化,指導軟件開發人員以較短開發周期,較低開發成本,快速對應用程序的熱點進行并行度優化,縮短了程序執行時間,提高了應用程序的整體計算效率。
技術領域
本發明涉及處理器架構領域,更具體地,涉及一種基于MIC架構處理器的并行度優化方法。
背景技術
在計算機體系結構中,并行度是指指令并行執行的最大條數。在設計并行程序時,我們可以簡單地把并行度認為是在多核/眾核處理器上能同時執行的線程數/進程數。現有的并行設計方法在計算效率上任然沒有較大的提升,這也造成了現有的并行度設計方法很難有效提升程序的性能。
發明內容
本發明為克服上述現有技術所述的至少一種缺陷,提供一種基于MIC架構處理器的并行度優化方法。
本發明旨在至少在一定程度上解決上述技術問題。
本發明的目的是指導軟件開發人員已較短開發周期,較低開發成本,快速對應用程序的熱點進行并行度優化,縮短了程序執行時間,提高了應用程序的整體計算效率。
為解決上述技術問題,本發明的技術方案如下:一種基于MIC架構處理器的并行度優化方法,包括以下步驟:
S1:熱點判斷,確定函數占用的熱點;
S2:根據函數占用的熱點比例判斷是否有移植的可行性;
S3:判斷程序是否有并行化的空間;
S4:分析循環迭代體;
S5:選擇并行方式。
優選地,所述S1熱點判斷,確定函數占用的熱點是采用自頂向下的方法找到熱點。
優選地,所述S2中根據函數占用的熱點比例判斷是否有移植的可行性的具體步驟為:
S21:查看主函數調用的子函數,確定該子函數的時間占用是否占總運行時間的比例;
S22:如果子函數的運行時間時間占總運行時間的比例高于40%,則該子函數可以并行;
S23:如果可以并行調用,則對其進行并行移植,如果不能并行,則查看該子函數調用的子函數能否被并行調用,直到最底層函數。
優選地,所述S3中判斷函數并行化空間具體為:如果程序中有循環,則可并行化。
優選地,所述S4中分析循環迭代體包括:循環迭代次數、代體運行時間、迭代與迭代之間是否有數據依賴。
優選地,所述S5中選取并行方式具體為:如果迭代次數較低,每個迭代代碼比較復雜,迭代之間沒有或只有很少的數據交換,則選擇粗粒度并行;如果并發度高,占用資源相對較少,單線程工作量相對較小,代碼段比較獨立,與其他部分數據交換少則選擇細粒度并行。
優選的,本方法執行在MIC架構的處理器上,并且使用的編譯器是支持MIC架構及其指令集的任意編譯器。
與現有技術相比,本發明技術方案的有益效果是:本發明只對較大的熱點進行分析,而放棄較小的熱點,避免造成移植成本太高,造成的經濟上的損失;并且對迭代次數較低,迭代代碼比較復雜,迭代之間沒有或只有很少的數據交換的代碼選擇粗粒度并行,對并發度高,占用資源相對較少,單線程工作量相對較小,代碼段比較獨立與其他部分數據交換少的代碼選擇細粒度并行,這樣可以有效地分配計算資源,從而提高了應用程序的整體計算效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東工業大學,未經廣東工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811301383.0/2.html,轉載請聲明來源鉆瓜專利網。





