淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

距離Arm公佈代號Bifrost的次世代GPU架構並推出Mali G71核心已經兩年了, 然而作為先鋒的Mali G71在麒麟960和Exynos 8895中的表現都不盡人意,其功耗之高明顯超出了預期。之後的Mali G72是一款更為合理的產品,它更接近Bifrost架構所承諾的能效目標,在麒麟970和Exynos 9810上實現了100%的能效提升。

今天,Arm公佈了Mali G72的後續產品,也是Bifrost系列的最新產品:Mali G76,目標非常明確:提高單位功耗性能和單位面積性能,並儘可能地趕超競爭對手。Arm承諾,在臺積電7nm工藝的支撐下,使用Mali G76的下一代SoC性能可提高50%。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

橫向來看,Mali G76重點改善了三個關鍵指標,首先是性能密度提高了30%,這意味著GPU面積不變,性能可提高30%;或者在性能相同時,可縮小約24%的GPU面積。其次,Mali G76的微架構效率提升了30%,這要歸功於架構內功能塊的整合。最後,Arm為Mali G76添加了新的專用8位點積指令,使其機器學習推理性能提高了2.7倍。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

擴充架構規模

對於Arm的GPU設計來說,Bifrost已經是一個現代的圖形架構,3D圖形技術在過去的兩年中也沒有發生重大變革。Mali G76在圖形特性方面和Mali G72完全一樣,變化集中在圖形計算過程中。

與Mali G72相比,Mali G76在架構上的優化幅度更大。雖然它仍是Bifrost架構,但GPU的工作方式發生了很大變化。無論在移動GPU還是桌面GPU領域,Mali G76都是單個圖形體系版本迭代中變化最大的之一。

前代Mali G71/G72的每個EU模塊中包含4組FMA和ADD/SF流水線並組成一個線程粒度,Arm將這種模塊結構稱為“Quad”。隨著技術和應用的發展以及移動GPU在VR和高畫質遊戲領域的壓力不斷增加,Quad結構的運算效率已逐漸無法滿足需求。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

根據Arm的數據,Mali G76為了進一步提高架構的性能和麵積效率,將GPU內的基礎計算模塊的規模增加了一倍,單個EU內擁有8組FMA和ADD/SF流水線。全新EU結構的面積並沒有大幅增加,相比前代只提升了22%,但性能卻得到了顯著提升。

這是一個非常有趣的變化,通常來說線程粒度的尺寸通常代表著硬件架構的典型特性。PC GPU的線程粒度已經有許多年沒有變動過了,NVIDIA自2006年至今一直保持著32寬度,AMD則從2011年至今一直使用64寬度。

此前Bifrost架構所用的Quad結構,相比競爭對手架構的線程粒度(16~32寬度)要小很多。通常來講,線程粒度反映了架構在資源/面積密度和性能之間的平衡點,較大的線程粒度可節省控制邏輯單元數量(單個32寬度線程粒度只需1個控制邏輯單元,而8個4寬度線程粒度需要8個控制邏輯單元)。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

但線程粒度越大,控制單元填充它就越困難。Arm的GPU哲學總體上注重的是儘量避免執行停滯,通過使用更小的線程粒度降低線程發散的可能性。分割線程雖然並不難,但也會造成性能損失。

Arm在推出Bifrost架構時表示,他們採用了4寬度線程粒度,以減少因線程發散所造成的ALU(算術邏輯單元)閒置。這從理論上看是一種很好的策略,如果運算中有大量分支代碼,那麼因線程發散而閒置的ALU就沒有了任何價值。

然而對於一個很小的線程粒度來說,控制邏輯單元與ALU的比率太高了,浪費了大量硬件規模。Mali G76換用8寬度線程粒度後,降低了控制邏輯單元與ALU的比率,在ALU吞吐量翻倍的情況下,EU模塊的規模只比之前4寬度線程粒度時增加了28%。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

雖然Arm並沒有做出更明確的解釋,但此次改變其實反映出Arm此前4寬度線程粒度的設計有些一廂情願了,實際遊戲中幾乎用不到這麼小的尺寸。更緻密的Quad結構也有助於擴充架構規模,Arm可以在單位面積上塞入更多ALU以提升性能。

與此同時,為了匹配翻倍的Quad尺寸,Arm將相應的緩存和通道也增加了一倍。雖然Arm沒有正式披露Quad的寄存器堆棧大小,但他們已經證實Mali G76的寄存器堆棧與Mali G72一樣,每通道有64個寄存器,因而寄存器堆棧的壓力並沒有變化。

在像素和紋理方面,Mali G76也使用了雙單元方案,每週期可以處理兩個像素或兩個紋理,ALU與像素和紋理單元的比例與之前保持一致。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

在相同的時鐘速度下,Mali G76的浮點運算、紋理和像素吞吐量都增加了一倍,實際性能的提升幅度也應基本相仿。在某種意義上,Arm是將兩個Mali G72核心融合成了一個Mali G76核心,但Mali G76達到Mali G72翻倍的性能只需132%的芯片面積,理論上單位面積性能提升了50%。

強化機器學習

雖然Arm大幅強化了Bifrost架構的圖形渲染性能,但這不是Mali G76核心的唯一改變,機器學習性能的提升也是此次的重頭戲。

