高等計算機體系結構文獻綜述GPU發(fā)展_第1頁
高等計算機體系結構文獻綜述GPU發(fā)展_第2頁
高等計算機體系結構文獻綜述GPU發(fā)展_第3頁
高等計算機體系結構文獻綜述GPU發(fā)展_第4頁
高等計算機體系結構文獻綜述GPU發(fā)展_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、北京科技大學高等計算機體系結構文獻綜述題目:GPU的發(fā)展研究學 院計算機與通信工程學院班級124班學號 S20121170姓名陳叁時間 2012年11月02日引言隨著半導體工藝的發(fā)展,芯片上集成的晶體管數(shù)目按照摩爾定律增加,各種處理器的存儲和計算能力也因此不斷提高。作為最常用的兩類處理器芯片,CPU和GPU的性能發(fā)展呈現(xiàn)不同的規(guī)律。CPU是計算機的主控處理部件,需要應對各種復雜的控制過程,追求的標量性能注重通用性,因此在其芯片體系結構設計時,不得不將大量的芯片資源用于分支預測、亂序 執(zhí)行等復雜的控制邏輯,從而限制了其計算性能的提升。而 GPU原本只負責加速圖形計算, 功能相對比較單一,芯片的控

2、制邏輯比較簡單,主要的芯片資源都用于提升計算性能,因此 其計算能力發(fā)展更為迅速。例如,AMD公司2009年第一季度發(fā)布的專業(yè)級流處理GPUFireSt ream 9270 i的單精度浮點峰值性能達到1.2T Flo ps,而Intel公司頂級的Core2 Ex tr eme 9650四核處理器的浮點 處理能力僅有96GFlo ps,可見在計算性能方面,GPU要高出CPU整整一個數(shù)量級。計算性 能增長的同時,GPU的存儲性能也在不斷提升,2 4GB的存儲容量、256 512位寬的存儲 總線都為GPU發(fā)揮出強大的計算能力提供了充分的保證。除了計算性能外,從性/價比和性能/功耗比上看,GPU相對于通

3、用CPU同樣擁有明顯的優(yōu)勢。這些特性都使得GPU成為 搭建超級計算機的良好選擇,可以在有限的系統(tǒng)規(guī)模和金錢開銷的限制下達到非常高的峰 值計算性能,因此越來越受到高性能計算領域的關注。計算性能不斷提升的同時,限制GPU廣泛應用的另一制約因素 )可編程性,也在不斷提高。早期的GPU僅負責圖形加速,流水 線的功能固定,只能執(zhí)行有限的幾個操作以完成圖像的生成。硬件工藝的進步使得GPU內(nèi)處理單元的結構越來越復雜 ,功能也越來越靈活,其流水線具備了執(zhí)行用戶自定義程序的能 力,從而具備了初步的可編程性。從最初的底層圖形API發(fā)展到現(xiàn)在高度抽象的 CUDA0、Broo k + 司以及OpenCL 4, GPU

4、的可編程性得到了極大的提升 ,已經(jīng)具備了開發(fā)非圖形領 域應用的基本能力,GPU上的通用計算(General Purpose computat io n on GPU s, 簡稱 GPGPU 5)也成為體系結構、編程及編譯等領域熱點的研究方向之一。二、 C P U/GP U協(xié)同并行計算研究進展a) GP3義及相關技術GPU文全稱(Graphic ProcessingUnit), 中文翻譯為“圖形處理器"。GPUl相對于CPU勺一個概念,由于在現(xiàn)代的計算機中圖形的處理變得越來越重要,需要一個專門的圖形的核心處理器。GP電顯示卡的“大腦”,它決定了該顯卡的檔次和大部分性能,同時也是2D顯示

