两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于opencl的異構(gòu)共同計算均衡方法

文檔序號:8395770閱讀:308來源:國知局
一種基于opencl的異構(gòu)共同計算均衡方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機計算領(lǐng)域,具體涉及一種基于OPENCL的異構(gòu)共同計算均衡方 法。
【背景技術(shù)】
[0002] OpenCL (全稱Open Computing Language,開放運算語言)是面向異構(gòu)系統(tǒng)通用 目的并行編程的開放式、免費標準,也是一個統(tǒng)一的編程環(huán)境,便于軟件開發(fā)人員為高性能 計算服務(wù)器、桌面計算系統(tǒng)、手持設(shè)備編寫高效輕便的代碼,而且廣泛適用于多核心處理器 (CPU)、圖形處理器(GPU)、Cell類型架構(gòu)以及數(shù)字信號處理器(DSP)等其他并行處理器。
[0003] 近年來,基于CPU+GPU的混合異構(gòu)計算系統(tǒng)開始逐漸成為國內(nèi)外高性能計算領(lǐng)域 的熱點研宄方向。在實際應(yīng)用中,許多基于CPU+GPU的混合異構(gòu)計算機系統(tǒng)表現(xiàn)出了良好 的性能。但是,由于各種歷史和現(xiàn)實原因的制約,異構(gòu)計算仍然面臨著諸多方面的問題,其 中最突出的問題是程序開發(fā)困難,尤其是擴展到集群規(guī)模級別時這個問題更為突出,主要 表現(xiàn)在擴展性、負載均衡等方面。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明為解決上述問題,提供了一種基于OPENCL的異構(gòu)共同計算均衡方法,該方 法應(yīng)用于CPU+GPU混合異構(gòu)共同計算系統(tǒng)中,所述CPU+GPU混合異構(gòu)共同計算系統(tǒng)劃分成 三個并行層次:節(jié)點間并行、節(jié)點內(nèi)CPU與GPU異構(gòu)并行、設(shè)備內(nèi)并行,所述設(shè)備是指CPU或 GPU ;CPU+GPU異構(gòu)共同計算模式為:節(jié)點間分布式,節(jié)點內(nèi)異構(gòu)式,設(shè)備內(nèi)共享式;所述節(jié) 點間分布式是指節(jié)點間采用了分布式的計算方式,所述節(jié)點內(nèi)異構(gòu)式是指每個節(jié)點內(nèi)部包 含一個多核CPU、一個或多個GPU,節(jié)點內(nèi)部采用主從式編程模型,即每個GPU需要由CPU進 程或線程調(diào)用;所述設(shè)備內(nèi)并行是指每個節(jié)點內(nèi)的所有多核CPU采用了共享存儲模型,這 些CPU核并行計算,GPU設(shè)備內(nèi)有自己獨立的DRAM存儲,GPU設(shè)備也是共享存儲模型,在GPU 上采用OpenCL編程控制GPU眾核的并行計算;在該系統(tǒng)中,由一個CPU進程/線程負責復 雜邏輯和事務(wù)處理,其它CPU進程/線程負責小部分并行計算,GPU負責大部分并行計算;
[0005] 在該方法中,節(jié)點內(nèi)和節(jié)點間均采用MPI進程,設(shè)計負載均衡時,只需做到進程間 或設(shè)備之間的負載均衡和CPU設(shè)備內(nèi)OpenMP線程負載均衡、GPU設(shè)備內(nèi)CUDA線程負載均 衡即可;對于設(shè)備內(nèi),GPU設(shè)備上只要保證同一 warp內(nèi)的線程負載均衡即可;
[0006] 在該方法中,采用動態(tài)負載均衡方式,即在任務(wù)執(zhí)行過程中,根據(jù)各GPU的運行情 況重新調(diào)整負載分配,動態(tài)分配任務(wù);對計算任務(wù)進行劃分時按照輸入數(shù)據(jù)劃分,對于矩陣 AXB = C問題而言,按輸入數(shù)據(jù)劃分可以分解為
[0007]
【主權(quán)項】
1. 一種基于OPENCL的異構(gòu)共同計算均衡方法,該方法應(yīng)用于CPU+GPU混合異構(gòu)共同計 算系統(tǒng)中, 所述CPU+GPU混合異構(gòu)共同計算系統(tǒng)劃分成三個并行層次:節(jié)點間并行、節(jié)點內(nèi)CPU與GPU異構(gòu)并行、設(shè)備內(nèi)并行,所述設(shè)備是指CPU或GPU;CPU+GPU異構(gòu)共同計算模式為:節(jié)點 間分布式,節(jié)點內(nèi)異構(gòu)式,設(shè)備內(nèi)共享式;所述節(jié)點間分布式是指節(jié)點間采用了分布式的計 算方式,所述節(jié)點內(nèi)異構(gòu)式是指每個節(jié)點內(nèi)部包含一個多核CPU、一個或多個GPU,節(jié)點內(nèi) 部采用主從式編程模型,即每個GPU需要由CPU進程或線程調(diào)用;所述設(shè)備內(nèi)并行是指每個 節(jié)點內(nèi)的所有多核CPU采用了共享存儲模型,這些CPU核并行計算,GPU設(shè)備內(nèi)有自己獨立 的DRAM存儲,GPU設(shè)備也是共享存儲模型,在GPU上采用OpenCL編程控制GPU眾核的并行 計算;在該系統(tǒng)中,由一個CPU進程/線程負責復雜邏輯和事務(wù)處理,其它CPU進程/線程 負責小部分并行計算,GPU負責大部分并行計算; 在該方法中,節(jié)點內(nèi)和節(jié)點間均采用MPI進程,設(shè)計負載均衡時,只需做到進程間或設(shè) 備之間的負載均衡和CPU設(shè)備內(nèi)OpenMP線程負載均衡、GPU設(shè)備內(nèi)CUDA線程負載均衡即 可;對于設(shè)備內(nèi),GPU設(shè)備上只要保證同一warp內(nèi)的線程負載均衡即可; 在該方法中,采用動態(tài)負載均衡方式,即在任務(wù)執(zhí)行過程中,根據(jù)各GPU的運行情況 重新調(diào)整負載分配,動態(tài)分配任務(wù);對計算任務(wù)進行劃分時按照輸入數(shù)據(jù)劃分,對于矩陣 AXB=C問題而言,按輸入數(shù)據(jù)劃分可以分解為
矩陣A與矩陣B分別按行與列劃分為若干數(shù)據(jù)塊,每個數(shù)據(jù)塊的計算為一個任務(wù),每次 傳輸矩陣A與矩陣B的一個數(shù)據(jù)塊至GPU,計算完成之后將數(shù)據(jù)傳回,然后分配下一個任務(wù)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,優(yōu)選的,對輸入數(shù)據(jù)劃分時,使任務(wù)塊的 計算時間與其它GPU的一次數(shù)據(jù)傳輸?shù)臅r間相等。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,對計算任務(wù)進行劃分時,以"按照輸 出數(shù)據(jù)劃分"替代"按照輸入數(shù)據(jù)劃分",讓不同的GPU做不同位置的結(jié)果計算,計算結(jié)果完 全獨立,沒有依賴性,對于矩陣AXB=C問題而言,按輸出數(shù)據(jù)劃分可以分解為
將矩陣C分塊,將不同塊的位置傳遞給各GPU,當GPU計算完當前塊之后可立即分配下 一個任務(wù),這樣可以做到負載均衡。
4. 根據(jù)權(quán)利要求1-3中任一項所述的方法,其特征在于,采用輸入和輸出同時劃分的 方式進行數(shù)據(jù)劃分。
5. 根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,CPU+GPU混合異構(gòu)共同計算系 統(tǒng)采用主從式MPI通信機制,在節(jié)點0上多起一個進程作為主進程,控制其它所有進程。
6. 根據(jù)權(quán)利要求1-5中任一項所述的方法,其特征在于,每個節(jié)點上啟動3個計算進 程,其中兩個控制GPU設(shè)備,一個控制其余所有CPU核的并行。
7. 根據(jù)權(quán)利要求1-6中任一項所述的方法,其特征在于,把節(jié)點內(nèi)的所有多核CPU看作 一個設(shè)備,采用MPI進程或OpenMP線程、pThread線程控制這些CPU核的并行計算。
8. 根據(jù)權(quán)利要求1-7中任一項所述的方法,其特征在于,CPU+GPU混合異構(gòu)共同計算系 統(tǒng)中各個節(jié)點之間通過網(wǎng)絡(luò)進行連接,節(jié)點間采用了分布式的計算方式,采用MPI消息通 信的并行編程語言。
9. 根據(jù)權(quán)利要求1-8中任一項所述的方法,其特征在于,CPU+GPU混合異構(gòu)共同計算系 統(tǒng)中所述CPU只負責復雜邏輯和事務(wù)處理,GPU進行大規(guī)模并行計算。
10. 根據(jù)權(quán)利要求1-9中任一項所述的方法,其特征在于,采用靜態(tài)負載均衡方式,即 在任務(wù)執(zhí)行之前,按各GPU的計算能力比例將任務(wù)均勻劃分到各GPU上。
【專利摘要】本發(fā)明公開了一種基于OPENCL的異構(gòu)共同計算均衡方法,該方法應(yīng)用于CPU+GPU混合異構(gòu)共同計算系統(tǒng)中,所述CPU+GPU混合異構(gòu)共同計算系統(tǒng)劃分成三個并行層次:節(jié)點間并行、節(jié)點內(nèi)CPU與GPU異構(gòu)并行、設(shè)備內(nèi)并行;負載均衡性需要在上述3個層次上分別設(shè)計;在該方法中,對計算任務(wù)進行劃分時按照輸入數(shù)據(jù)劃分,劃分時使任務(wù)塊的計算時間與其它GPU的一次數(shù)據(jù)傳輸?shù)臅r間相等。采用本發(fā)明公開的技術(shù)方案,較好地實現(xiàn)了CPU+GPU混合異構(gòu)計算機系統(tǒng)的負載均衡。
【IPC分類】G06F9-50, G06F9-38
【公開號】CN104714850
【申請?zhí)枴緾N201510093877
【發(fā)明人】邰從越
【申請人】心醫(yī)國際數(shù)字醫(yī)療系統(tǒng)(大連)有限公司
【公開日】2015年6月17日
【申請日】2015年3月2日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
康乐县| 宽城| 隆昌县| 曲水县| 修武县| 峨眉山市| 蓬安县| 遂昌县| 且末县| 柘城县| 余干县| 孝感市| 札达县| 涞源县| 南投市| 南昌县| 仁化县| 宁强县| 岐山县| 元阳县| 青海省| 凌源市| 嘉黎县| 大竹县| 玉田县| 普洱| 津市市| 龙江县| 夏邑县| 宜州市| 武穴市| 丰县| 胶州市| 乡宁县| 通道| 罗定市| 秀山| 承德市| 榆林市| 密山市| 神池县|