版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、現(xiàn)代電子技術(shù)ModernElectronicsTechnique2013年2月15日第36卷第4期Jan.2013Vol.36No.4圖形處理器(GraphicProcessingUnit,GPU)是一種專用圖形渲染部件,存在于現(xiàn)今每臺PC、嵌入式系統(tǒng)、手機(jī)和游戲設(shè)備中,它可以分擔(dān)CPU的二維或三維圖像處理任務(wù)。GPU最初被用作紋理映射和多邊形著色等計算量大的計算機(jī)圖形基本任務(wù),近年來由于GPU擁有了可編程著色器(Shaders),可以
2、像CPU一樣處理頂點以及紋理。因為計算機(jī)圖形學(xué)的計算涉及到一些通用計算,比如矩陣和向量運算,且GPU具有天生的適合大量數(shù)據(jù)處理的并行計算架構(gòu),于是科研人員開始嘗試?yán)肎PU來進(jìn)行非圖形學(xué)的通用計算。這種技術(shù)被稱為GPGPU(GeneralPurposeComputingonGraphicsProcessingUnit)技術(shù)。1GPU通用計算技術(shù)1.1GPGPU技術(shù)簡介GPU在PC中與CPU使用PCIe或者AGP總線連接并交換數(shù)據(jù),其輸出
3、端連接顯示器,如圖1所示?,F(xiàn)代GPU的工作流程包含下列幾個步驟:先從CPU處獲得三維模型,這些模型是用頂點坐標(biāo)和色彩信息組成;GPU對這些頂點位置進(jìn)行一系列的變換,然后投影到幀緩存中;同時,GPU再對投影結(jié)果進(jìn)行剪裁、光柵化等一系列的處理;隨后每個幀緩存里的像素經(jīng)過GPU的一系列變換最后被輸出到顯示器上[1]。這一連串的圖形處理任務(wù)通常稱為圖形流水線(GraphicPipe?line)。圖1GPU在計算機(jī)中的位置圖形流水線有不同的應(yīng)用程
4、序接口(API)來定義它們的功能,最主要的是OpenGL和Direct3D。本文主要討論使用OpenGL來實現(xiàn)GPU的通用計算功能。OpenGL盡可能提供對GPU更底層的硬件訪問,同時保證接口的平臺無關(guān)性[2]。其定義的圖形流水線符合前述的圖形流水線模型。圖2表示了一個簡化的OpenGL圖形流水線,其中略去了與經(jīng)典GPGPU方法無關(guān)的模塊。圖中的紋理緩存模塊是GPU通用計算的關(guān)鍵,主基于圖形處理器的通用計算技術(shù)的研究戴長江,張尤賽(江蘇
5、科技大學(xué),江蘇鎮(zhèn)江212003)摘要:為了研究基于PC的圖形處理器(GPU)的通用計算技術(shù),采用了基于紋理映射的經(jīng)典GPU通用計算方法,進(jìn)行了二維圖像離散卷積和三維紋理映射體繪制的實驗。實驗證明了經(jīng)典GPU通用計算技術(shù)在合適的算法設(shè)計基礎(chǔ)上能夠顯著提升程序的運算速度,得出了基于CPUGPU的異構(gòu)計算模式可以成為高性能計算的一種選擇的結(jié)論,展望了基于圖形處理器的通用計算技術(shù)在未來的發(fā)展。關(guān)鍵詞:圖形處理器;GPGPU;紋理映射;并行計算;
6、異構(gòu)計算中圖分類號:TN911?34;TP368.3文獻(xiàn)標(biāo)識碼:A文章編號:1004?373X(2013)04?0157?05ResearchofgeneralpurposecomputingtechnologybasedongraphicprocessingunitDAIChang?jiang,ZHANGYou?sai(SchoolofElectronicsInfmation,JiangsuUniversityofScienceTec
7、hnology,Zhenjiang212003,China)Abstract:IndertoresearchthegeneralpurposecomputingtechnologyofGPUbasedonPC,theclassicGPUgeneralpur?posecomputingmethodbaseontexturemappingtechnologywasadopted,theexperimentsofdiscreteconvolu
8、tionof2Dimagesvolumerenderingbasedon3Dtexturemappingwerecarriedout.Theexperimentresultindicatesthat,onthebasisofasuitablealgithmdesign,theclassicGPUgeneralpurposecomputingtechnologycansignificantlyenhancetheprogramrun?ni
9、ngperfmance.Inthisarticle,itisconcludedthattheCPUGPUheterogeneouscomputingmodewillbecomeachoicefhigh?perfmancecomputation,thefurtherdevelopmentofthegeneralpurposecomputingtechnologybasedonGPUisprospected.Keywds:GPU;GPGPU
10、;texturemapping;parallelcomputation;heterogeneouscomputation收稿日期:2012?10?15157157第4期戴長江,等:基于圖形處理器的通用計算技術(shù)的研究算資源占有率,不會因為頻繁的顯存訪問降低計算效率。這種高帶寬的特點使得GPU以大量線程實現(xiàn)面向大吞吐量的數(shù)據(jù)并行計算,適合于處理計算密度高、邏輯分支簡單的大規(guī)模數(shù)據(jù)并行負(fù)載。圖3給出了GPU和CPU在各個時期關(guān)于計算能力的比較
11、,使用的測量單位是FLOPS,可以看到同一時期的GPU的計算能力幾乎一直強于CPU,而這樣的差距正呈現(xiàn)出不斷擴(kuò)大的趨勢。圖3GPU和CPU間關(guān)于計算能力的比較憑借GPU并行計算架構(gòu)的優(yōu)勢,利用GPU通用計算技術(shù)來提高計算性能的例子不勝枚舉。例如:某神經(jīng)建模過程如果只用CPU進(jìn)行數(shù)據(jù)處理,大概需要花2.7天的時間,用GPU只需要30min;某電磁場模擬實驗,一個雙核3.2GHz的CPU需要15h,而一個GPU只需要15min。以往使用CT
12、或核磁共振進(jìn)行醫(yī)療成像時,病人往往需要數(shù)日才能拿到診斷結(jié)果,在使用GPGPU技術(shù)的成像軟件后,病人當(dāng)場就能得到診斷結(jié)果[1]。如今,幾乎所有密集型數(shù)據(jù)處理行業(yè)都有GPGPU的身影。CUDAZone主頁列舉了各個領(lǐng)域使用CUDA取得性能優(yōu)化的實例[7]。如觀看高清視頻用的暴風(fēng)影音就使用了CUDA的高清加速能力,以幫助用戶在觀看高清視頻時能有效提升視頻流處理速度,運行的視頻和游戲更加清晰流暢,系統(tǒng)所占資源也大大減少,GPU通用計算技術(shù)正越來
13、越受到歡迎。1.3GPGPU技術(shù)的使用范圍并行計算即同一時刻存在多于一個計算任務(wù)被執(zhí)行。GPU的并行計算模型和CPU的多核并行計算模型有很大的區(qū)別。清楚認(rèn)識到哪些應(yīng)用可以移植到GPU上進(jìn)行處理,哪些應(yīng)用無法移植,對于如何使用GPGPU技術(shù)并應(yīng)用到實際中是極其重要的。對并行計算模式進(jìn)行分類是了解CPU和GPU并行計算區(qū)別的有效方式。可以從數(shù)據(jù)流和指令的角度把計算模型分為4類[1]:(1)單指令單數(shù)據(jù)流(SISD):CPU的計算模型;(2)
14、單指令多數(shù)據(jù)流(SIMD):GPU的計算模型;(3)多指令單數(shù)據(jù)流(MISD):這類系統(tǒng)實際上很少見到;(4)多指令多數(shù)據(jù)流(MIMD):多核CPU的計算模型。GPU使用的是SIMD并行計算模式,SIMD的思路是讓不同的線程處理自己所對應(yīng)的那部分?jǐn)?shù)據(jù)。當(dāng)線程數(shù)大于或等于數(shù)據(jù)個數(shù)時,理論計算時間相當(dāng)于處理一個數(shù)據(jù)的時間。所以,GPU的一個重要的性能指標(biāo)就是它的處理器個數(shù)和同時可激活的線程數(shù)。但需要注意的是,SIMD處理數(shù)據(jù)的次序是不確定的
15、。這個就需要對每個數(shù)據(jù)的處理是不相關(guān)的。在通用計算中,由于數(shù)據(jù)關(guān)聯(lián)性的限制,通常的做法是把算法分割成若干個SIMD段,盡可能地達(dá)到算法的局部無關(guān)性。綜上所述,使用GPU進(jìn)行并行計算,必須滿足以下兩點要求:(1)每個線程的任務(wù)互不相關(guān);(2)每個線程執(zhí)行相同的指令。但是,要使一個程序充分利用并行計算模型進(jìn)行計算,必須要合理運用CPU和GPU的異構(gòu)特性,結(jié)合他們的特點以及算法的特性,將算法復(fù)雜的,要求精度高的和數(shù)據(jù)量小的部分交給CPU,而將
16、算法枯燥的、精度要求不高、數(shù)據(jù)量龐大的部分交給GPU來完成。設(shè)計分工合理是GPGPU技術(shù)順利完成的關(guān)鍵。1.4GPGPU技術(shù)的性能瓶頸GPGPU的處理器資源中包括CPU和GPU,所以計算的效率視整個計算網(wǎng)絡(luò)的全局效率而定。在注重GPU上代碼運行效率的同時,還必須關(guān)注CPU的運行效率,以及CPU和GPU的通信速率。由于提升CPU的運行效率涵蓋面太廣,本文主要關(guān)注CPU和GPU之間的通信效率。如圖4所示,CPU和GPU的通信是由內(nèi)存和顯存完
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于arm32位單片機(jī)的機(jī)器人設(shè)計
- 基于單片機(jī)的輪式機(jī)器人設(shè)計.pdf
- spcea單片機(jī)的機(jī)器人設(shè)計
- 基于單片機(jī)的滅火機(jī)器人設(shè)計
- 畢業(yè)設(shè)計---基于單片機(jī)的運水機(jī)器人設(shè)計
- 畢業(yè)論文基于單片機(jī)的清掃機(jī)器人設(shè)計
- 基于SPCE061A單片機(jī)的家居智能機(jī)器人設(shè)計.pdf
- 基于51單片機(jī)c語言搬運車機(jī)器人設(shè)計說明
- 基于51單片機(jī)c語言搬運車機(jī)器人設(shè)計說明
- 分揀機(jī)器人單片機(jī)控制系統(tǒng)設(shè)計
- 基于16位單片機(jī)的比賽機(jī)器人控制技術(shù)的研究.pdf
- 畢業(yè)論文-基于stc89c52單片機(jī)的滅火機(jī)器人設(shè)計
- 基于凌陽單片機(jī)的語音機(jī)器人的設(shè)計.pdf
- 基于單片機(jī)的掃地機(jī)器人的設(shè)計論文
- 基于單片機(jī)液位控制的設(shè)計
- 基于AVR單片機(jī)的雙足機(jī)器人控制系統(tǒng)設(shè)計.pdf
- 基于單片機(jī)液位控制的設(shè)計
- 基于16位單片機(jī)控制的數(shù)控系統(tǒng)設(shè)計
- 基于多傳感器信息融合的礦井搜救機(jī)器人設(shè)計.pdf
- 基于單片機(jī)8位數(shù)據(jù)采集設(shè)計畢業(yè)論文
評論
0/150
提交評論