
一顆GPU如何帶動人工智能的發展?
圖形處理器(英語:Graphics Processing Unit,縮寫:GPU)
又稱顯示核心、視覺處理器、顯示芯片,是一種專門在個人電腦、工作站、游戲機和一些移動設備(如平板電腦、智能手機等)上圖像運算工作的微處理器。用途是將計算機系統所需要的顯示信息進行轉換驅動,并向顯示器提供行掃描信號,控制顯示器的正確顯示,是連接顯示器和個人電腦主板的重要元件,也是“人機對話”的重要設備之一。顯卡作為電腦主機里的一個重要組成部分,承擔輸出顯示圖形的任務,對于從事專業圖形設計的人來說顯卡非常重要。
功能作用
顯卡的處理器稱為圖形處理器(GPU),它是顯卡的“心臟”,與CPU類似,只不過GPU是專為執行復雜的數學和幾何計算而設計的,這些計算是圖形渲染所必需的。某些最快速的GPU集成的晶體管數甚至超過了普通CPU。時下的GPU多數擁有2D或3D圖形加速功能。如果CPU想畫一個二維圖形,只需要發個指令給GPU,如“在坐標位置(x, y)處畫個長和寬為a×b大小的長方形”,GPU就可以迅速計算出該圖形的所有像素,并在顯示器上指定位置畫出相應的圖形,畫完后就通知CPU “我畫完了”,然后等待CPU發出下一條圖形指令。
有了GPU,CPU就從圖形處理的任務中解放出來,可以執行其他更多的系統任務,這樣可以大大提高計算機的整體性能。GPU會產生大量熱量,所以它的上方通常安裝有散熱器或風扇。GPU是顯示卡的“大腦”,GPU決定了該顯卡的檔次和大部分性能,同時GPU也是2D顯示卡和3D顯示卡的區別依據。2D顯示芯片在處理3D圖像與特效時主要依賴CPU的處理能力,稱為軟加速。3D顯示芯片是把三維圖像和特效處理功能集中在顯示芯片內,也就是所謂的“硬件加速”功能。顯示芯片一般是顯示卡上最大的芯片(也是引腳最多的)。時下市場上的顯卡大多采用NVIDIA和 AMD-ATI 兩家公司的圖形處理芯片。GPU已經不再局限于3D圖形處理了,GPU通用計算技術發展已經引起業界不少的關注,事實也證明在浮點運算、并行計算等部分計算方面,GPU可以提供數十倍乃至于上百倍于CPU的性能,如此強悍的“新星”難免會讓CPU廠商老大英特爾為未來而緊張, NVIDIA和英特爾也經常為CPU和GPU誰更重要而展開口水戰。GPU通用計算方面的標準目前有OpenCL、CUDA、ATI STREAM。其中,OpenCL(全稱Open Computing Language,開放運算語言)是第一個面向異構系統通用目的并行編程的開放式、免費標準,也是一個統一的編程環境,便于軟件開發人員為高性能計算服務器、桌面計算系統、手持設備編寫高效輕便的代碼,而且廣泛適用于多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構以及數字信號處理器(DSP)等其他并行處理器,在游戲、娛樂、科研、醫療等各種領域都有廣闊的發展前景,AMD-ATI、NVIDIA時下的產品都支持OPEN CL。
1985年 8月20日 ATi公司成立,同年10月ATi使用ASIC技術開發出了第一款圖形芯片和圖形卡,1992年 4月 ATi發布了 Mach32 圖形卡集成了圖形加速功能,1998年 4月 ATi被IDC評選為圖形芯片工業的市場領導者,但那時候這種芯片還沒有GPU的稱號,很長的一段時間ATI都是把圖形處理器稱為VPU,直到AMD收購ATI之后其圖形芯片才正式采用GPU的名字。
NVIDIA公司在1999年發布GeForce 256圖形處理芯片時首先提出GPU的概念。從此NV顯卡的芯就用這個新名字GPU來稱呼。GPU使顯卡削減了對CPU的依賴,并實行部分原本CPU的工作,更加是在3D圖形處理時。GPU所采用的核心技術有硬體T&L、立方環境材質貼圖與頂點混合、紋理壓縮及凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術能夠說是GPU的標志。
工作原理
簡單說GPU就是能夠從硬件上支持T&L(Transform and Lighting,多邊形轉換和光源處理)的顯示芯片,由于T&L是3D渲染中的一個重要部分,其作用是計算多邊形的3D位置與處理動態光線效果,也能稱為“幾何處理”。一個好的T&L單元,能提供細致的3D物體和高級的光線特效;只不過大多數PC中,T&L的大部分運算是交由CPU處理的(這就也就是所謂軟件T&L),因為CPU的任務繁多,除了T&L之外,還要做內存管理和輸入響應等非3D圖形處理工作,所以在實際運算的時候性能會大打折扣,一般出現顯卡等待CPU數據的情況,CPU運算速度遠跟不上時下復雜三維游戲的要求。即使CPU的工作頻率超出1GHz或更高,對它的幫助也不大,因為這是PC本身設計造成的問題,與CPU的速度無太大關系。
產品區別
GPU在幾個主要方面有別于DSP(Digital Signal Processing,簡稱DSP,數字信號處理)架構。其所有計算均使用浮點算法,而且此刻還沒有位或整數運算指令。此外,由于GPU專為圖像處理設計,因此存儲系統實際上是一個二維的分段存儲空間,包括一個區段號(從中讀取圖像)和二維地址(圖像中的X、Y坐標)。此外,沒有任何間接寫指令。輸出寫地址由光柵處理器確定,而且不能由程序改變。這對于自然分布在存儲器之中的算法而言是極大的挑戰。最后一點,不同碎片的處理過程間不允許通信。實際上,碎片處理器是一個SIMD數據并行執行單元,在所有碎片中獨立執行代碼。
盡管有上述約束,但是GPU還是可以有效地執行多種運算,從線性代數和信號處理到數值仿真。雖然概念簡單,但新用戶在使用GPU計算時還是會感到迷惑,因為GPU需要專有的圖形知識。這種情況下,一些軟件工具可以提供幫助。兩種高級描影語言CG和HLSL能夠讓用戶編寫類似C的代碼,隨后編譯成碎片程序匯編語言。Brook是專為GPU計算設計,且不需要圖形知識的高級語言。因此對第一次使用GPU進行開發的工作人員而言,它可以算是一個很好的起點。Brook是C語言的延伸,整合了可以直接映射到GPU的簡單數據并行編程構造。經 GPU存儲和操作的數據被形象地比喻成“流”(stream),類似于標準C中的數組。核心(Kernel)是在流上操作的函數。在一系列輸入流上調用一個核心函數意味著在流元素上實施了隱含的循環,即對每一個流元素調用核心體。Brook還提供了約簡機制,例如對一個流中所有的元素進行和、最大值或乘積計算。Brook還完全隱藏了圖形API的所有細節,并把GPU中類似二維存儲器系統這樣許多用戶不熟悉的部分進行了虛擬化處理。用Brook編寫的應用程序包括線性代數子程序、快速傅立葉轉換、光線追蹤和圖像處理。利用ATI的X800XT和Nvidia的GeForce 6800 Ultra型GPU,在相同高速緩存、SSE匯編優化Pentium 4執行條件下,許多此類應用的速度提升高達7倍之多。
對GPU計算感興趣的用戶努力將算法映射到圖形基本元素。類似Brook這樣的高級編程語言的問世使編程新手也能夠很容易就掌握GPU的性能優勢。訪問GPU計算功能的便利性也使得GPU的演變將繼續下去,不僅僅作為繪制引擎,而是會成為個人電腦的主要計算引擎。
識別軟件
說起處理器識別工具CPU-Z,其知名度和必備度無需贅言。硬件網站時下又給我們提供了一個類似的工具,用于顯卡識別的“GPU-Z”。這是TechPowerUp發布的專業顯卡識別工具。
供應商
GPU有非常多的廠商都生產,和CPU一樣,生產的廠商比較多,但大家熟悉的卻只有INA,以至于大家以為GPU只有三大廠商。
圖形處理器英特爾
英特爾的GPU基本為集成顯卡芯片,用于英特爾的主板和英特爾的CPU。可能你想不到,要是只按市場占有率計算,英特爾隨著他主板及CPU發售的集成GPU占據了整個GPU市場的60%以上。他的GPU主要有:唯一一款獨立顯卡芯片Intel 740(i740)。Extreme Graphics系列、GMA系列(集成于芯片組中)。現在的HD Graphics系列[1] 、Iris? Graphics系列[2] 、Iris? Pro Graphics[2] 系列等(集成于CPU中)。
圖形處理器NVIDIA
NVIDIA是現在最大的獨立顯卡芯片生產銷售商。
他的GPU包括大家熟悉的Geforce系列[3] ,包括GTX、GTS、GT等。專業工作站的Quadro系列[4] ,超級計算的Tesla系列[5] ,多顯示器商用的NVS系列[6] ,移動設備的Tegra系列[7] 。
以前也銷售集成在主板上的集成顯卡芯片,這些隨著主板芯片組一起發售,但是由于AMD收購ATI后自身主板芯片組GPU能力提高,NVIDIA芯片組如日中天的景象已經消失了。
曾經為游戲機Xbox、PS3供應GPU。
圖形處理器AMD(ATI)
AMD是世界上第二大的獨立顯卡芯片生產銷售商,他的前身就是ATI,2006年AMD以54億美元收購ATI。他的GPU主要是大家熟悉的Radeon系列[8] ,包括以前的X、HD系列,近幾年的R9、R7、R5、R3,現在的RX系列等。專業工作站的FireGL系列,超級計算的FireStream系列,多顯示器商用的FireMV系列,現在前三者已合并為FirePro系列[9] 。
早期ATI還生產過Wonder系列、Mach系列、Rage系列芯片。除了獨立顯卡之外AMD還擁有集成顯卡芯片,集成于芯片組、APU中。由于AMD收購ATI后,其主板市場迅速擴大,已經奪取了NVIDIA在AMD處理器主板芯片組的半壁江山。就現在的發售量和發售盈利方面,AMD的GPU市場占有率方面仍然略輸于NVIDIA。AMD也是游戲機Xbox 360、Wii、Wii U、PS4、Xbox One的GPU供應商。
圖形處理器3dfx
3dfx是一家于1994年成立的生產3D GPU及顯卡的公司。曾經生產了Voodoo系列顯卡,并且研發了SLI技術。由于經營不善等問題于2002年被NVIDIA收購。
圖形處理器Matrox
Matrox當年和NVIDIA,ATI一起爭奪獨立顯卡芯片市場份額的一家公司,在曾經的一個時期Matrox的顯卡和NVIDIA,ATI曾經在性能上比肩過。但由于后來其開發能力日漸衰退,在GF5時期,也就是ATI的9000系列時期,Matrox由于性能上整整落后了GF5900和Raden9800一個世代而逐漸被淘汰,淡出了民用獨立顯卡市場。但時下Matrox仍然在工程用專業顯卡方面有自己的地位。這些顯卡用于工程主圖和多頭輸出仍然很強力。與NVIDIA和AMD的專業顯卡不同,NVIDIA,ATI的專業顯卡涉足的是3D領域,而Matrox得專業顯卡涉足的是2D領域,也就是CAD。但由于OpenCL、CUDA的日漸普及,DX10以上顯卡將在所有支持CUDA的程序上表現出驚人的性能,也就是說當CUDA在各種運用軟件普及的那天,Matrox也必將退出2D專業卡的市場。
圖形處理器SiS和VIA
矽統和威盛時下是對孿生兄弟,但他們曾經也是分開的兩家公司,并且都生產自己主板的集成顯卡芯片。但這可憐的兩兄弟已經逐步在淡出主板市場了,也就必定將淡出GPU市場。
相關問題
圖形處理器第一個問題
GPU的競爭遠比CPU的競爭來得激烈。通用PC的CPU就只有英特爾和AMD兩家大廠。而在GPU方面領先的是N記和A記兩家廠商,但能生產中低端產品的還有英特爾、S3等好幾家廠商。它們的產品雖然不如前兩家,但在很多應用方面也能滿足用戶的需要,所以N記和A記只有拼命往前跑才不會死掉。CPU廠商沒有采用GPU的先進工藝是因為CPU廠商都有自己投資的生產線,不可能一下把原來的生產線都淘汰了上新的生產線,那樣做可能連當初投入的資金都難以收回。而GPU廠商由于種種原因,一般都是自己設計由別人代工的,比如找臺積電代工。代工廠商為了能接到業務,只有不停升級自己的生產設備,這樣才能生存下來。所以造成以上原因。
圖形處理器第二個問題
就如你所說的一樣,CPU除了處理游戲的AI,情節等方面的數據外,對于有些圖像方面也是由它完成的。當微軟每次發布新的DX時,并不是每款GPU都能支持DX新的特性,所以有些圖像方面的任務還得由CPU來完成。還有有些特性比如重力特性以前是由CPU來完成,時下有些GPU也能支持了,這些任務就由GPU來完成了。
圖形處理器第三個問題
GPU相當于專用于圖像處理的CPU,正因為它專,所以它強,在處理圖像時它的工作效率遠高于CPU,但是CPU是通用的數據處理器,在處理數值計算時是它的強項,它能完成的任務是GPU無法代替的,所以不能用GPU來代替CPU。另外,時下AMD收購了A記顯卡芯片的設計廠商,AMD看到今后CPU和GPU只有走一條融合的道路才能在競爭中占得先機。CPU和GPU如何配合默契才能最大地提高工作效率是AMD時下考慮的問題,也是英特爾的問題。
圖形處理器第四個問題
微軟發布windows7 其中一個顯著特性就是 聯合GPU和CPU的強大實力,提升GPU在硬件使用的價值,在Windows7中,CPU與GPU組成了協同處理環境。CPU運算非常復雜的序列代碼,而GPU則運行大規模并行應用程序。微軟利用DirectX Compute將GPU作為操作系統的核心組成部分之一。DirectX Compute。它讓開發人員能夠利用 GPU的大規模并行計算能力,創造出引人入勝的消費級和專業級計算應用程序。簡單的說,DirectX Compute就是微軟開發的GPU通用計算接口,欲統一GPU通用計算標準。也就是說windows7 以后GPU的硬件地位將僅次于CPU,發揮出更大的效用。








