认清GPU的流处理器作用
| 賣場中,一位裝機技術員侃侃而談:“ NVIDIA最新的GTX275顯卡核心只有240個流處理器, ATI的HD4890顯卡核心卻有800個流處理器,你要最高性能的顯卡,當然要選HD4890顯卡?!盩ommy一臉迷惑,心下懷疑:“真的是這樣嗎? 為什么有人說GTX275比HD4890性能好呢?” AMD-ATI顯卡(以下簡稱A卡)和NVIDIA(以下簡稱N卡)在流處理器 數量上的巨大差異給Tommy造成的困惑相信許多讀者也有。其實,這個情況和不同廠商、相近行能的GPU的二級緩存數量存在差異情況類似,簡單來說就是 “不同架構的GPU,流處理器的作用不盡相同,不能直接比較數量?!鄙钊氲慕忉屨埧聪挛恼f明。 什么是流處理器 早在微軟推出的DirectX 7當中就曾經提出過一個概念——T&L(中文名稱是坐標轉換和光源),它可以看做是流處理器的鼻祖,隨著顯卡核心芯片技術的發展,在 DirectX 8中。由微軟首次提出了Shader的概念。并且將Shader分為Vertex Shader(頂點著色器,又稱VS單元)和Pixel Shader(像素著色器,又稱PS單元)。 一副游戲畫面是怎么顯示的呢? 其中,3D物體的幾何形狀、光亮和陰影的控制是由Vetex Shader來實現的,而Pixel Shader是對象素資料進行操作運算的指令程序。其中包括了像素的色彩、深度坐標等資料,在GeForce 8之前,Pixel Shader和 Vetex Shader這兩個參數非常重要,這兩個部分的多少完全決定了顯卡的性能表現,N卡和A卡雙方都為了提升Pixel Shader和Vetex Shader的數量而想盡一切辦法。 但是,在DirectX 10這一代顯卡中,業界提出了一個新的概念——統一渲染架構,就是把原有的VS單元和PS單元統一起來,統稱為Shader運算單元。這也就是我們所說的 流處理器(Stream Processor)。因此,上述任務就由流處理器統一執行了,既然流處理器是來自于VS單元和PS單元的統一渲染架構。那么,流處理器的作用于VS單 元+PS單元的合作用就是基本相同的。只是添加了全新的處理單元——Geometry Shader(幾何渲染器,又稱GS單元)。 同一架構的顯卡,流處理器的個數自然是越多越好。相信讀者也在各大網站了解到這樣的信息——“同價位的產品中,N卡的流處理器數量要少于A卡”。比如本文 開頭的裝機技術員提到ATI Radeon HD4890顯卡比NVIDIA GeForce GTX275顯卡的流處理器數量多,這是正確的。但是性能卻是前者稍遜于后者.這是為什么呢,其實在“流處理器”的名稱上A卡和N卡存在細微的差別,N卡 的流處理器全稱為Stream Processing,而A卡的流處理器全稱為Stream Processing Units,一詞之差卻讓兩者的的性能差距有著天壤之別。而且因為A卡和N卡的GPU架構存在根本性的差異,所以流處理器的工作方式和用途也有所差異,故不能直接比較流處理器的數量。這就可以解決本文開頭的顧客Tommy的疑問了 。A卡的GPU流處理器數量多很多但性能不一定就好。下面我們來分析A卡和N卡的GPU架構及流處理器的工作方式,看看有什么不同. 在DirectX 9時代末期,ATI意識到像素渣染的重要性,就通過1:3的架構提高了像素著色器的數量.到了DirectX 10時代,ATI還是通過這種方式來提高重要的像素渲染性能。從RV770的核心架構圖中可以看出,現在在ATI的GPU中,流處理器(Scteam Processing)和流處理單元(Stream Processing Units)的比例就是1:5,也就是說ATI的每個“Stream Processing”都包含有5個“Stream Processing Units”。RV770的流處理器組群擴充至10組,因此數量也有了25倍的增長。達到160個(160x5=800個流處理單元).所以A卡所稱的 “流處理器”實際上一般是指流處理單元。 NVIDIA方面,GeForce GTX200核心架構分為四個層。最上面一層包括幾何著色器(Geometry Shader)、頂點著色器(Vetex Shader)和像素著色器(Pixel Shader).中間一層包括了10組TPCs(計算處理器群集)。每組TPC里面又包含了3組SMs(流處理器組) ,每組SM里面就包含了8個流處理器單元或計算單元,這樣一來,GeForce GTX 200顯卡就一共包含了240個流處理器單元或計算單元. 兩種架構 優劣各異 在進入統一渲染架構時 代后,提高Shade運行頻率與效率是NVIDIA主導的設計思路,而AMD則維持龐大的流處理器數量。兩種思路各有優劣。 1、N的優勢和A的劣勢 N卡的GPU中每個流處理器都具有完整酌ALU功能,在發出一條操作指令時每個流處理器 都能充分工作.而A卡的GPU中每個流處理器的5個流處理單元都是固定的,不能拆開重組,如果在處理純4D指令的時候,每個流處理器只能處理一條4D指 令,有一個流處理器單元閑置,但卻無法加人其他組合來共同工作. 簡單地說,一個指令任務派發下來的時侯,N卡的GPU是需要1個‘人 獨立工作即可完成。而A卡的GPU則需要5個“人”。結組工作才能完成ATI的人數雖然多,但這5個“人”中有可能會有4個“人”閑置,因為這4個“人” 不具有獨立完整的ALU功能,不能執行函數運算,浮點運算和Multipy運算。 2、N的劣勢和A的優勢 ATI的設計也有其顯著的特點——浮點運算能力強大.也就是說如果單純比拼顯示核心在浮點運算上的能力的話,可能ATI則要強一些,在目前 GPGPU項月應用比較多的科學計算方面,理論上能適應GPU和CPU融臺的趨勢。 |
總結
以上是生活随笔為你收集整理的认清GPU的流处理器作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python修改pdf文件名称_使用Py
- 下一篇: MySQL 内核原理分析(一)