● 與設計師的靈魂的再次對話
我們曾經提到過,每一款GPU芯片都是辛勤汗水的結晶,它們凝聚著設計者靈魂的力量。透過GPU芯片的特性以及表現的全面了解,我們可以從不同角度體會到設計師在設計芯片時的想法以及希望表達的意圖。
要想掌握Tahiti以及Pitcairn在邏輯結構上的差異所帶來的影響,我們必須避開圖形過程其他步驟所帶來的各種干擾,收集到“純凈”的Tahiti以及Pitcairn構架的底層性能,只有這樣才能直達AMD工程師的內心深處。
圖形處理的本質其實就是GPU各單元對各種數學過程進行執行的集合,常規的圖形化測試方法之所以無法避開各種干擾,是因為它們大多拘泥于“圖形化”的形式當中,無論測試過程還是結果都包含在了一個完整的圖形化處理和輸出過程中。比如說要測試材質填充率,我們必須經歷完整的幾何處理、光柵化、像素處理、材質填充以及輸出過程,這讓常規圖形測試的幾何關聯達到了對結果來說無法忽略的地步。所以,只要繞開這層幾何關聯,直接測試構架底層單元執行對應數學過程的能力,就可以避開其他單元以及圖形化本身對測試的干擾了。
GPCBenchmark是一款基于Open CL的GPU通用性能測試軟件,它不僅使用最為通用的函數庫及API接口進行編寫,并未對任何構架進行針對性的優化,所有測試更基于從圖形過程以及通用計算過程中抽離出來的數學過程,能夠進行我們所期望獲得的,能夠繞開幾何關聯和圖形化過程的特定底層硬件純執行能力測試。通過該款軟件,我們不僅可以直接讀取許多底層構架信息,更能獲得構架最真實的特性。
有了合適的測試手段,我們便可以通過“純凈”的構架底層性能來面對和對比構架內部甚至不同構架之間的諸多有用信息,比如吞吐能力、shader應對能力或者材質處理能力等等,并由此定性的推定出構架的單元復用率以及效率狀況,進而對性能表現進行更深層次的解讀。
我們曾經多次提到過,DirectX 11時代對于構架效率的對比,實際上就是對構架單元復用率的對比,因此今天我們關于Tahiti以及Pitcairn構架效率的測試,同樣也要圍繞著與復用率相關的測試步驟,包括矩陣乘法、矩陣轉置、并行規約、亮度直方圖局域存儲器原子操作以及二維卷積。最終,我們同樣也會通過戰地3游戲來完成我們對構架數學應對能力,也就是背后的單元復用率測試的檢驗。