导语:外媒Anandtech今日撰文,对华为GPU Turbo技术进行了一些讨论。他们分析了华为以往的说法和数据,并在IFA展会期间与华为相关人士进行交流,最终写出了这篇分析文章。
华为今年最重要的技术之一是其GPU Turbo技术,是一种软硬协同的图形加速技术,它可以在不改变硬件的情况下,以更低的功耗提供更高的性能,这一说法给了我们很大震动。在(我们)内部,很多人情不自禁的睁大了双眼。
在那之后,正好我们在柏林IFA展会期间与华为有所接触,对这技术也做了不少讨论,有了一个基本的理解,以及看到的一些营销策略——结论是,华为并不是所有新特性都用了最诚实的方式来表达。
GPU Turbo的发展时间线
GPU Turbo据说是一种新的机制,官方说它对新设备和现有设备进行了性能和功率的巨大改善。这一新“技术”是在6月初随着荣耀Play手机一起在中国首次推出的,今年晚些时候随着EMUI 9.0系统的发布,它将被升级为2.0版。
在接下来的几个月里,华为计划在其所有主流产品上都加上这项技术的支持。华为承诺所有设备(不论硬件)都将受益。
自GPU Turbo在最初几款设备发布后的几周时间,我们看到了荣耀和华为在这方面的很多宣传和营销,目标是推广GPU Turbo。在所有的演示文稿、新闻发布和媒体模糊的分析中,有一件重要的事情总是被忽略:我们没有看到关于GPU Turbo到底是什么、以及它的技术原理解释。一切都与结果有关,但没有什么与细节有关。在AnandTech,真正能让我们产生共鸣的是细节,比如一个新功能是否是真实的。
GPU Turbo的支持产品及时间线
值得称赞的是,华为确实与我们取得了联系,只是当我们要求华为就这一新技术提供更详细的技术介绍时,该公司和公关部门都没有真正做出回应。我们不确定原因是什么,因为该公司一直以来都对技术讨论持开放态度。在今年的IFA展会上,我们终于有机会见到了华为的硬件和软件工程师/经理团队。
通过这些讨论,我们得出了一些详细的解释。我们现在对GPU Turbo的实际功能有了更好的理解(它是讲得通的),尽管他们也将大量模糊解释放在发布会的幻灯片里。
所以,在这篇关于GPU Turbo的文章中,我们将分阶段讲述这个新技术的故事。
首先,我们来看看华为关于这项技术的最初对外声明,特别是具体数据;其次,我们将深入了解GPU Turbo的实际功能;再其次验证产品与技术,看看我们可以观察到什么不同;最后我们谈谈营销,其实这部分才真的需要仔细看看。
需要指出的是,如果时间和资源允许的话,我们希望深入了解GPU Turbo。随着(未来)Mate 20的发布和Kirin 980芯片的发布,我们将会对更多数据进行更详细的分析。这只是GPU Turbo的故事的开始。
GPU Turbo的优势:华为官方的数据
在GPU Turbo公布时,最受关注以及被广泛引用的幻灯片上的数据是,新特性将以某种方式让芯片获得高达60%的显示性能提升,同时也能减少多达30%的功耗。华为(和荣耀)非常热衷于这些数字,并尽可能以最好的方式显示结果。
这些数据在上周四的IFA荣耀新品发布会上再次得到重申。过去的几天里,我看到许多家媒体报道了这些数据,并将其归因于GPU Turbo带来的提升。然而到目前为止,还没有进行任何分析。
我们见过的大多数幻灯片看起来都是这样的,把数字写进这篇文章非常容易:
由于AnandTech是一份以技术为导向的媒体,所以从一开始,这些数据在我们看来就很可疑。我们为自己的独立分析感到自豪并珍视它,想确保所提升的数据是准确的。毕竟,这样的数据与常规的工程技术进步背道而驰。而这恰恰是营销数据的bug。稍后会详细介绍。
那么什么是GPU Turbo?我们终于搞清楚了!
当我们开始寻找GPU Turbo的详细解释时,我(编辑Andrei)首先尝试自己去弄清楚GPU Turbo是做什么的?但(验证过程)缺乏细节导致基础薄弱。由于特定的原因,这任务最终成为了一个噩梦;尽管多年来允许设备Root获取权限,但大约在GPU Turbo发布的同时,华为和荣耀停止了bootloader (引导加载程序)解锁。
这阻止了用户修改系统固件,当然我们也不能,因为我们无法Root手机来进行基准测试分析。此外,所有与GPU Turbo一起发布的新固件据说都被锁定了。目前尚不清楚这两件事是否直接相关,不过喜欢阴谋论的人可能会这么想吧。
因此,在GPU Turbo的相关工作中,我真正想要的是通过Arm的streamlined工具来分析GPU,因为这样可以提供GPU正在处理的工作负载的确切信息。有了这些工具,我们就可以深入分析这颗发动机罩下发生了什么。无论是有意还是无意,bootloader锁阻止了我们这样做。正因为这些限制,在我的测试中,这些都成死胡同。
我开始写这篇文章的时候并没有对这技术有更进一步的详解,但是我们在柏林IFA期间遇到了EMUI软件团队,最终我们对GPU Turbo有了更全面的解释。我们与软硬件团队讨论了这项技术,并与他们进行了不同寻常的讨论。
通过与硬件团队交流——特别是海思(Hisilicon,华为的半导体部门)——他们明确表示,GPU Turbo纯粹是一种软件技术。虽然此技术是由他们辅助实现的,但实际工作的都是由软件决定的。这一点很好理解,也解释了华为为何能够在所有智能手机中都加入这项技术的支持。它也与NPU(神经网络处理器)无关,尽管在其中加入NPU显然会有所帮助。
德国时间上周五麒麟980的发布会首次暗示了它的实际用途,被称为“人工智能预加载技术”。
这张幻灯片试图传达的是,GPU Turbo允许芯片更好地跟踪计算工作负载,调整硬件性能状态,以便更好地适应负载。例如,当CPU(运算核心)比GPU(图形核心)需要更多的功率时,可以调整功率比以满足需求,从而提高性能和效率。
在下一页我们会深入一些,最终对这机制有了很好的解释。我们要感谢华为智能手机软件总裁王成录博士提供的信息。
关于GPU Turbo的详细解释
揭开面纱,华为使用TensorFlow神经网络模型来进行学习和预测。通过数千个小时(真实时间+模拟时间)详细检查与记录学习,华为建立了神经网络的内部模型,提前了解游戏运行的方式和功率性能的需求,最终把它放到一段密集代码里。
使用神经网络优化每个游戏与设备的DVFS控制
在训练阶段,网络开始分析并调整芯片的动态电压和主频,用来以最小的功耗达到最佳性能。这需要CPU、GPU和内存控制都更为精准,已达到保证60fps帧率,且不会达到更高的状态(换句话说,最小化性能冗余)。最终结果是对于CPU 、GPU 、 DRAM能完成执行每个指令,但相应的硬件块具有更好的功率控制。这是对性能和能耗的双重优化,但重点在于后者。
这样,生成的模型将包含在支持GPU Turbo的设备固件中。每个Title(编程中的标题)都有针对每个智能手机的特定神经网络模型,可用资源因手机型号而异。就我们所理解的技术而言,在设备本身上,应用程序和GPU驱动程序之间似乎存在一个监视渲染调用的拦截层,用作神经网络模型的输入。由于网络模型经过训练,能输出对于给定场景最佳的DVFS(即最优控制电流电压)设置,因此GPU Turbo机制可以立即将其应用于硬件并相应地调整DVFS。
对于拥有它的芯片,芯片自己的NPU会加速网络模型的推理(执行)。在不使用NPU的SoC中引入GPU Turbo的情况下,CPU会使用回落。这样操作需要极快的预测,我不得不怀疑它引起的渲染延迟有多少;不过似乎它不会延迟太多,华为表示他们非常关注这个领域,确认这些模型都是16位浮点(FP16),这意味着对于像麒麟980器这样的未来处理器,可以通过使用基于新NPU支持的INT8模型进一步优化。
实质上,因为GPU Turbo是一种DVFS机制,它与渲染管道协同工作并具有更精细的粒度,它能够预测即将到来的硬件要求,并进行相应调整。这就是GPU Turbo特别声称相比“传统的反应式DVFS驱动器”能大大降低性能抖动;而后者只是通过硬件计数器监控GPU利用率,并在事后进行调整。
更多思考以后的解释
华为在这里所做的当然是一种有趣的方法,具有明显的实际潜力。我们可以看到在有限的功率内如何在硬件之间以最佳方式分配资源,这将有助于提高性能,效率和功耗。因此,更详细的解释具有很多技术意义,我们对此毫无疑问。这是一个令人印象深刻的壮举,可能会在更广泛的技术领域产生影响,比如PC。
该技术的缺点是每个设备和每个游戏的性质不同。华为没有详细介绍培训单一游戏需要多长时间:第一版GPU Turbo支持绝地求生、Mobile Legends: Bang Bang(一款类似王者荣耀的游戏)。伴随着Mate 20,第二个版本将支持NBA 2K18,生存规则,Valor竞技场和Vainglory等游戏。
从技术上讲,粒度特性取决于每个芯片而不是具体到每个设备,尽管不同的设备在热性能或内存性能方面会有不同的限制。只是很明显,虽然华为对这项技术感到非常自豪,但每个优化推出速度都很慢。这里没有灵丹妙药——虽然理想的目标是一个单一的优化网络来处理市场上的每一款游戏,但必须依靠默认机制来完成工作。
华为将首先使用GPU Turbo打造其核心游戏卖点,如绝地求生和Arena of Valor,以及与EA/腾讯NBA 2K18等公司的作品。我怀疑在这背后,一些公司希望与华为联系,将他们添加到要优化的游戏列表中。
接下来,我们将对手持设备的GPU Turbo进行分析、另外还遇到了一个问题,即ARM的Mali GPU(用于华为麒麟芯片)如何使游戏与华为的竞争对手设备不同。
分析GPU Turbo技术的难点
我们没能找到“两款硬件一样,其中一个加载GPU Trubo而另外一个没有”的类比。能够做最接近的实际比较是华为P20(没有采用GPU Trubo)和Honor Play(搭载GPU Trubo),这两个设备使用相同的芯片和内存。
两款手机之间的差异不仅仅是GPU Turbo的推出,荣耀Play还包括更新的ARM Bifrost驱动程序的R12P0版本,而P20则是R9P0版本。遗憾的是,没有驱动程序更新行说明,因此我们无法区分GPU驱动程序方面的改进,以及GPU Turbo所做的实际改进。
P20 没有采用GPU Trubo
荣耀Play(采用GPU Turbo技术)
从原始帧速率数字很难分辨两部手机,两款手机《绝地求生》的起始帧率都是40FPS。当然我们可以投入更多的时间来检查抖动的持续体验影响,以及观察长期的功耗数据。
荣耀Play看起来确实有优势,在渲染场景时能耗为3.9瓦,P20则消耗了4.7瓦;虽然屏幕尺寸等也可能会对这一数值有影响,但它确实代表了15%的功率差异。
华为引用了麒麟980的数据:
尽管如此,乍看之下GPU Turbo确实具有效率优势,然而在麒麟980演讲期间呈现的10%数据似乎比宣传的30%更接近现实。
GPU Turbo是真实的,只是担心被过度营销
在本文中不应该被误解的一件事是GPU Turbo本身不仅仅是一种营销策略,而是一种非常真实和创新的解决方案,试图解决当前一代麒麟芯片组的弱点。麒麟仍然远远落后于基于Adreno显示芯片的高通骁龙的性能和效率,而且由于华为无法授权拿到Adreno,除了为GPU提供更多的芯片空间外,它还必须尽力发挥其优势。
然而,GPU Turbo的大部分技术优势在很大程度上被过多的营销所掩盖,这些营销宣传简直就是误导。实际的例子我们不妨往下看。
它本质上是一种软件解决方案,它可以增强硬件,但硬件本身提升是有局限的。而混乱的游戏体验营销,则混淆了事情本身。实际情况是:GPU Turbo有效,但仍然无法与高通骁龙845处理器设备竞争。即使它努力尝试表达自己的优点;但这里硬件的差异太大了,无法通过软件优化来克服,无论新机制的创新程度如何。
《绝地求生》的问题:并非所有GPU均等渲染
我们在测试《绝地求生》手游的时候遇到了新情况,这在之前的标准化测试中从未见到过的。在比较高通骁龙和华为麒麟芯片时,我们试图观察华为引用的性能差异,结果发现Adreno(骁龙使用的GPU)和Mali(麒麟使用的GPU)渲染效果之间存在很大差异。
具体来说,我们发现和其他手机相比,一加手机6(搭载骁龙845处理器)的图像质量明显要更好。
荣耀Play(GPU Turbo)
华为Mate 10 Pro(GPU Turbo)
一加手机6
三星Galaxy S9(三星Exyons 9810芯片)
这里有两个地方需要注意。第一,Adreno GPU渲染的效果非常清晰,看上去游戏采用了十分特别的图像压缩算法。为了保证测试的公平性,我们将渲染分辨率设置为720p,并将所有手机的渲染分辨率调高至1080p。结果发现Adreno的显示效果更佳锐利,Mali的画面则相对模糊,并且这种情况在手机游戏运行时是可以看出来的。
第二点更重要,使用Adreno图形处理的手机启用了Anisotropic filtering非等向滤镜 ,而使用Mali图形处理的手机似乎忽略了它,退回到Bilinear filtering(双线性过滤)。像《绝地求生》这类游戏,在运行时效果非常明显,并且会产生很大的画质差异。这也给图形带来了相当大的差异。
因此,华为的GPU Turbo在营销上和竞争对手相比,其做法也让人生疑:各向异性纹理过滤本身会对帧率产生高达16%-18%的影响。由于Mali GPU没有启用这项技术,在进行性能比较时本身就可能出现不公平的情况。换句话说,Mali图形处理的手机性能提升了16%-18%,但它却牺牲了质量。(外媒编辑注:在过去的10年中,我们在PC行业经常看到这种情况,不同的GPU通过不同的路径或是“技巧”减少处理器的工作负载,不过现在他们不这么干了)
需要注意的是,虽然Mali设备没有像Adreno设备那样进行纹理过滤,从而获得了工作负载上的优势,但Adreno设备性能和效率却更好。只不过游戏在高质量最高帧率40fps的情况下这种差异很小。唯一能衡量这种差异的就只有芯片功耗了。
对于功耗来说,尽管在渲染路径和质量上存在差异,但是骁龙845仍然保留了巨大优势。在打开AF的情况下,骁龙845手机的功耗为2.5-3W,而搭载麒麟970处理器的手机平均功耗是4-4.5W。更高的功耗和效率意味着设备的电池续航会缩短。
真实情况 VS 综合测试
我完全能够理解华为专注于《绝地求生》游戏的实际运行效果,而不是所谓的综合基准测试,但是我们使用综合基准测试来判断新功能是否可靠是有一定道理的——它们是行业标准,并且很直观很好理解。在涉及到实际的技术比较时,华为和荣耀对于《绝地求生》的营销做得并不周到,我们将在下面讨论这个问题。
不同的GPU还没有使用相同的图形路径:Adreno GPU添加各向异性过滤并且具有更高缩放质量,这味着它最终运行时图像质量会更好。在华为提供的宣传材料中,性能和效率比较中没有考虑到这一点,这使得宣传材料的可信度降低。
这件事的本质
尽管如此,GPU Turbo是一项很有前途的技术,它能够在其他条件相同的情况下为华为带来竞争优势。不过遗憾的是,对于麒麟960和麒麟970来说,情况并不一样。随着麒麟980问世,竞争格局将发生巨大变化,但在此之前,前一代处理器的用户需要清楚地知道GPU Turbo技术能带来什么样的效果。
过度营销带来的小问题
正如前面提到的那样,华为和荣耀对于新技术的宣传都使用了同样的文案:GPU Turbo技术能够提高60%的性能和降低30%的功耗。在我们看到的所有宣传页面中,只有一个页面解读了这些数据。下面是荣耀Play在全球产品页面的注释,解释了60%和30%这两个数字背后的意义:
荣耀Play官网对GUP Turbo的介绍
这里有个小重点:
上图中备注第二条: GPU Turbo技术是一种基于麒麟芯片的图形处理技术,融合了软件和硬件协调。它支持一些特定的游戏;结果是基于上一代芯片麒麟960进行的比较。
这里需要特别注意:通常在比较一项新技术时,性能差异应该用off/on的状态做对比(外媒认为华为应该比较GPU Turbo开启和关闭时性能差异),而不是拿麒麟960作为基准。因此,应该不难看出华为在这方面存在很大问题,他们混淆了这一概念——将性能提升全部归结于GPU Turbo技术,而没有提及两代芯片组之间的改进。
正确的方式应该是以麒麟970作为基准,比较GPU Turbo技术打开和关闭时的情况。然而现在的结果却是使用没有GPU Turbo技术的麒麟960和带有GPU Turbo技术的麒麟970进行比较。
事实上,麒麟970采用了全新的10纳米工艺制造,并且搭载了频率为747MHz的新型Mali G72MP12 GPU。这对采用16nm制造工艺的麒麟960来说有很大改进,而且麒麟960采用的是频率高达1037MHz的Mali G71MP8 GPU。
此外,麒麟960处理器的GPU性能和效率存在很大问题,甚至表现出我们所见过的智能手机中最糟糕的一些情况。我们不打算回过头去纠结为什么会这样,但是对于麒麟960来说这无疑是极大的打击。
如今麒麟970在这样的的基础上进行了改进。只不过华为提到的“GPU Turbo技术提升了60%性能和降低了30%功耗”,虽然字面上看着令人印象深刻,但是一旦我们知道这些数据是怎么得来的也就不那么兴奋了。通过和表现不佳的麒麟960处理器进行对比所得出的结论,完全改变了这些数据的意义。也就是说,在你手中的设备上启用GPU Turbo技术并不能获得60%的性能提升和30%的功耗下降。
这也是华为在呈现GRU Turbo整个生命周期数据中面对的问题。60%和30%两个数字确实吸人眼球,但即便是华为自己的分析师,也认为60%和30%过于乐观了。
最终,华为还是用了“60%和30%”这样的数据作为GPU Turbo开启/关闭时的差异。如果有人有这样的预期,那他们恐怕要失望了。
同样在上面这张图中,我们不得不批评这些条形图所掩盖的事实:图中开启GPU Turbo《绝地求生》手游由此前的36.4上升到39.5,帧率增长3,却显示为25%的增长。该公司认为有必要修改实际的增长价值而不是遵循从零开始的标准,因为这样做能让这张图看上去印象深刻。
为什么使用麒麟960:从一个较低的标准起步
回到我们在GFXBench Manhattan 3.1和T-Rex中测量的GPU功率效率表,我们将两个芯片组重新梳理:
因此,尽管麒麟970在960年的基础上有进步和改善——但考虑到可竞争对手,它仍然难以同时代的三星Exynos和高通次骁龙芯片抗衡。
在GPU Turbo的声明中,我想强调的重点是,60%和30%的提升数据是非常不现实的,并且对用户具有极大的误导性。如果华为和荣耀不清楚基准对比,那么在未来的公告中,这些公司自己的数据永远都不可信。
GPU Turbo到底能提升多少?
上周五IFA期间,华为消费者业务CEO余承东推出麒麟980芯片,其中一些幻灯片展示了GPU Turbo给新款芯片带来的具体数据:
在这里,实际的性能改进是相当小的,因为工作量是V-sync(垂直同步)限制的,GPU在这方面没有问题,但是功耗的改进仍然具有代表性。在这里,实际的功率改进是10%——这是一个更合理和可信的改进数据,可以归功于软件
早在2015年,AnandTech就在北京媒体发布会上报道了麒麟950的发布,华为的谦虚和敏锐我们留下了深刻的印象。如今三年多的时间过去了,华为已经有了长足的发展。
华为和荣耀现在每年销售1.53亿部智能手机,华为目前是全球第二大智能手机制造商,最近超过了苹果。荣耀称其在全球排名第五。华为还表示,它将把5G等未来的研发预算从总收入的15%(132.3亿美元)提高到20-30%。华为和荣耀都是这一领域的主要参与者,华为的内部芯片设计团队海思创建了自己的芯片,以帮助其产品与基于高通和联发科的产品区分开。
华为的爆炸性增长不仅涉及研发,还涉及营销。随着公司的扩大,华为经常选择在欧洲各国召开发布会推出全新的智能手机,每场发布会的规模通常在500-2000人左右,相比之下,三星和苹果则要低调了许多。
为了获得更高品牌知名度和认知度,华为的营销方法可谓是一把双刃剑——在技术层面提供创新和解决方案的同时,在某些方面,华为的品牌信息偏离了其更为谦和的基调。
GPU Turbo开发技术将成华为的关键。华为与高通骁龙在游戏性能、图像质量和能效方面存在明显差距。虽然在价格、性能、面积上使用硅芯片是一种平衡行为,并且会带来一些收益,但通常会牺牲其他规格。
这就是为什么GPU Turbo很重要,从硬件角度来说,GPU Turbo是一种“免费”的收益。它并没用新芯片,而是通过专门的软件开发出来的。这一功能帮助华为和荣耀的智能机中得到了不错的推广。当然,GPU Turbo还有很长的路要走,比如扩大支持的游戏数量以及改进营销方式。
对于GPU Turbo的营销,华为更是下了大功夫。华为将有GPU Turbo加持的麒麟970和没有GPU Turbo加持的麒麟960作比较,得出970比960性能超60%、功耗少30%的结论,但并没有在每次展示中说清楚对比的方式,这可能是华为有意混淆,确实给用户造成了一定的误导。
通过基准检测发现,这是通过加速以获得更高的分数,表明华为试图以此来蒙蔽用户。虽然华为产品呈现爆炸式的增长,但如果只是为了性能获得高分而隐藏真实的得分,将会极大降低消费者对于华为的信任度。
这一点,通过我们的基准检测发现,是通过加速以获得更高的分数,表明华为试图以此来蒙蔽用户。虽然华为呈现爆炸式的增长,但如果只是为了在性能获得高分而试图隐藏真实的数字,消费者对华为的信任就会很快消失。
不过正如在评论中多次提到的,我们已经更详细地解释了GPU Turbo,这个技术是真实的,并且很可能成为这家厂商在手机上实现差异化的催化剂。
至于华为的主题演讲,我们为有创意和开创性技术的团队点赞。在一个不断竞争的环境中,芯片供应商需要与众不同,并尝试相互融合,GPU Turbo等技术正在成为创新优势,从而改善整体用户体验。像GPU Turbo这样的技术正作为创新优势出现,提高整体用户体验。
如果时间,硬件和软件允许,我们的目标是获取麒麟980使用和不使用GPU Turbo的数据比较。这只是GPU Turbo故事的开始。