返回列表 回復 發帖

HD7950比HD7970快? 探秘Tahiti構架奧義-2

HD7950的運算單元規模比HD7970縮減了12.5%,但各項緩衝資源比如L2 unified cache的總量並未見變化,因此HD7950的每一個ALU所能夠獲得的寄存器溢出緩衝會高於HD7970。正因為此,雖然同為Tahiti構架,但伴隨著頻率的提升,HD7970以及HD7950在執行矩陣乘法時的性能差距在快速的縮小,更大的緩衝密度為HD7950帶來了更好的單元複用率,這種更好的單元動作效率不僅成功的彌合了由運算單元吞吐規模帶來的差異,更讓HD7950擁有了更好的執行各種靈活shader指令的能力。



第5頁:shader靈活度測試:矩陣轉置


  ● shader靈活度測試:矩陣轉置

  矩陣轉置同矩陣乘法一樣,也廣泛分佈在包括座標變換等過程在內的大量圖形處理過程中。矩陣轉置可以被理解成矩陣沿特定方向“翻轉”之後產生的鏡像,這導致了矩陣轉置操作會涉及到大量數據,比如稀疏矩陣的對角線數據等的臨時存儲,因此矩陣轉置操作對於體系的緩衝密度是相當敏感的。



矩陣轉置操作

  同矩陣乘法一樣,伴隨著頻率的不斷提升,HD7950的矩陣轉置性能提升速度較之HD7970要高出許多,兩者之間的性能差異在迅速的收窄甚至趨同。由於矩陣轉置的操作過程較之矩陣乘法更加“規整”,能夠產生瞬間高延遲的因素較少,因此矩陣轉置測試所得的趨勢也更加明顯和直觀。



  矩陣系操作的測試明白無疑的向我們傳達了一個資訊——HD7950擁有比HD7970更好的單元複用率,這種單元複用率的差異以及其背後緩衝密度提升帶來不僅佐證了我們反復強調的關於Tahiti構架單元複用率雖然改善良多但依舊不足的觀點,更為“HD7950的圖形性能有沒有超越HD7970”這一問題埋下了伏筆。



第6頁:shader吞吐能力測試:並行歸約


  ● shader吞吐能力測試:並行歸約

  為了全面的反應Tahiti構架的特性,同時證明矩陣乘法以及矩陣轉置測試的結果與伴隨頻率抬升帶來的吞吐增加並無直接關係,我們進一步收集了HD7950與HD7970在不同頻率下的並行歸約執行能力的數據。



圖靈歸約(黑箱化)過程

  通俗的說,歸約是一個以已知問題解法來直接處理未知問題的黑箱化數學方法。比如說我們不知道2的4次方應該怎樣計算,但我們知道2X2以及4X4如何計算,那我們就可以把應用中所有的2的4次方操作轉變成2X2或者4X4來進行處理。歸約操作的本質,就是在已知問題和未知問題之間建立指向和聯繫,將特定問題轉化成已知問題來進行處理,而並行歸約操作則將這一過程並行化已達到加快處理速度的目的。



  並行歸約操作考驗的是構架的並行吞吐能力,只要線程資源充足,體系應該可以以最大化的方式來完成吞吐過程。從測試結果來看,HD7970與HD7950擁有相同的線程仲裁及發放機制,因此兩者的吞吐能力差異在趨勢上並沒有像矩陣操作那樣呈現趨近收窄的形態,HD7970的吞吐能力在大多數時候都穩定的以大體相同的幅度領先於HD7950。


第7頁:CS等效性能測試:高亮直方圖


  ● CS等效性能測試:高亮直方圖

  Compute Shader對於DirectX 11的重要性不言而喻,它擁有很多實用的應用方式,快速繪製場景的亮度直方圖就是其中之一。無論DirectX還是Open CL,以通用計算方式來完成亮度直方圖繪製都需要體系擁有非常優秀的ALU綜合性能。這其中不僅有吞吐能力,更有單元複用率所帶來的動作效率。因此,我們決定繼續收集GPCBenchmark測試的亮度直方圖性能,藉以瞭解緩衝密度以及單元複用率的差異對HD7950以及HD7970的圖形通用計算性能的影響。



