文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.181708
中文引用格式: 馬城城,田澤,,黎小玉,,等. 統(tǒng)一渲染架構(gòu)GPU圖形處理量化性能模型研究[J].電子技術(shù)應(yīng)用,2019,,45(2):27-32,,36.
英文引用格式: Ma Chengcheng,Tian Ze,,Li Xiaoyu,,et al. Research on quantitative performance model of GPU graphics processing based on unified rendering architecture[J]. Application of Electronic Technique,2019,,45(2):27-32,,36.
0 引言
從1999年NVIDIA發(fā)布第一款GPU產(chǎn)品至今,GPU技術(shù)發(fā)展主要經(jīng)歷了固定功能流水線階段,、分離染色器架構(gòu)階段,、統(tǒng)一染色器架構(gòu)階段[1]。其處理架構(gòu)的不斷改變使得圖形處理能力和計(jì)算能力不斷提升,,相應(yīng)的流水線結(jié)構(gòu)、并行計(jì)算結(jié)構(gòu),、并行數(shù)據(jù)通信結(jié)構(gòu),、存儲(chǔ)結(jié)構(gòu)越發(fā)復(fù)雜,圖形處理性能指標(biāo)已難以從單方面去設(shè)計(jì),、評(píng)價(jià),。研究GPU圖形處理性能模型意義重大。
國(guó)外NVIDIA,、AMD等公司針對(duì)GPU圖形處理性能方面進(jìn)行了大量研究,,但都是各公司的核心機(jī)密,公開甚少[2],。國(guó)內(nèi)在統(tǒng)一渲染架構(gòu)GPU性能方面進(jìn)行了一定理論探討,,但主要集中在并行計(jì)算、存儲(chǔ)結(jié)構(gòu),、編程優(yōu)化方面,,針對(duì)GPU設(shè)計(jì)本身的研究幾乎空白。
本文提出統(tǒng)一渲染架構(gòu)GPU圖形處理量化性能模型,,在分析統(tǒng)一渲染架構(gòu)GPU并行架構(gòu)和工作原理基礎(chǔ)上,,分析影響圖形處理的各種因素:圖形指令生成、主機(jī)接口數(shù)據(jù)傳輸、圖形指令解析,、圖形處理流水?dāng)?shù)據(jù)吞吐和統(tǒng)一染色陣列處理能力,。為統(tǒng)一渲染架構(gòu)GPU的性能參數(shù)設(shè)計(jì)提供方法支持。
1 統(tǒng)一渲染架構(gòu)GPU圖形處理模型
圖形處理器經(jīng)過近30年的發(fā)展,,雖然圖形處理器體系結(jié)構(gòu),、處理方式發(fā)生了巨大變化,但其基于Z-Buffer的光柵化圖形處理流水線一直沿用至今[3],。自2006年,,NVIDIA發(fā)布統(tǒng)一渲染架構(gòu)的GPU以來,統(tǒng)一渲染架構(gòu)便成為GPU的主流[4],。NVIDIA,、AMD等各廠家都有自己不同的實(shí)現(xiàn)方式,但基本的CPU+GPU異構(gòu)工作方式,、圖形處理流程都基本一致[5-6],。下文將在分析代表產(chǎn)品的基礎(chǔ)上,針對(duì)圖形處理性能抽象統(tǒng)一渲染架構(gòu)GPU圖形處理模型,。
1.1 GeForce 8800
GeForce 8800是2006年NVIDIA發(fā)布的第一款統(tǒng)一染色架構(gòu)GPU,,采用G80架構(gòu)[7]。自此NVIDIA每?jī)赡臧l(fā)布一款GPU架構(gòu),。2006年發(fā)布G80,,2008年發(fā)布Tesla-GT200,2010年發(fā)布Fermi-GF100,,2012年發(fā)布kepler,,2014年發(fā)布年Maxwell,2016年發(fā)布Pascal,。每一款GPU架構(gòu)都對(duì)染色陣列數(shù)量及結(jié)構(gòu)進(jìn)行優(yōu)化,、調(diào)整,但圖形處理過程改變甚微,,基本保持著G80的處理過程,,如圖1所示。
圖形處理任務(wù)由主機(jī)生成圖形指令存儲(chǔ)到主機(jī)內(nèi)存中,,GPU通過主機(jī)接口獲取圖形指令,,然后將圖形指令解析為統(tǒng)一染色陣列和固定的硬件單元的控制和數(shù)據(jù)信息,配合完成圖形處理過程,。
1.2 R700
R700是2008年AMD公司發(fā)布的具有大規(guī)模SIMD統(tǒng)一染色陣列的圖形處理器架構(gòu)[6],,結(jié)構(gòu)如圖2所示。其存儲(chǔ)系統(tǒng)包括兩部分,,一部分是駐于主機(jī)內(nèi)存中的系統(tǒng)空間,,另一部分則是位于GPU上的顯存空間,。存儲(chǔ)系統(tǒng)中包含的數(shù)據(jù)包括命令隊(duì)列、指令,、常數(shù)以及輸入,、輸出流,其中命令隊(duì)列指明了GPU需要處理的任務(wù),;指令給出了執(zhí)行部件的具體工作,;常數(shù)、輸入和輸出流則提供了計(jì)算所需要的數(shù)據(jù),,這幾個(gè)部分要素構(gòu)成了GPU運(yùn)行的基本要素,。
一個(gè)完整R700的應(yīng)用分為兩個(gè)部分:運(yùn)行在主機(jī)CPU上的主機(jī)程序和運(yùn)行在GPU DPP陣列(Data-Parallel Processor,下文稱為染色陣列)上的kernel程序,。應(yīng)用在運(yùn)行過程中主機(jī)程序生成染色陣列運(yùn)行所需的數(shù)據(jù),、染色器程序及需執(zhí)行的命令。GPU通過主機(jī)接口獲取主機(jī)生成的命令后由命令處理器(Command Processor)解析并控制固定處理單元和染色陣列運(yùn)行,,完成圖形處理,。
1.3 統(tǒng)一渲染架構(gòu)GPU圖形處理摸模型
抽象統(tǒng)一渲染架構(gòu)GPU圖形處理過程,如圖3所示,,包括主機(jī)指令生成,、主機(jī)接口數(shù)據(jù)傳輸、圖形指令解析,、固定圖形流水單元處理和統(tǒng)一染色陣列處理,。主機(jī)和GPU通過“生產(chǎn)-消費(fèi)者”關(guān)系工作,圖形指令是主機(jī)和GPU交互的“橋梁”,,主機(jī)圖形指令生成負(fù)責(zé)圖形API運(yùn)行時(shí)生成圖形指令,,存儲(chǔ)到主機(jī)內(nèi)存中,等待GPU執(zhí)行,。GPU執(zhí)行時(shí)通過主機(jī)接口獲取到圖形指令,并解析執(zhí)行,,將圖形指令轉(zhuǎn)換為圖形參數(shù)配置和圖形數(shù)據(jù),。圖形參數(shù)配置和圖形數(shù)據(jù)通過圖形處理流水處理生成幀緩沖中的數(shù)據(jù)。圖形處理流水在GPU實(shí)現(xiàn)包括固定圖形流水實(shí)現(xiàn)方式和可編程染色陣列實(shí)現(xiàn)方式,。
目前,,OpenGL、Direct X及公開的資料中可編程染色器完成的部分包括頂點(diǎn)染色,、幾何染色,、片段染色。其余圖元組裝,、光柵化由固定圖形流水方式實(shí)現(xiàn),。
2 圖形處理性能分析
通過上述抽象的統(tǒng)一渲染架構(gòu)GPU圖形處理模型,可得一次圖形處理過程主要包括:主機(jī)圖形指令生成,主機(jī)接口總線數(shù)據(jù)傳輸,,圖形指令解析,,圖形處理流水處理。其中圖形處理流水由統(tǒng)一染色器陣列和固定圖形流水完成,。圖形處理量化性能模型如圖4所示,。
主機(jī)圖形指令生成實(shí)現(xiàn)圖形API到圖形指令的運(yùn)行時(shí)轉(zhuǎn)換,存儲(chǔ)到主機(jī)內(nèi)存的Ringbuffer中,;主機(jī)接口總線數(shù)據(jù)傳輸完成圖形指令,、數(shù)據(jù)從主機(jī)內(nèi)存Ringbuffer到圖形處理器的搬運(yùn);圖形指令解析完成圖形指令到圖形參數(shù)配置,、圖形數(shù)據(jù)的轉(zhuǎn)換,;統(tǒng)一染色器陣列和固定圖形流水配合完成圖形流水處理。
在圖形處理系統(tǒng)設(shè)計(jì)過程中均衡各部分性能是圖形處理系統(tǒng)性能發(fā)揮,、資源有效利用的關(guān)鍵所在,。下面將對(duì)各部分性能指標(biāo)進(jìn)行量化分析。
2.1 主機(jī)圖形指令生成
主機(jī)圖形指令生成由運(yùn)行在主機(jī)上的運(yùn)行時(shí)編譯軟件完成,,其性能由主機(jī)處理器性能和GPU運(yùn)行時(shí)圖形指令編譯驅(qū)動(dòng)決定,。圖形API在運(yùn)行時(shí)編譯過程中會(huì)進(jìn)行圖形上下文管理、圖形參數(shù)處理,、圖形指令生成,、存儲(chǔ)等操作。如OpenGL開源實(shí)現(xiàn)Mesa 3D以及AMD的開源顯卡驅(qū)動(dòng)中的主機(jī)圖形指令生成軟件實(shí)現(xiàn),,如圖5所示,。
通過不完全分析統(tǒng)計(jì),目前開源的圖形API運(yùn)行時(shí)編譯普遍消耗200條指令以上的CPU匯編指令,。為便于分析,,假定圖形API運(yùn)行時(shí)編譯平均消耗200條的CPU匯編指令,即在1 000 MIPS處理能力的主機(jī)環(huán)境下,,圖形指令的生成能力為5 MGIPS(Million Graphic Instructions Per Second)[10],。
圖形API所攜帶的參數(shù)種類多、個(gè)數(shù)雜,,圖形指令在定義時(shí)一般都采用變長(zhǎng)的包格式定義,。如ATI Radeon R5xx所定義的圖形指令格式,如圖6所示,。由于圖形處理大部分為4維操作,,如vertex(x,y,,z,,w),、color(R,G,,B,,A),圖形API所攜帶的參數(shù)大部分為4個(gè),。以ATI Radeon R5xx Type-0圖形指令格式為例,,大部分的圖形API所生成的圖形指令為5個(gè)字(20 Byte)。
由此,,1 000 MIPS處理能力的主機(jī)環(huán)境下,,圖形指令生成能力約為5 MGIPS,數(shù)據(jù)量約為1 00 MB/s,。以奔騰4 HT 3.6 GHz主機(jī)環(huán)境為例,,其能夠提供7 GFLOPS計(jì)算能力,其圖形指令生成能力約35 MGIPS,,700 MB/s,。
2.2 主機(jī)接口總線數(shù)據(jù)傳輸
目前流行的GPU主機(jī)接口有PCI、AGP,、PCIE,,各總線理論帶寬如表1所示,一般的實(shí)現(xiàn)中帶寬利用率在70%左右,,因此在奔騰4 HT 3.6 GHz主機(jī)環(huán)境主機(jī)環(huán)境下,,主機(jī)接口帶寬要求至少為1.0 GB/s,由此可見至少占用PCIE1.0 x4進(jìn)行圖形指令數(shù)據(jù)傳輸,。
2.3 圖形指令解析
圖形命令解析在GPU實(shí)現(xiàn)普遍采用RSIC處理器方式實(shí)現(xiàn)(CMD),,如AMD R700。以R700架構(gòu)HD4870GPU為例,,其運(yùn)行頻率為700 MHz,,要完成35 MGIPS的圖形指令處理,即需要20周期完成一條圖形指令的解析,。若圖形指令從存儲(chǔ)在GPU內(nèi)部的顯示列表來,,其指令解析能力要求將遠(yuǎn)超35 MGIPS。圖形指令解析后將生成圖形參數(shù)配置或圖形數(shù)據(jù),,圖形參數(shù)配置實(shí)現(xiàn)對(duì)各級(jí)圖形流水運(yùn)行狀態(tài)或參數(shù)的配置,圖形數(shù)據(jù)則經(jīng)過圖形流水各級(jí)進(jìn)行圖形處理,。
2.4 圖形處理流水
圖形處理流水包括三個(gè)階段:頂點(diǎn)階段,、幾何階段、像素(片段)階段,,如圖7所示,。頂點(diǎn)階段針對(duì)獨(dú)立的頂點(diǎn)數(shù)據(jù)進(jìn)行處理,,所處理頂點(diǎn)之間不存在相關(guān)性,評(píng)價(jià)指標(biāo)為:頂點(diǎn)/秒,,圖元裝配負(fù)責(zé)將頂點(diǎn)階段處理完的孤立的頂點(diǎn)組織成點(diǎn),、線段、三角形 3種幾何圖元,。幾何階段負(fù)責(zé)對(duì)點(diǎn),、線段、三角形進(jìn)行裁剪,、消隱等處理,,不同圖元處理的方法、算法有很大差異,,因此幾何階段的評(píng)價(jià)指標(biāo)包括:點(diǎn)/秒,、線段/秒、三角形/秒,。光柵化完成幾何數(shù)據(jù)的離散化處理,,將連續(xù)的幾何數(shù)據(jù)轉(zhuǎn)換為離散的片段數(shù)據(jù)。片段階段和像素階段都是對(duì)離散的像素?cái)?shù)據(jù)進(jìn)行處理,,片段數(shù)據(jù)和像素?cái)?shù)據(jù)的區(qū)別在于像素?cái)?shù)據(jù)僅有位置和坐標(biāo)信息,,而片段數(shù)據(jù)幾乎包含頂點(diǎn)所攜帶的所有屬性,如紋理坐標(biāo),、霧坐標(biāo)等,。為方便起見片段階段處理和像素階段處理的性能指標(biāo)統(tǒng)一為:像素/秒。
頂點(diǎn)階段,、幾何階段,、像素階段之間性能指標(biāo)存在一定相關(guān)性,頂點(diǎn)階段根據(jù)圖元類型的不同頂點(diǎn)數(shù)據(jù)和幾何數(shù)據(jù)成特定比例關(guān)系,,如表2所示,。
而幾何階段與像素階段的數(shù)據(jù)由繪制圖形的大小決定,點(diǎn)圖元由pointsize決定,,線段由線段的長(zhǎng)度和linewidth決定,,三角形由面積決定,也就是幾何圖元和像素的比例關(guān)系決定性能瓶頸,。
以三角形為例:當(dāng)TRIANGLE:PIXEL > (三角形/秒)/(像素/秒),,性能瓶頸將處于幾何階段;當(dāng)TRIANGLE:PIXEL < (三角形/秒)/(像素/秒),,性能瓶頸將處于像素階段,。
在實(shí)際GPU圖形處理過程中,性能瓶頸可能出現(xiàn)在圖形流水的任何階段,,具體與各處理階段性能指標(biāo),、實(shí)現(xiàn)方式,、繪制圖形的特征密切相關(guān)。如某GPU在設(shè)計(jì)性能指標(biāo)為頂點(diǎn)階段處理50兆頂點(diǎn)/秒,,幾何階段100兆三角形/秒,,像素階段1 000 兆像素/秒,由上述可知該圖形流水性能指標(biāo)設(shè)計(jì)不合理,,原因在于VERTEX:TRIANGLE最多1:1,,即一個(gè)頂點(diǎn)生成1個(gè)三角形,因此50兆頂點(diǎn)/秒的頂點(diǎn)處理能力最多需要50兆三角形/秒的幾何處理能力,。
在圖形處理流水中,,頂點(diǎn)處理、幾何處理,、片段處理采用統(tǒng)一染色陣列實(shí)現(xiàn)方式,,統(tǒng)一染色陣列實(shí)現(xiàn)方式能夠動(dòng)態(tài)平衡各流水階段處理的性能要求,但同一染色陣列的性能需與固定處理單元性能參數(shù)保持平衡才能發(fā)揮出最優(yōu)的圖形處理能力,。
2.5 統(tǒng)一染色陣列
圖形處理中頂點(diǎn)處理,、幾何處理、片段處理采用可編程方式實(shí)現(xiàn),,以AMD,、NVIDIA為代表的GPU廠家目前都采用SIMD、SIMT的統(tǒng)一染色陣列方式實(shí)現(xiàn)[13],。統(tǒng)一染色陣列不同階段任務(wù)之間以固定管線實(shí)現(xiàn)圖形流水線的連接,。即固定管線為統(tǒng)一染色陣列提供圖形數(shù)據(jù)的輸入、輸出功能,。如圖8所示,,統(tǒng)一染色陣列運(yùn)行過程中首先接收固定管線傳遞的圖形數(shù)據(jù),然后根據(jù)染色陣列工作狀態(tài)采用一定的任務(wù)調(diào)度策略,、線程調(diào)度策略將圖形數(shù)據(jù)傳遞給特定的染色器,,然后啟動(dòng)染色器運(yùn)行,染色器處理完成后將圖形數(shù)據(jù)傳遞給固定管線,,進(jìn)行下一階段處理,。染色器在處理過程中,從染色程序區(qū)取得待處理的染色器指令,,以數(shù)據(jù)并行,、線程并行、指令并行的處理方式實(shí)現(xiàn)圖形處理,。
由此,,統(tǒng)一染色陣列圖形處理性能主要由固定管線的圖形任務(wù)或者圖形數(shù)據(jù)提供能力,染色器任務(wù)調(diào)度、線程調(diào)度能力,,染色器線程并行能力,染色器任務(wù)執(zhí)行能力等決定,。在系統(tǒng)設(shè)計(jì)時(shí)只有在典型應(yīng)用情況下各方面能力保持均衡,,統(tǒng)一染色陣列圖形處理性能才能得到發(fā)揮。
固定管線的圖形任務(wù)或者圖形數(shù)據(jù)提供能力主要涉及數(shù)據(jù)的生成和傳輸能力,,OpenGL規(guī)定染色器輸入輸出至少16組4維屬性,,若固定管線實(shí)現(xiàn)單周期任務(wù)處理能力,以目前典型32位圖形處理系統(tǒng)為例,,單周期實(shí)現(xiàn)16×4×32=2 048位數(shù)據(jù)的傳輸和處理,。
任務(wù)調(diào)度、線程調(diào)度能力指根據(jù)染色器的工作方式和當(dāng)前工作狀態(tài)將固定管線的圖形任務(wù)或者圖形數(shù)據(jù)分配到特定的染色器上的能力,。如圖8染色器工作方式為4組4維處理方式,,即一個(gè)圖形處理線程可執(zhí)行4個(gè)頂點(diǎn)或像素。
染色器線程并行為了提高染色器處理資源的利用率,,通過多個(gè)獨(dú)立的線程的切換執(zhí)行隱藏長(zhǎng)延時(shí)指令的執(zhí)行時(shí)間,。染色器線程處理方式與圖形數(shù)據(jù)的普遍形式相關(guān),能夠在保證資源利用率高的情況下盡可能提高數(shù)據(jù)處理的并行性,。如在實(shí)際應(yīng)用過程中典型的像素塊都是4×4的像素塊,,則數(shù)據(jù)并行需處理為16,典型圖形數(shù)據(jù)又包含4個(gè)分量,,即一套取值單元為16×4=64個(gè)染色器內(nèi)核提供指令,。
染色器任務(wù)執(zhí)行能力由任務(wù)軟件的運(yùn)行指令數(shù)量和指令執(zhí)行的并行能力決定,這與具體圖形任務(wù)劃分,、染色器處理單元實(shí)現(xiàn)方式,、發(fā)射結(jié)構(gòu)等密切相關(guān)。各廠家實(shí)現(xiàn)方式,,甚至面向不同應(yīng)用領(lǐng)域的實(shí)現(xiàn)方式都存在較大差異,。
2.6 性能均衡分析
在具體圖形處理器設(shè)計(jì)過程中各階段性能均衡對(duì)性能的發(fā)揮至關(guān)重要,通過上述各部分性能指標(biāo)描述可得以下公式:
式(1)體現(xiàn)圖形任務(wù)的數(shù)據(jù)生成效率與傳輸效率保持一致,,而在系統(tǒng)應(yīng)用中典型的通信鏈路速率利用率普遍為70%左右,。
式(2)表示圖形指令的生成要小于等于圖形指令解析速率,因?yàn)樵贠penGL等圖形接口中定義有顯示列表等其他高速通路的圖形指令傳輸路徑,。在具體實(shí)現(xiàn)中圖形指令眾多,,各指令處理性能千差萬別,應(yīng)用對(duì)指令的引用也不盡相同,,因此評(píng)價(jià)性能時(shí)根據(jù)具體實(shí)現(xiàn)對(duì)指令處理進(jìn)行分類,,統(tǒng)計(jì)應(yīng)用中各類指令所占權(quán)值,按照加權(quán)平均方式對(duì)圖形指令生成,、處理性能進(jìn)行評(píng)價(jià),。
式(3)通過統(tǒng)計(jì)經(jīng)驗(yàn)值建立主機(jī)性能與圖形指令生成之間的關(guān)系,。
式(4)體現(xiàn)圖形處理中頂點(diǎn)階段與幾何階段的性能應(yīng)保持相當(dāng),在具體處理性能應(yīng)與實(shí)際應(yīng)用中點(diǎn),、線,、三角形占比相關(guān)。
式(5)建立像素處理性能與幾何處理性能之間的關(guān)系,,圖元面積與繪圖分辨率息息相關(guān),。
式(6)建立染色器性能與圖形任務(wù)處理性能之間關(guān)系,通過發(fā)射圖形任務(wù)所包含的指令值執(zhí)行總周期數(shù)與處理該任務(wù)所需的染色器總執(zhí)行周期數(shù),,確定線程并行,、數(shù)據(jù)并行、指令并行處理與圖形任務(wù)性能的參數(shù)映射,。
3 應(yīng)用及結(jié)果分析
自研嵌入式圖形處理器設(shè)計(jì)指標(biāo)中規(guī)定三角形圖元處理能力為150 M/s,,像素處理能力為4 G/s,包含運(yùn)行頻率600 MHz的統(tǒng)一染色陣列,。
通過式(4)可得:頂點(diǎn)階段處理能力為150 M/s,,幾何階段三角形處理能力為150 M/s;若頂點(diǎn)數(shù)據(jù)全部由主機(jī)指令生成,,則至少150 M/s圖形指令,,以數(shù)據(jù)量最大的4維浮點(diǎn)數(shù)頂點(diǎn)為例,數(shù)據(jù)量為150×4×4=2 400 MB/s,,通過式(1)可得需要主機(jī)通信速率約為3.4 GB/s,,至少PCIE 2.0 x8才能滿足帶寬需求。通過式(2)可得圖形指令解析速率不小于150 MGIPS,;經(jīng)不完全統(tǒng)計(jì)通過匯編級(jí)優(yōu)化的自研圖形處理器驅(qū)動(dòng)約50條主機(jī)指令生成一條典型圖形指令,,通過式(3)可得需要主機(jī)性能為7.5 GIPS。
通過式(5)分析,,當(dāng)圖元面積大于4 G/150 M約28個(gè)像素時(shí),,像素階段性能會(huì)成為性能瓶頸,反之為頂點(diǎn),、幾何階段,。
可編程染色陣列峰值任務(wù)生成率為150 M頂點(diǎn),150 M三角形,,4 G像素,,由于在設(shè)計(jì)中典型的頂點(diǎn)、幾何,、像素染色成運(yùn)行指令數(shù)據(jù)接近,,約處理300條染色器指令,由此圖形任務(wù)約為4.3 G。設(shè)計(jì)中像素采用4×4 Tile進(jìn)行處理,,因此以16個(gè)圖形任務(wù)組成一個(gè)處理線程,,一個(gè)任務(wù)由4個(gè)處理核心組成4維向量處理,即一個(gè)線程控制64個(gè)處理核心,,通過式(6)可得每秒染色器線程調(diào)度速為4.3 G/16=268.75 M,。染色內(nèi)核擬采用雙發(fā)射結(jié)構(gòu),運(yùn)行頻率為600 MHz,,通過式(7)可得268.75 M×(300/2)=600 M×(內(nèi)核數(shù)/16),即內(nèi)核數(shù)應(yīng)為1 075個(gè),,為便于設(shè)計(jì)設(shè)計(jì)內(nèi)核數(shù)為1 024個(gè),。由此形成自研嵌入式圖形處理器指標(biāo)參數(shù)見表3。
通過在體系結(jié)構(gòu)仿真平臺(tái)上模擬表3所示的設(shè)計(jì)參數(shù),,并針對(duì)各模塊以及整系統(tǒng)峰值進(jìn)行測(cè)試,,測(cè)試數(shù)據(jù)表明,實(shí)測(cè)性能指標(biāo)與預(yù)期指標(biāo)誤差小于7.5%,,能夠有效支撐工程設(shè)計(jì),。
4 結(jié)論
本文在深入研究統(tǒng)一渲染架構(gòu)GPU架構(gòu)和工作原理基礎(chǔ)上,提出一種統(tǒng)一渲染架構(gòu)GPU的圖形處理量化性能模型,,并應(yīng)用于自研嵌入式圖形處理器設(shè)計(jì)中,。仿真驗(yàn)證結(jié)果表明,該模型評(píng)估統(tǒng)一染色GPU圖形處理性能與實(shí)測(cè)相比,,誤差小于7.5%,。但目前研究?jī)H從圖形處理方面進(jìn)行研究,尚未完全覆蓋GPU設(shè)計(jì)的所有單元,,尤其是未對(duì)存儲(chǔ)系統(tǒng),、染色器陣列實(shí)現(xiàn)方式等進(jìn)行分析。后續(xù)將從統(tǒng)一渲染架構(gòu)GPU整體架構(gòu)出發(fā),,研究各部分處理模塊性能的關(guān)系,,進(jìn)一步提高模型的全面性和精度。
參考文獻(xiàn)
[1] 蔡晶.GPGPU體系結(jié)構(gòu)關(guān)鍵技術(shù)論證及模擬器研究與擴(kuò)展[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),,2009.
[2] 韓博,,周秉鋒.GPGPU性能模型及應(yīng)用實(shí)例分析[D].北京:北京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)研究所,2009.
[3] 王鋒,,杜云飛,,陳娟.GPGPU性能模型研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2013.
[4] 朱俊峰,,陳鋼,,張珂良,等.面向OpenCL架構(gòu)的GPGPU量化性能模型[J].小型微型計(jì)算機(jī)系統(tǒng),2013,,34(5):1118-1125.
[5] FEINBUBE F,,TROGER P,POLZE A.Joint forces:from multithreadedprogramming to GPU computing[J].IEEE Software,,2010,,28(1):51-57.
[6] BUCK I,F(xiàn)OLEY T,,HORN D,,et al.Brook for GPUs:stream-computing on graphics hardware[J].ACM Transactions on Graphics,2004,,23(3):777-786.
[7] GALOPPO N,,GOVINDARTJU N K,HENSON M,et al.LU-GPU:Efficient algorithms for solving dense linear systems on graphics hardware[C].SC′05:Proceedings of the 2005 ACM/IEEE Conference on Supercomputing,,2005.
[8] LUEBKE D,,HUMPHREYS G.How GPUs work[J].IEEE Computer,2007,,40(2):96-100.
[9] 韓俊剛,,劉有耀,張曉.圖形處理器的歷史現(xiàn)狀和發(fā)展趨勢(shì)[J].西安郵電學(xué)院學(xué)報(bào),,2011,,16(3):61-64.
[10] GOVINDARAJU N K,LARSEN S,,GRAY J,,et al.A memory model for scientific algo rithms on graphics processors[C].Proceedings of the ACM IEEE Conference on Supercomputing,Tampa,,2006:1-6.
[11] WILLIAMS S,,WATERMAN A,PATTERSON D.Roofline:an insightful visual performance model for multicore architectures[J].Communications of the ACM,,2009,,52(4):65-76.
[12] 王之元.并行計(jì)算可擴(kuò)展性分析與優(yōu)化——能耗、可靠性和計(jì)算性能[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),,2011.
[13] 趙榮彩,,唐志敏,張兆慶,,等.軟件流水的低功耗編譯技術(shù)研究[J].軟件學(xué)報(bào),,2003,14(8):1357-1363.
[14] HUANG M,,RENAU J,,TORRELLAS J.Profile-based energy reduction for high-performance processors[Z].2001.
[15] 熊英,,羅瓊.基于OpenCL的NDVI算法的并行化實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2013(11):77-78.
[16] 詹云,,趙新燦,,譚同德.基于OpenCL的異構(gòu)系統(tǒng)并行編程[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,,33(11):4191-4195.
作者信息:
馬城城1,,2,田 澤1,,2,,黎小玉1,2,,孫琳娜3
(1.中國(guó)航空工業(yè)西安航空計(jì)算技術(shù)研究所 ,,陜西 西安710068;
2.集成電路與微系統(tǒng)設(shè)計(jì)航空科技重點(diǎn)實(shí)驗(yàn)室,,陜西 西安710068;3.西安翔騰微電子科技有限公司,,陜西 西安710068)