當前位置:
首頁 > 新聞 > 「嚇人技術」到底是個啥?華為GPU Turbo兩大流言深度辨析

「嚇人技術」到底是個啥?華為GPU Turbo兩大流言深度辨析

GPU Turbo自6月份榮耀Play和榮耀9i發布會上以「嚇死人不償命」的姿態問世後,不怕死的吃瓜群眾們紛紛帶著瓜子飲料礦泉水小板凳圍了個裡三層外三層,一時間流言四起。這之中,有些低級流言我們一眼就能看出真假,而有些流言卻要麼利用人的心理,要麼故作高深讓人一些不懂,因而倒也傳的似模似樣。

但這些終究不可盡信,甚至可信者百里無一。今天雷鋒網便與大家一起,辨析兩條在玩家中傳的似模似樣的流言。

GPU Turbo只是華為花錢買優化?

在GPU Turbo發布伊始,余承東便曾表示,GPU Turbo技術在令GPU處理性能提高60%的同時(注意,是「同時」),還可以將GPU功耗降低30%。

Really?性能提高60%,功耗降低30%,多麼驚人的提升啊!筆者表示,手裡的榮耀9都快握不住了啊~

為了驗證官宣的真偽,我們以Anandtech的測試來作參考,簡單粗暴的判斷一下。測試中搭在了麒麟970的華為Mate10跑出了37.66fps的成績,在此基礎上提升60%應該是60.26fps;而功耗是6.33W,在此基礎上降低30%應該是4.43W。

因此,按照官方宣傳的數據,麒麟970在GPU Turbo加持後,GPU性能應該幾乎持平驍龍845,而GPU功耗則要低於驍龍845,對應的能耗比則為13.60fps/W,成功反超使用驍龍845的三星S9+,僅略低於高通QRD(Qualcomm Reference Design)參考設計平台。

這樣的計算結果雖然很美好,但若以性能來看,不過只是勉強追平驍龍845而已,根本達不到「秒殺」或「完勝」的地步。而功耗若僅降至4.43W,也不足以完全避免降頻(畢竟比4.43W更低的驍龍821、820、835也都降頻)。

那這事情就有意思了,根據發布會上的現場演示,以及此後一票媒體鋪天蓋地的實測,GPU Turbo確實顯著改善了麒麟970的遊戲性能及功耗發熱表現,事實勝於雄辯啊,測試結果比理論推算的成績還要更好呢。

這時有人提出,華為官方公開的GPU Turbo支援遊戲列表,首批優化的遊戲有6款,分別是《王者榮耀》《QQ飛車》《穿越火線》《刺激戰場》《全軍出擊》《荒野行動》。明眼人一看便知,這6款遊戲里,有5個是騰訊系產品,剩下一個是網易的。要知道,騰訊系的遊戲可是典型的「付費優化」,只要肯花錢,藍綠廠的驍龍660都能秒殺其他品牌的驍龍845。

怕不是華為終於想開了,肯給騰訊塞錢了?

實際上,對遊戲行業與公司稍有了解的朋友,很容易看出這種說法基本上相當於「計程車司機講內參消息」,聽著很帶勁,但不符合常識和邏輯。

華為與騰訊的合作,要遠比外界想像的更緊密。從2017年12月2日開始,華為和騰訊就成立了一個聯合實驗室,用來溝通與同步日常技術之間的升級以及優化。像是《刺激戰場》這類頭部產品的更新,華為還會派工程師駐場,以保障手機與遊戲之間更加適配,優化雙方用戶業務上線後的體驗。

因此,GPU Turbo只是華為花錢買優化這種流言,只需稍作了解,便可直接打上fake的標籤扔進垃圾堆了。不過這也帶來了新的問題,既然GPU Turbo並不是花錢買優化這麼簡單,那華為到底是怎麼做到的?

這就要深入了解下麒麟970的硬體設計了。


華為對GPU做了什麼?

根據國外網站techinsights對三星Exynos 9810處理器核心的X光透視照片,我們已經可以清楚的知道,Exynos 9810的晶元面積為10.37mm*11.47mm=118.94mm2,其中三星自主設計的貓鼬M3大核心集群面積為20.23mm2,Cortex A55小核心集群面積為1.87mm2,Mali G72 MP18 GPU集群面積為24.53mm2。

Exynos 9810的X光透視圖

根據透視圖上標出的核心內模塊的比例,我們可以大致測算出,Exynos 9810中單個Mali G72的面積大約為1.072mm2。

而根據techinsights的研究數據,我們知道麒麟970的晶元面積為9.75mm*9.92mm=96.72mm2,其中Cortex A73大核集群面積為5.66mm2,Cortex A53小核集群面積為2.45mm2,Mali G72 MP12 GPU集群面積為18.04mm2。

麒麟970的X光透視圖

同樣,我們可以根據透視圖上標出的核心內模塊的比例大致測算出,麒麟970中單個Mali G72的面積大約為1.344mm2,比Exynos 9810中的大了0.272mm2,此外麒麟970中Mali G72核心的形狀也與Exynos 9810中的有很大不同。