亮度和顏色直方圖對圖像的表徵和影響

  原子操作能夠讓線程塊凝固並不可再分,因此對吞吐和快速執行能夠起到很好的“保護”作用,而緩衝密度又決定了體系在局域記憶體內完成原子操作的效率,因此亮度直方圖的局域記憶體原子操作能夠反映體系在吞吐和單元複用率兩方面因素共同作用下的實際執行能力,進而檢驗體系是否具備良好的靈活shader以及Compute Shader的執行能力。



  在測試中,HD7950不僅表現出了較之HD7970更好的性能成長性,更在高頻下完成了對HD7970的性能超越。HD7970則因為更低的單元複用率而在高頻下喪失了一部分性能成長率,性能提升曲線變得更加平滑,並最終被HD7950所超越。



第8頁:Texture性能測試:二維卷積


  ● Texture性能測試:二維卷積

  由於HD7950與HD7970擁有相同的幾何端、光柵化單元和輸出端,顯存控制器也完全相同,因此CU的規模就成了兩者惟一的區別。我們已經通過測試瞭解了Tahiti構架CU中ALU團簇部分因緩衝密度不同而產生的性能差異。接下來我們將要展開的測試,將圍繞著CU中的另一個重要組成部分——Texture Arroy展開。



Texture Arroy可以通過VTF操作灰度數據

  我們在前面提到過,在傳統手段中想要單純測試體系的TMU性能是相當困難的事情。幸運的是,TMU對材質的諸多操作過程,包括抽離材質的顏色資訊,將之轉化成灰度數據,再將其與頂點數值進行對照並輔以相關的操作等等,本質上就是對像素數據數組的一系列操作。因此GPCBenchmark對於二維卷積性能的測試,可以讓我們將TMU性能轉化成單純的TMU動作能力以及與相關緩衝互動能力的測試。


二維卷積運算

  卷積過程的應用領域極為廣泛,其在統計學、概率論、聲學研究、以及電子信號處理領域都有廣泛的涉及,任何一個存在於世界上受物理學支配的線性系統均包含卷積過程。用TMU單元對卷積過程進行運算,可以考驗TMU處理數據類型完全相同的材質過程時的性能,同時還能避開來自幾何、光柵化以及輸出過程的諸多干擾。



  由於Tahiti構架的Texture cache資源相當豐富,再加上Texture Arroy的動作方式遠比ALU面對shader時要來的規整和平滑,所以HD7950的二維卷積性能隨頻率的增長並未與HD7970存在不同,兩者維持著大體相當的性能差異。這表明Tahiti構架的材質性能是相對穩定的,不會因為頻率的提升而大幅變化,同時也未從緩衝密度的提升中獲得太多好處。



第9頁:理論與實踐的結合:戰地3遊戲測試


  ● 理論與實踐的結合:戰地3遊戲測試

  我們對於構架的底層延展測試,其本質目的其實還是要向大家展現一款GPU對圖形過程的執行能力。圖形能力是建立在一系列底層單元性能的基礎之上的,因此對於底層構架的測試,將有助於我們理解現有的圖形測試的結果,並對該款構架即將到來的產品進行一定的預測。



DirectX 11特性支持相當完美的BattleField 3

  我們選擇DirectX 11遊戲戰地3作為圖形表現的測試對象。基於寒霜2引擎的戰地3擁有大量先進的DirectX 11特效,它並沒有採用傳統遊戲以及跨平臺遊戲以高精度材質來提升畫質的方法,而是利用靈活複雜的各種shader,尤其是Compute Shader來快速表達更加真實的光照效果以及環境,藉以達到直接提升環境真實度的目的。



  戰地3的測試結果相當好的符合了我們對底層構架的延展測試。我們知道,圖形過程是一個順序且環環相扣的過程,shader性能以及材質性能與其他要素一起同時決定著GPU執行遊戲畫面的速度和延遲。根據我們前面的測試結果,HD7950擁有比HD7970更好的ALU單元複用率,因此伴隨著頻率的提升,其在shader尤其是Compute Shader性能方面的表現要優於HD7970,而雙方的材質性能差距則始終相當。因此兩方面要素綜合之後,同頻下的HD7950與HD7970的遊戲性能差異也呈現了逐漸收窄和趨同的態勢。


第10頁:Tahiti構架到底怎麼樣?


  ● Tahiti構架到底怎麼樣?

  不得不承認,本篇測試無論從測試內容還是結果的解讀方面來講,其難度對於一般讀者來說都大了些。我們花費大力氣進行測試和數據收集,並將測試結果抽離出來加以解讀,其目的無非是想讓大家瞭解什麼才是真正的Tahiti構架。