5、卡和3D顯示卡的區(qū)別依據(jù)。 GPU使顯卡減少了對C P U 的依賴,并進行部分原本CPU勺工作,尤其是在3D圖形處理時。GP所采用的核心技 術有硬體T&L、立方環(huán)境材質(zhì)貼圖和頂點混合、紋理壓縮和凹凸映射貼圖雙重紋理四像素256位渲染引擎等,而硬體T&戰(zhàn)術可以說是G P U的標志。T& L技術是最近在圖形加速卡上都可以看得到的規(guī)格名稱之一,這個名詞的原來意義是:Transforming以及Lighting ,光影轉換。在圖形加速卡中,T&L的最大功能是處理圖形的整體角度旋轉以及光源陰影等三維效果。3D圖上有許多的連結點,每一個連結點都可視為一條線的轉折點,通過這些

6、連結點,圖形芯片可以很清楚地將整個對象的結構辨識出來。然而,這些連結點在這張3D殳計圖上的位置是固定不動的,換句話說,不管我們從任何一個角度來看這個對象, 連結點的位置并沒有變動,變動的只有角度的不同。不過,對象圖案若只進行到Transforming的階段,在對象的表面也只有連結點而已,并沒有加上顏色色塊或任何材質(zhì)的貼圖表現(xiàn),因此,很像是立體的3腌視圖。一般來說,T& L的效能常用單位時間內(nèi)所能處理多少個多邊形的連結點變化以及光源運算為基準。像 nVidia的GeForce 2便能在每秒鐘處理2500萬個多邊形,而有 的產(chǎn)品甚至能達到3000萬個多邊形的效能。紋理壓縮中將壓縮后的數(shù)據(jù)存

7、儲進顯存并不是終結。重要的是需要用顯示芯片把這些壓縮后的數(shù)據(jù)進行解壓縮,再經(jīng)過運算貼圖到3D莫型上。這個過程就需要顯示芯片在硬件上支持了,如果不支持,對于壓縮后的數(shù)據(jù)無法識別,照樣不能完成紋理 壓縮,也不能發(fā)揮出紋理壓縮的優(yōu)勢。凹凸貼圖(bump mapping),又稱為皺面貼圖,是一項計算機圖形學技術,在這項 技術中每個待渲染的像素在計算照明之前都要加上一個從高度圖中找到的擾動。這 樣得到的結果表面表現(xiàn)更加豐富、細致,更加接近物體在自然界本身的模樣 b) 協(xié)同計算概念CPU/GPU協(xié)同并行計算,其關鍵在于如何實現(xiàn)兩者的高效“協(xié)同”。從國內(nèi)外大量的研究工作來看,“協(xié)同”分為兩個層次:1) CP

8、 U僅負責管理G P U的工作,為GPU 提供數(shù)據(jù)并接收GPU傳回的數(shù)據(jù),由GPU 承擔整個計算任務;2)除管理GPU外,CPU還負責一部分計算任務,與GPU共同完成計算。第一層次的“協(xié)同”比較簡單,CPU與GPU 間分工明確,但浪費了寶貴的CPU計算資源。如IBM 的Power7處理器具有32個核心,因此CPU也具有強大的 計算能力。可見,第二層次的“協(xié)同”是未來協(xié)同并行計算的發(fā)展方向三、GPGPO系結構目前可以生產(chǎn)支持通用計算的 GPU廠家主要有AMD、NVIDIA和Intel。我們將簡要介紹這陳希2012年11月2日三個廠商目前主流 GPU的核心體系結構。1. AMD: APU為進一步提

9、升處理器的工作效率,AMD公司將CPU和GPU的核心進行融合(Fusion),推出了 APU7 ( Accelerated Processing Unit s)系列處理器,以加速多媒體和向量處理能力。業(yè)界有觀點認為,這種融合的體系結構是未來處理器的發(fā)展方向。SEMD cnu jncpijnorminterfilesv si cm mem or v圖1 AMD APU結構示意圖從圖1可以看出,APU處理器將多核的x 86 CPU核心、GPU處理器核心(SIMD引擎陣 列)、高速總線以及存控融合在一塊單一芯片上,可以實現(xiàn)數(shù)據(jù)在不同處理核心間的高速傳輸,大大緩解了目前CPU和GPU之間的通信受限于外

