欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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

[0004] 本發(fā)明為解決上述問(wèn)題,提供了一種基于OPENCL的異構(gòu)共同計(jì)算均衡方法,該方 法應(yīng)用于CPU+GPU混合異構(gòu)共同計(jì)算系統(tǒng)中,所述CPU+GPU混合異構(gòu)共同計(jì)算系統(tǒng)劃分成 三個(gè)并行層次:節(jié)點(diǎn)間并行、節(jié)點(diǎn)內(nèi)CPU與GPU異構(gòu)并行、設(shè)備內(nèi)并行,所述設(shè)備是指CPU或 GPU ;CPU+GPU異構(gòu)共同計(jì)算模式為:節(jié)點(diǎn)間分布式,節(jié)點(diǎn)內(nèi)異構(gòu)式,設(shè)備內(nèi)共享式;所述節(jié) 點(diǎn)間分布式是指節(jié)點(diǎn)間采用了分布式的計(jì)算方式,所述節(jié)點(diǎn)內(nèi)異構(gòu)式是指每個(gè)節(jié)點(diǎn)內(nèi)部包 含一個(gè)多核CPU、一個(gè)或多個(gè)GPU,節(jié)點(diǎn)內(nèi)部采用主從式編程模型,即每個(gè)GPU需要由CPU進(jìn) 程或線程調(diào)用;所述設(shè)備內(nèi)并行是指每個(gè)節(jié)點(diǎn)內(nèi)的所有多核CPU采用了共享存儲(chǔ)模型,這 些CPU核并行計(jì)算,GPU設(shè)備內(nèi)有自己獨(dú)立的DRAM存儲(chǔ),GPU設(shè)備也是共享存儲(chǔ)模型,在GPU 上采用OpenCL編程控制GPU眾核的并行計(jì)算;在該系統(tǒng)中,由一個(gè)CPU進(jìn)程/線程負(fù)責(zé)復(fù) 雜邏輯和事務(wù)處理,其它CPU進(jìn)程/線程負(fù)責(zé)小部分并行計(jì)算,GPU負(fù)責(zé)大部分并行計(jì)算;
[0005] 在該方法中,節(jié)點(diǎn)內(nèi)和節(jié)點(diǎn)間均采用MPI進(jìn)程,設(shè)計(jì)負(fù)載均衡時(shí),只需做到進(jìn)程間 或設(shè)備之間的負(fù)載均衡和CPU設(shè)備內(nèi)OpenMP線程負(fù)載均衡、GPU設(shè)備內(nèi)CUDA線程負(fù)載均 衡即可;對(duì)于設(shè)備內(nèi),GPU設(shè)備上只要保證同一 warp內(nèi)的線程負(fù)載均衡即可;
[0006] 在該方法中,采用動(dòng)態(tài)負(fù)載均衡方式,即在任務(wù)執(zhí)行過(guò)程中,根據(jù)各GPU的運(yùn)行情 況重新調(diào)整負(fù)載分配,動(dòng)態(tài)分配任務(wù);對(duì)計(jì)算任務(wù)進(jìn)行劃分時(shí)按照輸入數(shù)據(jù)劃分,對(duì)于矩陣 AXB = C問(wèn)題而言,按輸入數(shù)據(jù)劃分可以分解為
[0007]
【主權(quán)項(xiàng)】
1. 一種基于OPENCL的異構(gòu)共同計(jì)算均衡方法,該方法應(yīng)用于CPU+GPU混合異構(gòu)共同計(jì) 算系統(tǒng)中, 所述CPU+GPU混合異構(gòu)共同計(jì)算系統(tǒng)劃分成三個(gè)并行層次:節(jié)點(diǎn)間并行、節(jié)點(diǎn)內(nèi)CPU與GPU異構(gòu)并行、設(shè)備內(nèi)并行,所述設(shè)備是指CPU或GPU;CPU+GPU異構(gòu)共同計(jì)算模式為:節(jié)點(diǎn) 間分布式,節(jié)點(diǎn)內(nèi)異構(gòu)式,設(shè)備內(nèi)共享式;所述節(jié)點(diǎn)間分布式是指節(jié)點(diǎn)間采用了分布式的計(jì) 算方式,所述節(jié)點(diǎn)內(nèi)異構(gòu)式是指每個(gè)節(jié)點(diǎn)內(nèi)部包含一個(gè)多核CPU、一個(gè)或多個(gè)GPU,節(jié)點(diǎn)內(nèi) 部采用主從式編程模型,即每個(gè)GPU需要由CPU進(jìn)程或線程調(diào)用;所述設(shè)備內(nèi)并行是指每個(gè) 節(jié)點(diǎn)內(nèi)的所有多核CPU采用了共享存儲(chǔ)模型,這些CPU核并行計(jì)算,GPU設(shè)備內(nèi)有自己獨(dú)立 的DRAM存儲(chǔ),GPU設(shè)備也是共享存儲(chǔ)模型,在GPU上采用OpenCL編程控制GPU眾核的并行 計(jì)算;在該系統(tǒng)中,由一個(gè)CPU進(jìn)程/線程負(fù)責(zé)復(fù)雜邏輯和事務(wù)處理,其它CPU進(jìn)程/線程 負(fù)責(zé)小部分并行計(jì)算,GPU負(fù)責(zé)大部分并行計(jì)算; 在該方法中,節(jié)點(diǎn)內(nèi)和節(jié)點(diǎn)間均采用MPI進(jìn)程,設(shè)計(jì)負(fù)載均衡時(shí),只需做到進(jìn)程間或設(shè) 備之間的負(fù)載均衡和CPU設(shè)備內(nèi)OpenMP線程負(fù)載均衡、GPU設(shè)備內(nèi)CUDA線程負(fù)載均衡即 可;對(duì)于設(shè)備內(nèi),GPU設(shè)備上只要保證同一warp內(nèi)的線程負(fù)載均衡即可; 在該方法中,采用動(dòng)態(tài)負(fù)載均衡方式,即在任務(wù)執(zhí)行過(guò)程中,根據(jù)各GPU的運(yùn)行情況 重新調(diào)整負(fù)載分配,動(dòng)態(tài)分配任務(wù);對(duì)計(jì)算任務(wù)進(jìn)行劃分時(shí)按照輸入數(shù)據(jù)劃分,對(duì)于矩陣 AXB=C問(wèn)題而言,按輸入數(shù)據(jù)劃分可以分解為
矩陣A與矩陣B分別按行與列劃分為若干數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊的計(jì)算為一個(gè)任務(wù),每次 傳輸矩陣A與矩陣B的一個(gè)數(shù)據(jù)塊至GPU,計(jì)算完成之后將數(shù)據(jù)傳回,然后分配下一個(gè)任務(wù)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,優(yōu)選的,對(duì)輸入數(shù)據(jù)劃分時(shí),使任務(wù)塊的 計(jì)算時(shí)間與其它GPU的一次數(shù)據(jù)傳輸?shù)臅r(shí)間相等。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,對(duì)計(jì)算任務(wù)進(jìn)行劃分時(shí),以"按照輸 出數(shù)據(jù)劃分"替代"按照輸入數(shù)據(jù)劃分",讓不同的GPU做不同位置的結(jié)果計(jì)算,計(jì)算結(jié)果完 全獨(dú)立,沒(méi)有依賴性,對(duì)于矩陣AXB=C問(wèn)題而言,按輸出數(shù)據(jù)劃分可以分解為
將矩陣C分塊,將不同塊的位置傳遞給各GPU,當(dāng)GPU計(jì)算完當(dāng)前塊之后可立即分配下 一個(gè)任務(wù),這樣可以做到負(fù)載均衡。
4. 根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,采用輸入和輸出同時(shí)劃分的 方式進(jìn)行數(shù)據(jù)劃分。
5. 根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的方法,其特征在于,CPU+GPU混合異構(gòu)共同計(jì)算系 統(tǒng)采用主從式MPI通信機(jī)制,在節(jié)點(diǎn)0上多起一個(gè)進(jìn)程作為主進(jìn)程,控制其它所有進(jìn)程。
6. 根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,每個(gè)節(jié)點(diǎn)上啟動(dòng)3個(gè)計(jì)算進(jìn) 程,其中兩個(gè)控制GPU設(shè)備,一個(gè)控制其余所有CPU核的并行。
7. 根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的方法,其特征在于,把節(jié)點(diǎn)內(nèi)的所有多核CPU看作 一個(gè)設(shè)備,采用MPI進(jìn)程或OpenMP線程、pThread線程控制這些CPU核的并行計(jì)算。
8. 根據(jù)權(quán)利要求1-7中任一項(xiàng)所述的方法,其特征在于,CPU+GPU混合異構(gòu)共同計(jì)算系 統(tǒng)中各個(gè)節(jié)點(diǎn)之間通過(guò)網(wǎng)絡(luò)進(jìn)行連接,節(jié)點(diǎn)間采用了分布式的計(jì)算方式,采用MPI消息通 信的并行編程語(yǔ)言。
9. 根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的方法,其特征在于,CPU+GPU混合異構(gòu)共同計(jì)算系 統(tǒng)中所述CPU只負(fù)責(zé)復(fù)雜邏輯和事務(wù)處理,GPU進(jìn)行大規(guī)模并行計(jì)算。
10. 根據(jù)權(quán)利要求1-9中任一項(xiàng)所述的方法,其特征在于,采用靜態(tài)負(fù)載均衡方式,即 在任務(wù)執(zhí)行之前,按各GPU的計(jì)算能力比例將任務(wù)均勻劃分到各GPU上。
【專利摘要】本發(fā)明公開(kāi)了一種基于OPENCL的異構(gòu)共同計(jì)算均衡方法,該方法應(yīng)用于CPU+GPU混合異構(gòu)共同計(jì)算系統(tǒng)中,所述CPU+GPU混合異構(gòu)共同計(jì)算系統(tǒng)劃分成三個(gè)并行層次:節(jié)點(diǎn)間并行、節(jié)點(diǎn)內(nèi)CPU與GPU異構(gòu)并行、設(shè)備內(nèi)并行;負(fù)載均衡性需要在上述3個(gè)層次上分別設(shè)計(jì);在該方法中,對(duì)計(jì)算任務(wù)進(jìn)行劃分時(shí)按照輸入數(shù)據(jù)劃分,劃分時(shí)使任務(wù)塊的計(jì)算時(shí)間與其它GPU的一次數(shù)據(jù)傳輸?shù)臅r(shí)間相等。采用本發(fā)明公開(kāi)的技術(shù)方案,較好地實(shí)現(xiàn)了CPU+GPU混合異構(gòu)計(jì)算機(jī)系統(tǒng)的負(fù)載均衡。
【IPC分類】G06F9-50, G06F9-38
【公開(kāi)號(hào)】CN104714850
【申請(qǐng)?zhí)枴緾N201510093877
【發(fā)明人】邰從越
【申請(qǐng)人】心醫(yī)國(guó)際數(shù)字醫(yī)療系統(tǒng)(大連)有限公司
【公開(kāi)日】2015年6月17日
【申請(qǐng)日】2015年3月2日
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
拉萨市| 罗定市| 滕州市| 麻城市| 方城县| 如皋市| 南涧| 巢湖市| 宝应县| 海兴县| 大名县| 比如县| 临沂市| 怀柔区| 峨眉山市| 马鞍山市| 扶绥县| 无锡市| 巴彦县| 那坡县| 克拉玛依市| 新余市| 安西县| 涟水县| 宾川县| 彝良县| 明光市| 屏东县| 惠东县| 上高县| 通州区| 大安市| 寿宁县| 宿松县| 井冈山市| 繁昌县| 博湖县| 合山市| 时尚| 普兰店市| 阿坝|