而根據雷鋒網此前詳細解讀7nm製程的文章中的數據,Exynos 9810所使用的三星10nm LPP製程與麒麟970所使用的台積電10nm FF製程,在特徵尺寸和晶體管密度等指標上幾乎是相同的。

因此,Exynos 9810和麒麟970中單個Mali G72核心形狀和面積的差異,代表著二者雖然均為Mali G72架構,但在GPU內部電路設計及投放的晶體管規模上有很大不同。

更進一步的,我們可以得出一個基本結論:華為在設計麒麟970的時候,並不只是拿Arm的公版Mali G72進行了簡單的堆砌,而是進行了大刀闊斧的改良。


增加的面積,是緩存?

這些分析者認為,「華為在15年以後設計的麒麟晶元GPU里都設計了用於全局變數寄存器,同時為了保持專利申請到位前的應用,保留了GPU大外寄存格局」。簡單來說就是,華為沒有改動Mali G72核心,也沒有提高Mali G72的實際性能,但是在GPU區域加了寄存,同時修改了數據匯流排,提高了Mali G72的函數數據讀存速度和效率。(此為分析者的說法,並非筆者觀點)

為此,這些分析者笑稱「GPU里你也加Cache?華而有錢,為所欲為」,甚至還認為華為在GPU技術上已經吊打NVIDIA。

那麼,麒麟970的Mali G72之所以變大這麼多,就是因為華為在GPU里增加了高速緩存咯?

筆者個人認為,這種可能性不能說沒有,但真的很小。

首先不得不糾正這些分析者的是,寄存器(Register)和Cache(高速緩存)並不是同一種東西。在存儲體系中,Register的位置要比高速緩存更靠前,它的速度比高速緩存更快而容量極小,為運算單元提供著指令寄存空間(IR)、程序計數緩衝(PC)以及累加器(ACC)等多方面的服務。

高速緩存在存儲體系中位於Register之後。它有兩大特點:第一是快,速度僅次於Register;第二就是極其消耗晶體管,每bit(不是byte)就要消耗多達6個晶體管。

然而根據已知的消息,世界上第一顆集成高速緩存的民用級GPU是NVIDIA在2001年推出的NV20,也就是Geforce 3系列顯卡,其在GPU內集成了128KB Cache用於紋理緩衝。2004年,NVIDIA又在Geforce 6800Ultra的NV40核心中增設了大小為128KB的L2 Texture Cache,之後Geforce 7800GTX的G70核心又將之增加至288K。

ATI這邊則是在Radeon 1800XT的R520核心中加入了完整的L2 Texture Cache,並在Radeon 2900XT的R600核心中將其擴充至256KB。而Mali系列GPU自2008年的Mali 400開始,也早已全線加入了Cache設計。根據Arm的官方設計參數,Mali G72可以根據不同需求,自行配置128KB~2MB不等的L2 Cache。

可見,在GPU中設置高速緩存並不是什麼新技術,更談不上什麼黑科技,NVIDIA、ATI和Arm等GPU設計公司早在十年甚至二十年前就已經這樣做了。


緩存對GPU性能提升有多大?

上面我們已經知道了,麒麟970中單個Mali G72的面積大約為1.344mm2,Exynos 9810中單個Mali G72的面積大約為1.072mm2,而根據semiwiki的資料,三星和台積電10nm製程的晶體管密度均約為55MTr/mm2(百萬晶體管每平方毫米)。

我們可以反推得知,麒麟970的Mali G72多出來的這部分面積,可容下約1500萬晶體管,即便全部用來做Cache也只有300KB。相較於Arm官方設計參數中128KB~2MB可自由裁量的L2 Cache配置範圍,這300KB說是無足輕重也不為過吧。

OK,關於緩存的信息推導到這裡,基本可以說已經被顛覆了一半,而剩下的問題則是,萬一麒麟970真的是擴充了緩存規模,對GPU的性能提升能有多大?

為了驗證這一問題,我們要請出兩位已經捉對廝殺了四年半之久的老冤家:索尼PlayStaion4和微軟XBOXONE。

也許有的讀者看到這已經明白了,沒錯,說的就是微軟為XBOXONE處理器設計的那32MB ESRAM。

關於這兩台機器的配置這裡就不在贅述了,簡單來說,PS4的GPU規模更大,有1152個流處理器;XBOXONE的GPU則只有768個流處理器,不過微軟為其設計了一塊32MB的ESRAM作為高速緩存。

XBOXONE中Jaguar APU的X光透視圖

從透視圖中可以看出,右側的SRAM區域佔據了整塊晶元相當大的空間,比位於中部的GPU部分還要大。這32MB ESRAM可謂是吞晶巨獸,消耗了多達16億晶體管,要知道XBOXONE的整塊APU也不過50億晶體管而已,單單ESRAM就吃掉了幾乎三分之一。

而和PS4對比的結果也無需多言, XBOXONE相對PS4仍存在普遍接近30%的性能差異,與二者的GPU基礎規模差距基本相當,足以證明這32MB ESRAM對GPU性能的彌補微乎其微。

