圖形處理器檢視原始碼討論檢視歷史
圖形處理器 |
中文名 :圖形處理器 用途 :圖像和圖形運算 供應商 :ATI、NVIDIA |
圖形處理器(Graphics Processing Unit,GPU),又稱顯示核心(display core),顯示芯片[1](display chip),視覺處理器(video processor),是一種用於處理圖像和圖形運算工作的協處理器[2],廣泛應用在個人電腦、工作站和一些移動設備(如智能手機、平板電腦等)。
GPU作為硬件領域一個重要的分支,在科學計算、人工智能、遊戲開發等領域應用廣泛。商用GPU主要包括NVIDIA Geforce系列、AMD Radeon系列和 NVIDIA Tesla系列等,它們在圖像處理等應用領域提供了高逼真的渲染效果,在科學計算等研究領域提供了強大的計算能力 。
發展歷史
GPU的歷史要從圖形控制器開始。1981年IBM公司推出第一台個人電腦IBM5150,這台電腦配備的黑白顯示適配器(Monochrome Display Adapter,MDA)和彩色圖形適配器(Color Graphics Adapter,CGA)被認為是個人計算機中最早的圖形處理單元。1987年IBM公司推出VGA(Video Graphics Array)標準,在文字模式下可支持720×400分辨率,繪圖模式下可支持640×480×16色和320×200×256色輸出,VGA標準一直沿用至今。為了保證兼容性,當今的顯卡依然會遵循VGA標準。從MDA到VGA,圖形圖像的運算都由CPU來完成,圖形卡的作用主要是將其顯示出來。
1994年,3DLabs發布了第一顆用於PC的3D圖形加速芯片Glint300SX,隨後ATi,3dfx,Matrox,S3 Graphics等公司也推出了類似的產品,然而這些產品缺乏統一執行的標準,加速功能也不盡相同。1999年,NVIDIA公司發布了Geforce256顯示核心,也是首個以「Geforce」為名的顯示核心。它首次在硬件上支持變換和光照(transform and lighting,T&L),整合了三角形構成、裁剪、紋理和染色引擎,併兼容DirectX和OpenGL等圖形相關的應用程序編程接口(API),標誌着GPU時代的正式開始。一年後,大部分公司由於兼容性和性能的落後逐漸退出市場,只剩下ATi的Radeon顯卡作為Geforce顯卡的競爭對手孤軍作戰。
硬件T&L的引入,極大減輕了CPU的負擔,是這一時代GPU的標誌。2001年微軟發布DirectX 8,提出了渲染單元模式(shader model)的概念,根據操作對象的不同引入了2種shader,分別是頂點着色器(vertex shader)和像素着色器(pixel shader),從此,硬件T&L被拋棄,進入shader時代,此時的GPU架構是固定管線。
固定管線架構持續多年,直到微軟推出DirectX10。shader不再扮演固定的角色,每一個shader都可以處理頂點和像素,這就是統一渲染着色器(unified shader),它的出現避免了固定管線中頂點着色器和像素着色器資源分配不合理的現象發生,使得GPU的利用率更高。第一款採用統一渲染架構的GPU是ATI在2005年與微軟合作的遊戲主機XBOX360上採用的Xenos,它是ATI第一代統一渲染架構,而真正具有影響力的,是NVIDIA在2006年發布的GeForce 8800 GTX(核心代號G80),它是第一款採用統一渲染架構的桌面GPU,其架構影響了日後的數代產品,是一款極具劃時代意義的GPU。
與G80一同發布的,還有著名的CUDA(compute unified device architecture),它能利用NVIDIA GPU的運算能力進行並行計算,拓展了GPU的應用領域,然而這時的CUDA只能算是GPU的副業。2011年TESLA GPU計算卡發布,標誌着NVIDIA將正式用於計算的GPU產品線獨立出來,憑藉着架構上的優勢,GPU在通用計算及超級計算機領域,逐漸取代CPU成為主角[7]。
組成結構
GPU是一種用於執行大量並行計算任務的硬件平台,其擁有數百個甚至上千個ALU(算術邏輯單元,Arithmetic Logic Unit),基於的SIMT(單指令多線程,Single Instruction Multiple Threads)架構以線程塊為單位進行工作,這些計算核心支持線程塊中的多個線程在同一周期內執行相同的指令,從而實現高效的並行計算。GPU還包含DRAM,用於存儲數據和指令,如紋理、頂點數據、着色器程序等,以及包含Cache(高速緩存),用於臨時存儲頻繁訪問的數據或計算結果,減少訪問主內存的次數,提高整體性能。
隨着GPU的細分發展,不同廠商、不同型號的GPU具體微觀架構存在差異,如NVIDIA的Tesla架構,Fermi架構和Maxwell架構,AMD的GCN架構,RNDA架構等,但核心部件、概念、以及運行機制仍大同小異。
工作原理
GPU處理圖形任務主要包括輸入、頂點處理、幾何處理、光柵化、像素處理、輸出合併、顯示等步驟,隨着GPU可編程性的不斷提高,這些步驟中部分可以並行執行,GPU逐漸開始應用於通用計算領域。如GPU的圖形流水線所示,首先,GPU接收來自GPU的發出的頂點數據,頂點着色器對這些數據進行一系列變換,然後幾何着色器對圖元進行着色和生成,光柵化階段將圖元轉換成片段並確認像素值,像素着色器再為這些片段添加紋理參數等信息,最後進行顏色合併寫入到像素點再輸出到屏幕上。
應用場景
GPU作為硬件領域一個重要的分支,在科學計算、人工智能、遊戲開發等領域應用廣泛。目前商用GPU主要包括NVIDIA Geforce系列、AMD Radeon系列和NVIDIA Tesla系列等,它們在圖像處理等應用領域提供了高逼真的渲染效果,在機器學習、深度學習、科學計算等研究領域提供了強大的計算能力,支持人工智能的發展與進步。
國產GPU的研製實踐
近年來,國產GPU廠商在圖形渲染GPU和高性能計算GPGPU領域上均推出了較為成熟的產品,在性能上不斷追趕行業主流產品,在特定領域達到業界一流水平。生態方面國產廠商大多兼容英偉達CUDA,融入大生態進而實現客戶端導入。
近些年,國外GPU技術快速發展,已經大大超出了其傳統功能的範疇。國內GPU芯片的研製雖然可滿足目前大多數圖形應用需求,但在科學計算、人工智能及新型的圖形渲染技術方面仍然和國外領先水平存在較大差距,未來持續發展國產GPU勢在必行。
國產GPU下階段的發展方向可以主要考慮三個方面:第一,進一步提升圖形圖像顯示水平,提升國產GPU的基本能力;第二,擴展科學計算和人工智能計算能力,增強國產GPU的非傳統功能;第三,建設全系統解決方案及生態系統,尋求用戶的最優體驗。
參考文獻
- ↑ 什麼是芯片? ,搜狐,2022-03-23
- ↑ 瑞芯微:引領算力協處理器芯片新紀元 ,搜狐,2024-07-24