“吓人的技术”,这是华为对GPU Turbo技术的称谓,数字层面是性能60%的正常,功耗降低30%。在幻灯片上我们有看到太多关于GPU Turbo的宣传,在实际体验之后,我们也明确的感受到了GPU Turbo技术给游戏带来的优化体验。
但是,我们似乎从不知道华为的GPU Turbo技术是什么,是怎么实现的,华为自己也没说明白过。看了外媒anandtech的一份深度解析文,这里分享给大家。
anandtech提到,华为GPU Turbo实际使用的是“神经网络模型”,通过对游戏数千小时的训练(真实的或模拟的),神经网络可以建立自己的内部模型,了解游戏的运行方式和功率/性能要求,简而言之就是“使用神经网络优化每台设备每款游戏的DVFS控制”。
在训练阶段,分析并调整SoC的DVFS参数,以便在最小化功耗的同时实现最佳性能。这需要尽力在CPU、GPU和内存控制器上达到最接近的DVFS状态,这些状态仍然允许达到60fps,但不会更高(换句话说,最小化性能余量)。最终结果是对于CPU / GPU / DRAM必须执行或管理的每个工作单元,相应的硬件块具有所需的完美优化的功率量。这对性能和功耗都具有连锁效应,但主要在后者中。
然后,生成的模型将放在了支持GPU Turbo的设备固件中,每台手机每款游戏的模型都不一样。在设备本身上,应用程序和GPU驱动程序之间似乎存在一个监视渲染调用的拦截层。这些用作神经网络模型的输入,由于网络模型经过训练以输出对于给定场景最佳的DVFS设置,因此GPU Turbo机制可以立即将其应用于硬件并相应地调整DVFS。
讲到这里就不得不提到华为自己的麒麟处理器,麒麟970具有独立的NPU会加速网络模型的执行,如果不具有独立的NPU处理器可能适得其反。
实质上,因为GPU Turbo实际上是一种DVFS机制,它与渲染管道协同工作并具有更精细的粒度,它能够预测即将到来的帧的硬件要求并进行相应调整。这就是GPU Turbo特别能够声称性能抖动大大降低的传统“反应式”DVFS驱动器,后者只是通过硬件计数器监控GPU利用率,并在事后进行调整。
既然华为需要为每款手机每款游戏进行神经网络模型训练,目前我们并不清楚培训单一游戏需要多长时间,但显然这样的训练时间成本并不小,也许这就是华为GPU Turbo技术的缺点。
网友评论