異構(gòu)GPU集群的并行編程模型及實(shí)現(xiàn).pdf_第1頁
已閱讀1頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、由于超強(qiáng)的計算能力,支持大規(guī)模數(shù)據(jù)級并行程序設(shè)計以及高速的訪存帶寬等特點(diǎn),GPU集群已經(jīng)成為現(xiàn)代高性能計算的主流技術(shù)和研究熱點(diǎn)。但GPU給集群帶來了復(fù)雜的體系結(jié)構(gòu)特征,不僅在節(jié)點(diǎn)層面呈現(xiàn)異構(gòu)化,節(jié)點(diǎn)內(nèi)也呈現(xiàn)異構(gòu)化,使得集群的并行計算能力成為多層面、不同類型的特點(diǎn),包括節(jié)點(diǎn)之間,節(jié)點(diǎn)內(nèi)部CPU和GPU之間,GPU內(nèi)的數(shù)據(jù)并行,極大地增加了編程和運(yùn)行部署的復(fù)雜性。
  目前沒有現(xiàn)成的編程模型完全應(yīng)對這種體系結(jié)構(gòu),主流的異構(gòu)GPU集群系

2、統(tǒng)大多采用針對GPU的異構(gòu)計算編程模型與面向分布式內(nèi)存的消息傳遞模型(MPI)松散的耦合方式,用戶將應(yīng)用描述成一系列彼此交互的MPI進(jìn)程,并部署到各個節(jié)點(diǎn)中運(yùn)行,如果MPI進(jìn)程是一個串行程序,則在節(jié)點(diǎn)中的CPU中運(yùn)行,如果MPI進(jìn)程包含數(shù)據(jù)并行處理過程,則在包含GPU的節(jié)點(diǎn)中運(yùn)行,但是這種方式將應(yīng)用如何劃分、劃分多少并行進(jìn)程缺乏依據(jù),難以保證分配給含GPU的節(jié)點(diǎn)的子任務(wù)是一個能發(fā)揮GPU計算能力的數(shù)據(jù)并行計算過程。同時,MPI+CUDA

3、本身并不是一個有著充分理論依據(jù)的計算模型,不具備可分析性。同串行執(zhí)行不同,并行、分布式執(zhí)行是一種不確定執(zhí)行,如何在各種情況下保證程序行為正確特別是不出現(xiàn)諸如死鎖、活鎖等現(xiàn)象需要編程模型具備可分析性,而這些是MPI+CUDA無法提供的。另外,在充分利用GPU集群多個層面的并行計算能力方面,由于實(shí)現(xiàn)異步控制的復(fù)雜性,MPI+CUDA的進(jìn)程之間一般通過發(fā)消息實(shí)現(xiàn)同步控制,這可能造成大量等待,嚴(yán)重影響性能;而異步控制需要程序員人工實(shí)現(xiàn)進(jìn)程間數(shù)據(jù)

4、緩沖及復(fù)雜的上下文傳遞,使得編程非常困難。
  為了解決上述問題,我們基于DFG設(shè)計和實(shí)現(xiàn)一種能契合GPU異構(gòu)集群體系結(jié)構(gòu)的新型編程框架DISPAR。DISPAR編程框架的基本思想是基于數(shù)據(jù)流模型描述應(yīng)用,引導(dǎo)用戶以數(shù)據(jù)流為核心將應(yīng)用分解成一系列以異步方式工作的VNODE,構(gòu)成數(shù)據(jù)并行子任務(wù)(進(jìn)程),發(fā)揮GPU的并行計算能力。DFG是一種主流的應(yīng)用于描述數(shù)據(jù)密集型應(yīng)用的模型,具有層次化描述能力,因此適合描述復(fù)雜的應(yīng)用,相比其它計算

5、模型,DFG能以最自然的方式顯式表達(dá)應(yīng)用中的并行性,并且以數(shù)據(jù)為核心描述應(yīng)用,是目前公認(rèn)的最能夠體現(xiàn)應(yīng)用中數(shù)據(jù)并行性的計算模型。另外,VNODE的數(shù)據(jù)驅(qū)動控制方式能最大程度實(shí)現(xiàn)異步并發(fā)運(yùn)行,減少因同步操作對性能的影響,各個節(jié)點(diǎn)異步運(yùn)行,摒棄全局控制和最小化同步需求。DISPAR編程框架取代了MPI編程模型中的隨意、盲目的顯式進(jìn)程劃分,自動生成的MPI+CUDA進(jìn)程與運(yùn)行平臺之間的相關(guān)性小,帶來可移植性、可擴(kuò)展性等優(yōu)勢。
  本文通

6、過采用擴(kuò)展語言方法實(shí)現(xiàn)DISPAR編程模型,通過簡單的兩個構(gòu)件VNODE和PIPE來描述應(yīng)用程序的系統(tǒng)級結(jié)構(gòu),成為C語言的一個擴(kuò)充。DISPAR編程模型異步化子任務(wù)運(yùn)行,對基本操作進(jìn)行標(biāo)準(zhǔn)化封裝,實(shí)現(xiàn)異步控制,使得編程非常容易,實(shí)現(xiàn)異步控制的上下文、緩沖等有效封裝,使得編程容易,應(yīng)用程序簡潔。
  為實(shí)現(xiàn)這種新型語言,規(guī)避了重新設(shè)計編譯器的復(fù)雜性,論文提出了一種源程序至源程序轉(zhuǎn)換方式,即StreamCC預(yù)處理器,能有效地將一個DI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論