GPU的架構(gòu)知識介紹_第1頁
GPU的架構(gòu)知識介紹_第2頁
GPU的架構(gòu)知識介紹_第3頁
GPU的架構(gòu)知識介紹_第4頁
GPU的架構(gòu)知識介紹_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 PAGE8 頁 共 NUMPAGES8 頁GPU的架構(gòu)知識介紹GPU的起GPU縮寫為Graphics Processing Unit的,一般稱為視覺處理單元。GPU被廣泛用于嵌入式系統(tǒng)、挪動 、個人電腦、工作站和電子游戲解決方案當中。現(xiàn)代的GPU對圖像和圖形處理是非常高效率的,這是因為GPU被設(shè)計為很高的并行架構(gòu)這樣使得比通用途理器CPU在大的數(shù)據(jù)塊并行處理算法上更具有優(yōu)勢。1985年 8月20日 ATi公司成立,同年10月ATi使用ASIC技術(shù)開發(fā)出了第一款圖形芯片和圖形卡,1992年 4月 ATi發(fā)布了 Mach32 圖形卡集成了圖形加速功能,1998年 4月 ATi被IDC評選為圖形

2、芯片工業(yè)的市場指導者,但那時候這種芯片還沒有GPU的稱號,很長的一段時間ATI都是把圖形處理器稱為VPU,直到AMD收買ATI之后其圖形芯片才正式采用GPU的名字。NVIDIA公司在1999年發(fā)布GeForce 256圖形處理芯片時首先提出GPU的概念。從此NVIDIA顯卡的芯片就用這個新名字GPU來稱呼。GPU使顯卡削減了對CPU的依賴,并執(zhí)行局部本來CPU的工作,尤其是在3D圖形處理時。GPU所采用的核心技術(shù)有鋼體TL、立方環(huán)境材質(zhì)貼圖與頂點混合、紋理壓縮及凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體TL技術(shù)可以說是GPU的標志。工作原理電腦顯卡的處理器稱為圖形處理單元(GPU)

3、,它對于顯卡的功能就相當于CPU對于整臺電腦,但是GPU的設(shè)計初衷是為了處理圖形渲染所需要的復雜的數(shù)學和幾何運算。一些高速的GPU往往包含比CPU更多的晶體管,而且,GPU的運行會產(chǎn)生大量的熱量,因此,它們一般都安裝有必需的散熱片或者散熱風扇。GPU是可以從硬件上支持TL(Transform and Lighting,多邊形轉(zhuǎn)換與光處理)的顯示芯片,因為TL是3D渲染中的一個重要局部,其作用是計算多邊形的3D位置和處理動態(tài)光線效果,也可以稱為“幾何處理”。一個好的TL單元,可以提供細致的3D物體和高級的光線特效;只大多數(shù)PC中,TL的大局部運算是交由CPU處理的(這也就是所謂的軟件TL),由于

4、CPU的任務(wù)繁多,除了TL之外,還要做內(nèi)存管理、輸入響應等非3D圖形處理工作,因此在實際運算的時候性能會大打折扣,常常出現(xiàn)顯卡等待CPU數(shù)據(jù)的情況,其運算速度遠跟不上今天復雜三維游戲的要求。即使CPU的工作頻率超過1GHz或更高,對它的幫助也不大,由于這是PC本身設(shè)計造成的問題,與CPU的速度無太大關(guān)系。GPU是顯示卡的“大腦”,它決定了該顯卡的檔次和大局部性能,同時也是2D顯示卡和3D顯示卡的區(qū)別根據(jù)。2D顯示芯片在處理3D圖像和特效時主要依賴CPU的處理才能,稱為“軟加速”。3D顯示芯片是將三維圖像和特效處理功能集中在顯示芯片內(nèi),也即所謂的“硬件加速”功能。GPU加速技術(shù)當前CPU開展速度

5、已經(jīng)落后于摩爾定律,而GPU正以超過摩爾定律的速度快速開展。在SIGGRAPH2022大會上,許多業(yè)界泰斗級人物發(fā)表了關(guān)于利用GPU進展各種運算的設(shè)想和實驗模型。SIGGRAPH會議還特地安排了時間進展GPGPU的研討交流。與此同時,在計算機進入DirectX 9 Shader Model 3.0時代,新的Shader Model在指令槽、流控制方面的顯著增強使得對應GPU的可編程性能得到了大大的提升。GPGPU的研究由此進入快車道。下面對幾個值得關(guān)注的技術(shù)做簡單介紹。CUDA為充分利用GPU的計算才能,NVIDIA在2022年推出了CUDA(ComputeUnified Device Arc

6、hitecture,統(tǒng)一計算設(shè)備架構(gòu))這一編程模型。CUDA是一種由NVIDIA推出的通用并行計算架構(gòu),該架構(gòu)使GPU可以解決復雜的計算問題。它包含了CUDA指令集架構(gòu)(ISA)以及GPU內(nèi)部的并行計算引擎。開發(fā)人員如今可以使用C語言來為CUDA架構(gòu)編寫程序。通過這個技術(shù),用戶可利用NVIDIA的GeForce 8以后的GPU和較新的QuadroGPU進展計算。以GeForce 8800 GTX為例,其核心擁有128個內(nèi)處理器。利用CUDA技術(shù),就可以將那些內(nèi)處理器串通起來,成為線程處理器去解決數(shù)據(jù)密集的計算。而各個內(nèi)處理器可以交換、同步和共享數(shù)據(jù)。從CUDA體系構(gòu)造的組成來說,包含了三個局部