Arm為Mali G76的ALU強化了int8格式的支持,這一數據格式是處理神經網絡的關鍵操作,在機器學習推理非常重要,儘管8位整數的精度有限,但在很多情況下仍然足以進行基本推理。

雖然此前Mali G71/G72也可通過打包4個int8數據的方法進行計算,但Mali G76是第一個原生支持單週期處理int8的Mali核心。根據工作負載和機器學習框架的不同,Mali G76的機器學習性能相比Mali G71/G72提升了約2.7倍。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

同時Arm研究發現,影響GPU性能的另一個潛在瓶頸是回寫機制。如果GPU在一個多邊形回寫過程中停滯,則很可能會阻塞GPU的其他部分。Arm將Mali G76從有序回寫機制轉變為無序回寫機制,允許通過繞過那些回寫延遲來更靈活地回寫多邊形。

此外Arm還優化了Mali G76塊緩衝,在某些情況下色彩緩衝被耗盡時,可臨時溢出到深度緩衝中。這樣可以減少對主內存進行訪問的次數,以儘可能保持GPU核心的本地流量。Mali G76的線程本地存儲機制也相應的針對寄存器溢出處理進行了優化,GPU會將溢出的數據塊分組在一起以利於將來獲取。

性能和功耗預測

Arm的GPU核心設計一向都是組團群P的思路,通過堆砌核心數量來抗衡高通Adreno的大核心無敵策略。

此前Mali G71/G72最多可支持堆砌32核心,但實際上沒有任何一家SoC廠商選擇過MP32的最大配置選項,最高也不過是三星Exynos 8895的Mali G71 MP20,其次是Exynos 9810的Mali G72 MP18,而華為的麒麟970使用了Mali G72 MP12,麒麟960則只有Mali G71 MP8。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

出現這種現象的原因恰恰是Mali G71/G72的單位面積性能太差了。以Exynos 9810的18核Mali G72為例,其GPU總面積為24.53 mm²,是高通Adreno 630(10.69 mm²)的2.3倍、蘋果A11 GPU(15.28 mm²)的1.6倍,而性能卻還不如Adreno 630和蘋果A11 GPU。更遑論Exynos 8895上面積更大(32 mm²)性能更低的Mali G71 MP20。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

三星Exynos 9810核心透視圖

與三星的狂堆核心數相比,麒麟970和960則只使用了中等數量的核心,然後通過拉高核心頻率來榨取性能。然而每種核心架構在某一工藝下,都有一個能耗比最佳的頻率區間,越過這個區間後,繼續拉高頻需要付出極大的功耗代價。

三星Exynos 9810和8895雖然GPU面積很大,但由於頻率只有560MHz左右,因此功耗表現尚可。而麒麟970的Mali G72 MP12為746MHz,功耗上升非常明顯,能耗比僅略高於使用Mali G71的Exynos 8895。麒麟960的Mali G71 MP8頻率甚至高達1037MHz,暴增的功耗使其能耗比還不如老舊Exynos 7420上的Mali T760 MP8。

考慮到實際使用中的情況,以及Mali G76核心規模的擴充,Arm決定將Mali G76的最大核心數量下調至20核心。通過將功能模塊和執行引擎整合到更少的“內核”中來提高內核的性能密度,可顯著改善GPU的單位面積性能。據估計,Mali G76在曼哈頓3.1測試中,每mm²性能提升了39%,

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

Arm表示,Mali G76 MP12在7nm工藝下,相比Mali G72 MP18將會有50%的性能提升,功耗則保持一致。而相比驍龍845的Adreno 630,Mali G76 MP12在擁有12.8%性能優勢的同時,功耗下降了22.8%。(注:Mali G76 MP12頻率不明)

結論與思考

總的來說,Mali G76的進步非常明顯——單位面積性能提高了30%,且功耗表現也有很大改善。然而儘管Mali G76將大大提高Arm公版GPU的競爭力,但依然不足以藉此一役趕超競爭對手。

淺析ARM全新Mali G76 GPU:全方位進化 但仍不足與高通蘋果匹敵

在微架構優化方面,Arm的確在整合核心和加強核心方面做出了正確的選擇。Arm公版GPU的多核心策略是一把雙刃劍,它雖然允許廠商根據自身需求配置核心數量,但多核心也會導致不可避免的性能和麵積損耗。Arm雖然預測了Mali G76 MP12的表現,但與高通Adreno 630和蘋果A11的GPU相比,12核依然太多了。

想想Mali G72 MP18與Adreno 630的對比,即便Mali G76的每平方毫米性能提升了39%,依然無法抵消高達2.3:1的面積比。用7nm的Mali G76 MP12打贏10nm的Adreno 630並不能說明什麼,如果二者同為7nm工藝,不出意外Mali G76的能耗和麵積依然會有明顯劣勢。

非常關注Mali G76在實際芯片中能有怎樣的表現,同時希望Arm在未來能將每個EU的計算資源再增加一倍,這很可能將再次帶來巨大的改進,進一步縮小與競爭對手的差距。

如果您對我們的文章感興趣,請關注“昊源諾信”,每天準時給您推送最熱最前沿的行業資訊!


分享到:


相關文章: