[發明專利]一種基于OPENCL的異構共同計算均衡方法有效
| 申請號: | 201510093877.4 | 申請日: | 2015-03-02 |
| 公開(公告)號: | CN104714850A | 公開(公告)日: | 2015-06-17 |
| 發明(設計)人: | 邰從越 | 申請(專利權)人: | 心醫國際數字醫療系統(大連)有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/38 |
| 代理公司: | 北京科億知識產權代理事務所(普通合伙) 11350 | 代理人: | 湯東鳳;張波濤 |
| 地址: | 116023 遼寧省大連市大連高新*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 opencl 共同 計算 均衡 方法 | ||
技術領域
本發明涉及計算機計算領域,具體涉及一種基于OPENCL的異構共同計算均衡方法。
背景技術
OpenCL(全稱Open?Computing?Language,開放運算語言)是面向異構系統通用目的并行編程的開放式、免費標準,也是一個統一的編程環境,便于軟件開發人員為高性能計算服務器、桌面計算系統、手持設備編寫高效輕便的代碼,而且廣泛適用于多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構以及數字信號處理器(DSP)等其他并行處理器。
近年來,基于CPU+GPU的混合異構計算系統開始逐漸成為國內外高性能計算領域的熱點研究方向。在實際應用中,許多基于CPU+GPU的混合異構計算機系統表現出了良好的性能。但是,由于各種歷史和現實原因的制約,異構計算仍然面臨著諸多方面的問題,其中最突出的問題是程序開發困難,尤其是擴展到集群規模級別時這個問題更為突出,主要表現在擴展性、負載均衡等方面。
發明內容
本發明為解決上述問題,提供了一種基于OPENCL的異構共同計算均衡方法,該方法應用于CPU+GPU混合異構共同計算系統中,所述CPU+GPU混合異構共同計算系統劃分成三個并行層次:節點間并行、節點內CPU與GPU異構并行、設備內并行,所述設備是指CPU或GPU;CPU+GPU異構共同計算模式為:節點間分布式,節點內異構式,設備內共享式;所述節點間分布式是指節點間采用了分布式的計算方式,所述節點內異構式是指每個節點內部包含一個多核CPU、一個或多個GPU,節點內部采用主從式編程模型,即每個GPU需要由CPU進程或線程調用;所述設備內并行是指每個節點內的所有多核CPU采用了共享存儲模型,這些CPU核并行計算,GPU設備內有自己獨立的DRAM存儲,GPU設備也是共享存儲模型,在GPU上采用OpenCL編程控制GPU眾核的并行計算;在該系統中,由一個CPU進程/線程負責復雜邏輯和事務處理,其它CPU進程/線程負責小部分并行計算,GPU負責大部分并行計算;
在該方法中,節點內和節點間均采用MPI進程,設計負載均衡時,只需做到進程間或設備之間的負載均衡和CPU設備內OpenMP線程負載均衡、GPU設備內CUDA線程負載均衡即可;對于設備內,GPU設備上只要保證同一warp內的線程負載均衡即可;
在該方法中,采用動態負載均衡方式,即在任務執行過程中,根據各GPU的運行情況重新調整負載分配,動態分配任務;對計算任務進行劃分時按照輸入數據劃分,對于矩陣A×B=C問題而言,按輸入數據劃分可以分解為
矩陣A與矩陣B分別按行與列劃分為若干數據塊,每個數據塊的計算為一個任務,每次傳輸矩陣A與矩陣B的一個數據塊至GPU,計算完成之后將數據傳回,然后分配下一個任務。
優選地,對輸入數據劃分時,使任務塊的計算時間與其它GPU的一次數據傳輸的時間相等。
可替代地,對計算任務進行劃分時,以“按照輸出數據劃分”替代“按照輸入數據劃分”,讓不同的GPU做不同位置的結果計算,計算結果完全獨立,沒有依賴性,對于矩陣A×B=C問題而言,按輸出數據劃分可以分解為
將矩陣C分塊,將不同塊的位置傳遞給各GPU,當GPU計算完當前塊之后可立即分配下一個任務,這樣可以做到負載均衡。
可替代地,采用輸入和輸出同時劃分的方式進行數據劃分。
優選地,CPU+GPU混合異構共同計算系統采用主從式MPI通信機制,在節點0上多起一個進程作為主進程,控制其它所有進程。
優選地,每個節點上啟動3個計算進程,其中兩個控制GPU設備,一個控制其余所有CPU核的并行。
優選地,把節點內的所有多核CPU看作一個設備,采用MPI進程或OpenMP線程、pThread線程控制這些CPU核的并行計算。
優選地,CPU+GPU混合異構共同計算系統中各個節點之間通過網絡進行連接,節點間采用了分布式的計算方式,采用MPI消息通信的并行編程語言。
可替代地,CPU+GPU混合異構共同計算系統中所述CPU只負責復雜邏輯和事務處理,GPU進行大規模并行計算。
可替代地,采用靜態負載均衡方式,即在任務執行之前,按各GPU的計算能力比例將任務均勻劃分到各GPU上。
本發明相較于現有技術較好地實現了CPU+GPU的混合異構計算機系統的負載均衡。
附圖說明
圖1為CPU+GPU異構共同計算集群架構;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于心醫國際數字醫療系統(大連)有限公司;,未經心醫國際數字醫療系統(大連)有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510093877.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:風扇監測系統
- 下一篇:一種數據訪問處理方法及裝置





