GPU的體系結構與通用計算GPGPU_第1頁
GPU的體系結構與通用計算GPGPU_第2頁
GPU的體系結構與通用計算GPGPU_第3頁
GPU的體系結構與通用計算GPGPU_第4頁
GPU的體系結構與通用計算GPGPU_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、GPU勺體系結構與通用計算(GPGPU1、總體框架可編程圖形流水線的總體框架如圖 3所示,左邊用實線表示的流程就是傳統 的圖形流水線的流程;在這種通用的流水線中,首先經過頂點級的光照計算和坐 標變換,求出每個頂點的光照顏色值,同時還將頂點坐標從物體坐標系轉換到裁 剪空間(clip Space)然后,對每個三角形進行光柵化處理并將對三角形頂點的顏 色進行雙線性插值,得到了三角形中每一個象素的顏色值。接著進行紋理映射, 即根據每一個象素的紋理坐標值將紋理圖顏色分配到每個象素上。最后進行顏色混合計算(Blendingk口霧化效果計算,得到的結果將會放進幀緩存 (Frame buffer) 并顯示到屏

2、幕上。目前的可編程的圖形硬件中,除了光柵化這一部分依然保持固 化的硬件實現不變以外,其他部分都引入了可編程性。也就是圖中的虛線部分。項直看色器效素數據顏色值,坡理“ 坐標蚊迎果提光柵化微色混合運算J象素級運算、霧化效果計算I J計算管線12;丁計算管線1宇頂點數據頂點/法冏/顏色值,紋理坐標/ 頂點的光照計算,坐標變換幀覆存,3圖3可編程圖形流水線的總體框架頂點著色器(Vertex Shader)勺功能正是為了實現頂點的光照計算和坐標變換, 在過去的硬件中,人們只能實現一些固定的光照模型和坐標系轉換計算,但是在 現在的可編程的圖形硬件中,用戶可以通過編寫代碼自由地設計自己所需要的光 照模型和坐

3、標系轉換計算公式,只要不超出硬件的功能即可。象素著色器(Pixel Shader)功能相對比較復雜,同時限制較多。它幾乎包括 了所有光柵化以后的操作:采樣紋理,顏色混合計算(Blending)和霧化效果計算等, 傳統圖形硬件中每個頂點的紋理坐標值需要人工指定或者根據空間坐標來計算, 而在象素著色器中,允許采用多種紋理訪問方式;每個象素的繪制信息(例如,象 素顏色值、紋理坐標等)均保存在寄存器中,象素著色器通過完成這些寄存器之 間的加法,乘法或者點積等運算操作,從而在象素級別上實現光照明模型的計算。2、頂點著色器頂點著色器由算術邏輯單元和相應的寄存器組成。頂點著色器和像素著色器 都沒有內存的概念

4、,所有的運算都在寄存器之上進行。每一個寄存器都是4維向 量寄存器,指令集中的指令可以同時對4個分量進行運算,因此可以把它們看作 是一個基于寄存器的向量處理器。l輸入寄存器用于存放當前被處理的頂點的屬性,例如頂點位置、法向量、 顏色和紋理坐標。l常量寄存器用于為頂點程序提供只讀常量參數,由CPU控制,也就是通過外界函數調用進行賦值。l只寫的輸出寄存器則用于輸出處理后的頂點屬性。l可讀寫的寄存器則可在頂點繪制編程器的計算過程中作為臨時寄存器使 用。這些寄存器通常有固定的表達方式:輸入寄存器為 Vn,輸出寄存器為On, 常量寄存器為Cn,而可讀寫寄存器則為 Rn,這里的n就是具體的寄存器編 號。如第

5、十號的輸入寄存器就寫作 V10。而且每個寄存器都可以用xyzw后綴 名來訪問寄存器中的RGBA&個分量,比如說:R1.w表示的就是第1號可讀寫 寄存器的第四個分量一一A分量。圖4頂點著色器3、像素著色器像素著色器和頂點著色器的組成類似,但多了紋理尋址的功能。紋理采樣圖5像素著色器4、與CPU勺區(qū)別CPUGPU圖6 GPU與CPU流水處理線圖形應用的特點是大運算量、大規(guī)模并行性、允許較長的延遲與深度前向流 水。這就決定了圖形處理器和微處理器在體系結構上存在著很大的差別。首先圖形處理器要盡可能的實現高度并行性。 這種并行性分為兩種:數據并行 性與流水線并行性。為了充分利用數據并行性,圖形處理器在兩

6、個層次上進行并 行處理。第一層利用輸入數據流中數據元素之間的無關性,多個頂點(或像素)處理器運行一個頂點(或者彳a素)著色程序的多個拷貝,同時作用于輸入數據流中的 多個數據元素之上。從這個意義上說,圖形處理器是一個流處理器。 第二層是利 用圖形運算包含大量向量運算的特點, 實現指令級并行性。具體地說就是把多個 同類型的標量運算合并到一個向量運算之中。因此,圖形處理器又是一個向量處 理器。其次,流水并行性允許頂點著色程序與像素著色程序同時運行,前者的輸出 恰為后者的輸入,構成一種生產者和消費者的關系。再次,為了保證大規(guī)模并行運算,圖形處理器基本上不支持轉移指令或者只 提供有限的支持,著色程序的靜

7、態(tài)長度和動態(tài)可執(zhí)行長度也非常短。最后,圖形處理器有著比微處理器多的多的算術邏輯運算單元。圖形處理器 的所有指令都具有相同的延遲,不存在各類流水競爭。5、通用計算GPGPU圖形處理器強大的運算能力吸引著研究者們思考這樣的問題:能不能利用GPU做一些3D繪制以外的工作?;?GPU的通用計算(General Purpose GPU GPGPU的概念應運而生,它指的是利用圖形卡來實現一般意義上的計算,而不 單純是3D繪制。在可編程圖形處理器迅速發(fā)展的同時,相關的軟件開發(fā)技術也在不斷進步。目前,常用的三維圖形編程接口是 OpenGL和Direct3D,其擴充功能由GPU廠家 提供,或由API軟件開發(fā)者

8、提供。利用高級語言而不依賴于具體的硬件及計算平 臺的編程一直是應用的努力目標,并陸續(xù)出現了基于各種編程接口的高級渲染語 言。繪制程序(Shader)S計的思想源自于早年 Pixar設計的RenderMan繪制軟件。 此軟件多年來廣泛應用于好萊塢電影制作的繪制。關于新型標準繪制語言的研究工作,近年來具有較大影響的是:OpenGL shading language斯坦福大學的RTSL(real-time shading language) Microsoft 的 HLSL (high-level shading language) 以及Nvidia的Cg(C for graphic。盡管還未形成統一的繪制語言,這些語言 的研究和應用為用戶提供了直接基于 API(OpenGL或DirectX)編程的較為方便和 高層次的工具,尤其是Nvidia的Cg。圖7 GPU通用計算Cg代表(用于圖形的C語言),是由Nvidia認公司推出的

溫馨提示

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

評論

0/150

提交評論