7、:開發(fā)庫、運行期環(huán)境和驅(qū)動。開發(fā)庫是基于CUDA技術(shù)所提供的應用開發(fā)庫。CUDA的1.1版提供了兩個標準的數(shù)學運算庫CUFFT(離散快速傅立葉變換)和CUBLAS(離散根本線性計算)的實現(xiàn)。這兩個數(shù)學運算庫所解決的是典型的大規(guī)模的并行計算問題,也是在密集數(shù)據(jù)計算中非常常見的計算類型。開發(fā)人員在開發(fā)庫的根底上可以快速、方便的建立起自己的計算應用。此外,開發(fā)人員也可以在CUDA的技術(shù)根底上實現(xiàn)出更多的開發(fā)庫。運行期環(huán)境提供了應用開發(fā)接口和運行期組件,包括根本數(shù)據(jù)類型的定義和各類計算、類型轉(zhuǎn)換、內(nèi)存管理、設(shè)備訪問和執(zhí)行調(diào)度等函數(shù)?;贑UDA開發(fā)的程序代碼在實際執(zhí)行中分為兩種,一種是運行在CPU上的

8、宿主代碼(Host Code),一種是運行在GPU上的設(shè)備代碼(Device Code)。不同類型的代碼由于其運行的物理位置不同,可以訪問到的資不同,因此對應的運行期組件也分為公共組件、宿主組件和設(shè)備組件三個局部,根本上囊括了所有在GPGPU開發(fā)中所需要的功能和可以使用到的資接口,開發(fā)人員可以通過運行期環(huán)境的編程接口實現(xiàn)各種類型的計算。由于目前存在著多種GPU版本的NVIDIA顯卡,不同版本的GPU之間都有不同的差異,因此驅(qū)動局部根本上可以理解為是CUDA-enable的GPU的設(shè)備抽象層,提供硬件設(shè)備的抽象訪問接口。CUDA提供運行期環(huán)境也是通過這一層來實現(xiàn)各種功能的。由于體系構(gòu)造中硬件抽象

9、層的存在,CUDA今后也有可能開展成為一個通用的GPGPU標準接口,兼容不同廠商的GPU產(chǎn)品OpenCLOpenCL是Open Computing Language(開放式計算語言)的簡稱,它是第一個為異構(gòu)系統(tǒng)的通用并行編程而產(chǎn)生的統(tǒng)一的、免費的標準。OpenCL最早由蘋果公司研發(fā),其標準是由Khronos Group推出的。OpenCL支持由多核的CPU、GPU、Cell類型架構(gòu)以及信號處理器(DSP)等其他的并行設(shè)備組成的異構(gòu)系統(tǒng)。OpenCL的出現(xiàn),使得軟件開發(fā)人員編寫高性能效勞器、桌面計算系統(tǒng)以及手持設(shè)備的代碼變得更加快捷。OpenCL是一個為異構(gòu)平臺編寫程序的框架,此異構(gòu)平臺可由CP

10、U,GPU或其他類型的處理器組成。OpenCL由一門用于編寫kernels (在OpenCL設(shè)備上運行的函數(shù))的語言(基于C99)和一組用于定義并控制平臺的API組成。其框架如下:OpenCL平臺API:平臺API定義了宿主機程序發(fā)現(xiàn)OpenCL設(shè)備所用的函數(shù)以及這些函數(shù)的功能,另外還定義了為OpenCL應用創(chuàng)立上下文的函數(shù)。OpenCL運行時API:這個API管理上下文來創(chuàng)立命令隊列以及運行時發(fā)生的其他操作。例如,將命令提交到命令隊列的函數(shù)就來自O(shè)penCL運行時API。OpenCL編程語言:這是用來編寫內(nèi)核代碼的編程語言。它基于ISO C99標準的一個擴展子集,因此通常稱為OpenCL C

11、編程語言。OpenCL由用于編寫內(nèi)核程序的語言和定義并控制平臺的API組成,提供了基于任務(wù)和基于數(shù)據(jù)的兩種并行計算機制,使得GPU的計算不在僅僅局限于圖形領(lǐng)域,而可以進展更多的并行計算。OpenCL還是一個開放的工業(yè)標準,它可以為CPU和GPU等不同的設(shè)備組成的異構(gòu)平臺進展編程。OpenCL是一種語言,也是一個為并行編程而提供的框架,編程人員可以利用OpenCL編寫出一個可以在GPU上執(zhí)行的通用程序。在游戲、娛樂、科研、醫(yī)療等各種領(lǐng)域都有廣闊的開展前景。AMD Fusion與Nvidia不同,AMD走了一條全新的路子:將CPU和GPU融為一體,打造了AMDFusion,即APU(Acceler

12、ated Processing Units)。這是AMD融聚將來理念的產(chǎn)品,它第一次將處理器和獨顯核心做在一個晶片上,協(xié)同計算、彼此加速,同時具有高性能處理器和最新支持DX11獨立顯卡的處理性能,大幅提升電腦運行效率,實現(xiàn)了CPU與GPU真正的交融。與傳統(tǒng)的x86中央處理器相比, APU提出了“異構(gòu)系統(tǒng)架構(gòu)”(Heterogeneous System Architecture,HSA),即單芯片上兩個不同的架構(gòu)進展協(xié)同運作。以往集成圖形核心一般是內(nèi)置于主板的北橋中。而AMD Fusion工程那么是結(jié)合現(xiàn)時的處理器和繪圖核心,即是將處理一般事務(wù)的CPU核心、處理3D幾何任務(wù)以及圖形核心之擴展功能的現(xiàn)代GPU核心、以及主板的

溫馨提示

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

最新文檔

評論

0/150

提交評論