10、部總線的問題。2. NVIDIA: FermiFermi是NVIDIA公司推出的最新一代 GPU,提供了強大的雙精度浮點計算能力。Fermi較之以往GPU的不同之處在于:首先,為面向?qū)?shù)據(jù)精確度要求較高的應用,F(xiàn)ermi首次在GPU勺存儲器中引入了 ECC校驗的功能;其次,F(xiàn)ermi在保持了主流GPU中使用 的Shared Memory作為片上存儲層次外,還首次引入了通用的數(shù)據(jù) Cache,以更好地支 持通用計算。Fermi中的Cache包含被SM私有的L1 Cache和被所有SM享的L2 Cache。 此外,F(xiàn)ermi中的Shared Memory和Cache可以通過配置互相轉化。最后 ,F(xiàn)

11、ermi支持 多Kernel同時執(zhí)行。圖2 NVIDIA Fermi 體系結構示意圖圖2給出了 Fermi的體系結構框圖。圖中包含16個SM,分布在共享的L2 Cache周圍,每SM均包含L1 Cache、寄存器文件等私有存儲資源,32個流處理核心構成的計算陣列和線程調(diào)度單元。處理器的外圍則分布著DRAM Host和線程調(diào)度等接口。值得注意的是,Fermi之前的GPU中SM內(nèi)大多包含8個流處理核心,如GT 200,因此需要4拍才能發(fā)射一個w arp,而Fermi中將流處理核心數(shù)提升至32個,而且采用雙發(fā)射技術,使得每拍可以發(fā)射2個 warp,極大提升了線程發(fā)射效率。四、CUD陶介CU DA 全

12、稱統(tǒng)一計算設備框架 (Compute UnifiedDevice Architecture,簡稱 CU DA ), 是NVIDIA公司針對其GPU設計提出的GPGPU程卞II型,它也以笊言為基礎,降低了編程難 度。在CUDA計算模型中,應用程序分為host端和device端,前者是指運行于CPU上的部 分,后者則是運行于GPU上的部分,這部分代碼稱為核心(Kernel)函數(shù)。CPU代碼準備好 數(shù)據(jù)后,復制到顯卡的存儲器中,再調(diào)用核心函數(shù)進行執(zhí)行,執(zhí)行完畢后再由CPU代碼將 計算結果拷貝回主存。在CU DA計算模型下,GPU執(zhí)行的最小單位是線程,多個線程組成一個線程塊,線程塊中線程可以共享一片存

13、儲器,并以任意順序執(zhí)行,在硬件資源受限的情況下甚至可以串行執(zhí)行。一個核心程序由一個或多個線程塊組成,一個應用則由若干個核心程序構成。block(2.0)blockKernel nthread(n, I)thread(n, n)圖3 CUDA計算模型示意圖從CUDA體系結構的組成來說,包含了三個部分:開發(fā)庫、運行期環(huán)境和驅(qū)動。開發(fā)庫是基于CUDA技術所提供的應用開發(fā)庫。目前CUDA的1.1版提供了兩個標準的數(shù)學運算庫FFT (離散快速傅立葉變換)和CUBLAS離散基本線性計算)的實現(xiàn)。這兩個數(shù)學運算庫所解決的是典型的大規(guī)模的并行計算問題,也是在密集數(shù)據(jù)計算中非常常見的計算類型。開發(fā)人員在開發(fā)庫的基礎上可以快速方便的建立起自己的計算應用此外開發(fā)人員也可以在C U DA的技術基礎上實現(xiàn)出更多的開發(fā)庫。運行期環(huán)境提供了應用開發(fā)接口和運行期組件,包括基本數(shù)據(jù)類型的定義和各類計算、類型轉換、內(nèi)存管理、設備訪問和執(zhí)行調(diào)度等函數(shù)?;贑 UDA開發(fā)的程序代碼在實際執(zhí)行中分為兩種,一種是運行在C戶U上的宿主代碼,一種是運行在G p U上的設備代碼。不同類型的代碼由于其運行的物理位置不同,能夠訪問到的資源不同因此對應的運行期組件也分為公共組件、宿主組件和設備組件三個部分,基本上囊括了所有在GPGPU發(fā)中所需要的功能和能夠使用到的資源接口,開發(fā)人員可以通過運行期環(huán)境的編

溫馨提示

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

評論

0/150

提交評論