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