当前位置:首页 > 科技创新 > 重点技术 >

“吓人技术”到底是个啥?华为GPUTurbo两大流言深度辨析

编辑:lol下注平台 来源:lol下注平台 创发布时间:2021-06-05阅读80301次
  

lol外围官网_自从6月份的荣耀Play和荣耀9i发布会上GPU Turbo问世以来,不怕死不吃瓜的人们争相将瓜子、饮料、矿泉水、小板凳带到城外,谣言四起。其中有些低级的谣言可以一眼看出真假,而有些谣言要么是利用了人的心理,要么是深奥到有些人听不懂,所以被推倒记为模拟。但这些注定是不被相信的,即使是可靠的人,也永远不能被信任。今天之后,我和大家一起分析两个玩家之间类似的谣言。

GPU Turbo只是华为付费优化?GPU Turbo发布之初,余承东就回应说GPU Turbo技术不仅可以提高GPU处理性能60%,还可以降低GPU功耗30%。真的吗?性能提高60%,功耗降低30%。多么不可思议的进步!作者回应说,手里的荣耀9是不能慢慢掌握的~为了检验官方公告的真实性,我们以Anandtech的测试为参照,非常简单武断的进行区分。

测试中在麒麟970上搭建的华为Mate10跑出了37.66fps,在此基础上增加60%应该是60.26fps;而功耗为6.33W,降低30%应该是4.43W.因此,根据官方宣传数据,麒麟970在得到GPU Turbo支持后,GPU性能应该完全等同于Snapdragon 845,而GPU功耗高于Snapdragon 845,对应的能耗比例为13.60fps/W,成功等同于三星S9对于Snapdragon 845,仅略低于QRD(高通参考设计平台。虽然这个计算结果很开心,但是从性能上来说,只需要平Snapdragon 845就可以了,显然已经接近“秒杀”或者“胜利”了。但是如果功耗只降低到4.43W,完全可以避免降频(但是低于4.43W的Snapdragon 821、820、835也降频)。那么这件事就有意思了。

根据发布会现场展示和之后媒体铺天盖地的计算,GPU Turbo明显提升了麒麟970的游戏性能和功耗痉挛。事实胜于雄辩,测试结果甚至比理论结果还要好。

lol总决赛下注

此时明确指出华为官方发布GPU Turbo提供支持游戏列表,第一批优化游戏为《王者荣耀》 《QQ飞车》 《穿过火线》 《性刺激战场》 《全军迎击》 《荒野行动》 《性刺激战场》。明眼人看了之后,六款游戏有五款是腾讯做的,只有一款是网易做的。

应该告诉大家,腾讯的游戏是典型的“收费优化”。只要尼克花钱,蓝绿色工厂的Snapdragon 660就能干掉其他品牌的Snapdragon 845。怕华为再想一想不愿意给腾讯李斯钱?本质上,对游戏行业和公司有一点了解的朋友很容易就能看出,这样的分歧意见基本相当于“出租车司机在说内部参考消息”,听起来很有意思,但不符合常识和逻辑。

华为和腾讯的合作比外界想象的要密切得多。从2017年12月2日起,华为和腾讯正式成立领先实验室,对通信和实时日常技术进行升级和优化。看来华为也会派工程师到现场进行《一种优化核函数的方法和装置》等头像产品的改版,以保证手机和游戏的兼容性,优化双方用户上线后的体验。

所以GPU Turbo只是一个华为付费优化的谣言,只需要稍微了解一下,然后就要把假标签打印出来扔进垃圾里。然而,这也带来了新的问题。既然GPU Turbo不是花钱优化那么简单,华为是怎么做到的?需要了解麒麟970的硬件设计。华为用GPU做了什么?根据国外网站techinsights提供的三星Exynos 9810处理器核心的X射线投影照片,我们可以准确的看出,Exynos 9810的芯片面积为10.37 mm * 11.47 mm=118.94 mm,其中三星设计的猫鼬M3大核心簇面积为20.23mm,Cortex A55小核心簇面积为1.87mm,马里G72 MP18 GPU簇面积为24.94 mm Exynos 9810的x射线透视图根据透视图上标注的核心中模块的比例,我们可以粗略计算出Exynos 9810中单个马里G72的面积约为1.072mm.根据techinsights的研究数据,我们告诉麒麟970,芯片面积为9.75 mm * 9.92 mm=96.72 mm,其中Cortex A73大核心簇面积为5.66mm,Cortex A53小核心簇面积为2.45mm,Mali G72 MP12 GPU簇面积为18.04mm,某种程度上麒麟970的X射线透视图,我们可以根据透视图上标注的核心中模块的比例粗略计算。

麒麟970单个马里G72面积约1.344mm,比Exynos 9810大0.272mm。另外,麒麟970中的马里G72核心的外形与Exynos 9810中的有很大不同。根据之前充分了解7nm工艺的文章中的数据,Exynos 9810使用的三星10nm LPP工艺和麒麟970使用的TSMC 10nm FF工艺在特征尺寸和晶体管密度上完全相同。所以Exynos 9810和麒麟970在单个马里G72内核的形状和面积上的差异,意味着虽然都是马里G72架构,但是在GPU内部电路设计和晶体管规模上有很大的不同。

进一步,我们可以得出一个基本结论:华为在设计麒麟970的时候,并不仅仅是用Arm的公版马里G72开发了一个非常简单的六边形,而是进行了大刀阔斧的改进。是面积缩小内存?GPU Turbo发布后,网上立即披露了一项名为0103010(许可公告号。CN104866297B)被埋在中国专利发布公告网上,被这个专利包围了。

这些分析人士指出,“华为15年后设计的麒麟芯片GPU,是为了作为全局变量寄存器使用,同时为了维护专利申请前的应用,保留了GPU存储模式”。简单来说,华为并没有改变马里G72内核,也没有提高马里G72的实际性能,而是专门存储在GPU区,改变了数据总线,提高了马里G72读取和存储功能数据的速度和效率。

(这是分析师的看法,不是作者的观点。)为此,这些分析师笑称之为“你也在GPU中缓存吗?有钱人为所欲为”,甚至指出华为已经在GPU技术上打败了NVIDIA。那么,麒麟970的马里G72之所以这么大,是因为华为减少了GPU中的缓存吗?笔者个人指出,这种可能性不能说,但知之甚少。被迫失去这些分析师的第一件事是,注册和缓存不是一回事。

在存储系统中,寄存器比高速缓存有更高的定位,它的速度比高速缓存慢,容量比高速缓存大,因此它为算术单元获得指令存储空间(IR)、程序计数缓冲区(PC)、累加器(ACC)等服务。缓存位于存储系统中的注册之后。

它有两大特点:一是慢,速度不如Register;其次,它每比特(非字节)消耗多达6个晶体管。但据不为人知的消息,世界上第一个构建缓存的民用GPU是NVIDIA在2001年发布的NV20,也就是Geforce 3系列显卡,它在GPU中构建了一个128KB的cache作为纹理缓冲。

2004年,英伟达在Geforce 6800Ultra的NV40内核中加入了128KB大小的L2纹理缓存,然后在Geforce 7800GTX的G70内核中将其降低到288K。在ATI方面,最初的L2纹理缓存被添加到Radeon 1800XT的R520内核中,并在Radeon 2900XT的R600内核中扩展到256KB。自2008年马里400以来,马里系列GPU已经重新加入缓存设计。

根据Arm官方的设计参数,马里G72可以根据不同的市场需求,平均配备128KB~2MB的L2缓存。可见GPU中设置缓存并不是什么新技术,更不是什么白色技术。NVIDIA、ATI、Arm等GPU设计公司早在十年甚至二十年前就已经这么做了。

内存对GPU性能的提升有多大?正如我们已经讲过的,麒麟970单个马里G72的面积约为1.344mm,Exynos 9810单个马里G72的面积约为1.072mm,根据semiwiki数据,三星和TSMC 10nm工艺的晶体管密度约为55 mRTr/mm(每平方毫米百万个晶体管)。从后推可以知道,麒麟970马里G72的额外面积可以容纳1500万左右的晶体管,即使全部用于Cache,也只有300KB。与Arm官方设计参数中128KB~2MB的任意L2缓存分配范围相比,这300KB微不足道。

好了,关于内存的信息在这里推断,基本上可以说已经政治宣传了一半,剩下的唯一问题是,如果麒麟970知道自己扩大了内存规模,那么对GPU的性能能提高多少?为了测试这个问题,我们必须找到两个相互争斗了四年半的宿敌:索尼PlayStaion4和微软XBOXONE。也许有些读者已经明白了这一点。最后他们说的是微软为XBOXONE处理器设计的32MB ESRAM。关于这两台机器的设备,没有必要赘述。

很简单,PS4的GPU比较大,有1152个流处理器;XBOXONE的GPU只有768个流处理器,但微软设计了一个32MB的ESRAM作为缓存。XBOXONE中捷豹APU的x射线透视显示,右侧的SRAM区域占据了整个芯片相当大的空间,比位于中间的GPU部分还要大。32MB的ESRAM堪称吞晶怪兽,消耗高达16亿个晶体管。告诉XBOXONE整个APU只有50亿个晶体管,至少ESRAM消耗了三分之一。

与PS4相比,XBOXONE和PS4仍然没有广泛相似的30%性能差异,Xbox One和PS4的基本尺度差距基本很大,不足以证明32MB ESRAM填充了很少的GPU性能。本质上,从技术角度来看,整个GPU计算系统大多使用Cache来应对寄存器缓冲区阻塞。与寄存器相比,它的速度和延时差很多,但在编程环境处理得当的前提下,可以充分发挥延时隐蔽性。

另外,Cache之后,只用于满足GPU和RAM。马里G72,阿斗(微信官方账号:)分析Arm新马里G76时多次提到。马里G71/G72的双头架构使用4宽度线程粒度,远小于竞争对手架构的线程粒度(16~32宽度)。

一般来说,线程粒度反映了资源/区域密度和性能之间的平衡,更小的线程粒度可以节省主逻辑单元的数量(单个32宽度的线程粒度只需要一个主逻辑单元,而八个4宽度的线程粒度必须有八个主逻辑单元)。马里G72 4宽度线程粒度设计,控制逻辑单元与ALU的比例过高,浪费了大量的硬件规模,实际游戏用的差不多这么小的尺寸。随着技术和应用的发展,移动GPU在VR和高质量游戏中的压力大大降低,四核结构的计算效率已经不能满足市场需求。

从Anandtech的测试可以看出,Exynos 9810 GPU的能耗比还不错,但是换来的是巨大的芯片面积。18核Mali G72的面积比高通肾上腺素630大130%(肾上腺素630的面积是10.69mm),但性能不如肾上腺素630。相比三星疯狂堆核,麒麟970只用于中等数量的核,然后提高核频来抢性能。

但是在一定的流程下,每个核心架构都有一个能耗比最好的频率范围。过了这个范围,高频就要付出很高的功耗。麒麟970的马里G72 MP12频率为746MHz,功耗下降明显,能耗比对于马里G71来说只比Exynos 8895略高。

说到底,性能不佳的黑锅还是得怪Arm的马里G72架构设计,经过彻底的改造,还比不上高通肾上腺素的高效架构。把几百KB的缓存插到GPU里解决问题,不是一个很简单的问题。 微软为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如何判断和计算两帧之间的差异,王陆承博士没有给出答案。也许这就是隐藏在马里G72额外的0.272毫米中的商业秘密。

GPU Turbo花了五年多时间才开发成功。王博士回应说,华为对这项技术非常热心,技术门槛很低,其他国家短时间内不太可能是第一次。之前经常出现在国外XDA论坛的GPU Turbo密码包,很快被证明只是一个恶作剧,被国内数字发烧友戏称为“装x不谈基本法”。

很明显,图形处理器关于Turbo的一切都需要华为专门发布。允许禁止发表的原创文章。

以下是发布通知。。

本文来源:lol投注首页-www.kaseyatint.com

056-803205453

联系我们

Copyright © 2010-2014 上海市lol总决赛下注股份有限公司 版权所有  沪ICP备30026914号-7