Tahiti構架的HD7900系列顯卡  

  我們在開篇就已經說過,只有剝離測試中的其他干擾要素,直達構架底層某個部件的真實性能,我們才能真正瞭解和理解一款圖形構架。那麼,Tahiti構架究竟是一款怎樣的構架呢?HD7900系列顯卡,又是怎樣的一系列產品呢?


Tahiti構架特性

  Tahiti構架較之Cayman構架確實修正了大量的錯誤和不足,它大幅改進了ALU團簇的吞吐模式,摒棄了雖然可以提升吞吐但卻會嚴重影響單元複用率提升的VLIW模式;它改進了雙ACE引擎並大膽的完成了材質和shader單元的直接綁定和對應過程,為並行度的進一步擴展打下了良好的基礎;它還引入了unified cache並進一步完善了其他緩衝體系。這一切的一切,都為提升Tahiti構架的單元複用率和靈活度創造了不錯的條件。

  這些圍繞單元複用率進行的改進都很好,但遺憾的是還不足夠好。


HD7970顯卡拆解

  我們今天的測試結果明白無疑的展現了一個事實——足本規格的Tahiti構架,其資源密度距離充足還有相當的距離。HD7950較之HD7970縮減了12.5%的運算資源,這部分資源削減帶來的等效緩衝資源密度提升,讓HD7950擁有了比HD7970更高的ALU團簇複用率,這種單元複用率的提升極大地彌合了單純吞吐能力差異帶來的性能影響。並讓HD7950在高頻下具備了超越同頻HD7970性能的可能。

  如果換個角度來思考這個問題的話,其實答案就近在眼前了——如果Tahiti構架再做的稍微大些,哪怕只比現在大個10%,裏面多塞一些緩衝資源的話,不到400平方毫米面積的HD7970/7950在目前頻率下的性能又會是怎樣一番光景呢?

  D線之殤,AMD在DirectX 11時代已經很難再繞過去了……





第11頁:放棄幻想,期待美好的未來吧


  ● 放棄幻想,期待美好的未來吧

  在今天的測試中,HD7950的表現可以說相當完美,它不僅為我們提供了完美的構架底層測試參照,更以自己的實際行動證明了這其實是一款性能十分優異的顯卡,只需適當提升頻率,它的最終表現並不會比HD7970差,如果不是我們的運氣差的有些荒誕,手頭的4塊7950均無法在默認電壓下穩定運行在高頻之上,HD7950說不定會在遊戲測試中真正露出自己的獠牙,直接將HD7970踩在腳下了。



HD7950核心

  感興趣的朋友們不妨自己嘗試一下更大幅度的HD7950超頻,這可以讓你們真切的體會到單元複用率的重要性。與此同時伴隨著晶片品質的趨於穩定,我們推薦用戶們更多地考慮HD7950而不是7970,Tahiti構架的特性決定了它不僅有比HD7970好很多的功耗表現,更可以在高頻下給你帶來不小的驚喜。


HD7950公版PCB

  還在期盼著“存在2304甚至更多ALU單元的所謂HD7980或者其他別的什麼東西”的人們,在看過今天這篇測試之後也應該可以醒轉過來了。以目前的測試結果來看,如果維持緩衝資源不變的前提下將CU規模放大到36組甚至40組,Tahiti構架的單元複用率將會因為緩衝密度的縮減而變得比現在更差,儘管這麼做可以進一步提升GPU的材質處理能力,但在非吞吐吃重場合原地踏步的shader性能會在很大程度上吃掉材質性能帶來的總體執行效率提升。以Tahiti構架目前的狀態,抬升頻率明顯比擴展運算規模更能有效的提升性能。因此即便存在比HD7970更加高階的單晶片Tahiti構架GPU,它的規模也不會比HD7970更高。


關於所謂2304 ALU的YY可以停止了  

  Tahiti是一個值得肯定的構架,它的改進卓有成效,它轉變的勇氣值得稱頌,但它面前橫亙的D線卻讓它失去了飛向更高處的機會。沒有富裕的晶片面積用來放置更多的緩衝資源,讓HD7900系列尤其是HD7970不得不使用高頻來彌補絕對性能的不足,過高的頻率不僅令功耗險些失控,而且也極大地限制了未來
返回列表