實際上,從技術角度來說,Cache在整個GPU運算體系中多用作應對寄存器緩衝溢出使用。它的速度和延遲相對於寄存器來說差了不少,但可以在編程環境處理得當的前提下發揮很好的延遲掩蓋作用。除此之外,Cache便只用作銜接GPU和顯存的作用了。


Mali G72,扶不起的阿斗

在雷鋒網此前分析Arm全新Mali G76的時候曾經提到,Mali G71/G72的Bifrost架構採用了4寬度線程粒度,相比競爭對手架構的線程粒度(16~32寬度)要小很多。通常來講,線程粒度反映了架構在資源/面積密度和性能之間的平衡點,較大的線程粒度可節省控制邏輯單元數量(單個32寬度線程粒度只需1個控制邏輯單元,而8個4寬度線程粒度需要8個控制邏輯單元)。

Mali G72 4寬度線程粒度的設計,控制邏輯單元與ALU的比率太高了,浪費了大量硬體規模,實際遊戲中幾乎用不到這麼小的尺寸。隨著技術和應用的發展以及移動GPU在VR和高畫質遊戲領域的壓力不斷增加,Quad結構的運算效率已無法滿足需求。

從Anandtech的測試中可以看出,Exynos 9810的GPU雖然能耗比表現不錯,但卻是以巨大的晶元面積換來的。那18核Mali G72的面積比高通Adreno 630大130%(Adreno 630面積為10.69mm2),性能卻還不如Adreno 630。

與三星的狂堆核心數相比,麒麟970隻使用了中等數量的核心,然後通過拉高核心頻率來榨取性能。不過每種核心架構在某一工藝下,都有一個能耗比最佳的頻率區間,越過這個區間後,繼續拉高頻需要付出極大的功耗代價。麒麟970的Mali G72 MP12頻率為746MHz,功耗上升非常明顯,能耗比僅略高於使用Mali G71的Exynos 8895。

說到底,性能不濟這口黑鍋還是得甩給Arm的Mali G72架構設計不行,從根本上便無法與高通Adreno這樣的高效架構抗衡。這不是簡單的往GPU里多塞幾百KB高速緩存就能解決的問題。

而微軟為XBOXONE增加ESRAM的本意也不是為了彌補與PS4之間巨大的GPU規模差距,而是在設計之初由於GDDR5顆粒價格居高不下,微軟只能使用DDR3搭建存儲系統,其68GB/s帶寬相對於PS4的 176GB/s相去甚遠,因而不得已才為其增設了一塊帶寬高達216GB/s的ESRAM用作銜接。在GDDR5的價格下降後,微軟在去年發售的增強版XBOXONE X主機上,已將ESRAM請出了寸土寸金的晶元。

因此,GPU Turbo是依靠在GPU中增設高速緩存來提升性能的說法,到此可以徹底宣告終結了。


一切還需華為親自公開

遺憾的是,我們憑著數碼愛好者僅有的淺薄知識分析了這麼久,也只能攻破以上兩個流言,依然沒能石錘GPU Turbo到底是什麼。畢竟這是華為的獨門黑科技,就連一向不服同行的羅永浩也交口稱讚,其技術水平和難度可見一斑,真能被我們五六千字就扒個乾淨才是怪事了。

不過在華為此前的一次EMUI公開課上,華為消費者業務軟體工程部總裁王成錄博士親自出面解答了GPU Turbo技術的一些信息,為大家揭開了GPU Turbo神秘面紗的一角。

大家都知道遊戲畫面是一幀一幀渲染出來的,相鄰的兩幀往往有很多相同的地方,而GPU Turbo技術將會只渲染畫面出現變化的地方。也就是說,如果兩幀之間可能有80%的畫面是一致的,GPU Turbo就會讓晶元只渲染變化的20%,從而減少GPU 80%工作量。

渲染工作量的減少大幅提升了下一幀的幀數延遲,用戶眼球感受到畫面掉幀需要16.7毫秒的時間,華為GPU Turbo可以把下一幀的渲染時間控制在7毫秒以內,最快可以在短短3毫秒以內就完成下一幀的渲染工作。

合理調度GPU資源,節省GPU性能到遊戲最需要的地方,這才是GPU Turbo讓遊戲滿幀運行的秘密所在。

當然王成錄博士只是對於GPU Turbo技術工作原理做了一個簡要解答,至於GPU Turbo是如何判定並計算兩幀畫面之間的差別,王成錄博士並未做解答,或許這就是隱藏在Mali G72多出來那0.272mm2中的商業機密吧。

GPU Turbo從立項到研發成功耗費了5年多的時間,王成錄博士表示華為對此項技術非常自信,它的技術門檻非常高,其他家不太可能在短時間內跟進。此前國外XDA論壇上出現的GPU Turbo破解包也很快被證明是一場惡作劇而已,被國內數碼愛好者戲稱為「裝X不講基本法」。

看來,GPU Turbo的一切,還需華為親自公開。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

通用要推動 Cruise 上市,這一步百年巨頭穩贏嗎?
史上最便宜的 Surface 系列新品發布了,定價 399 美元!

TAG:雷鋒網 |