当前位置:首页>真相 > 

回顾iPhone11系列A13背后的疯狂堆料与黑科技

回顾iPhone11系列A13背后的疯狂堆料与黑科技

回顾iPhone11系列A13背后的疯狂堆料与黑科技

本文核心词:A13,AMX,性能,iPhone 11

大家好,首先说下这是一篇去年的文章,现在才同步到B站专栏,所以下方文字的时间请大家自动定位到发布的时候,没有高通865什么的~如果感兴趣的可以去翻一翻我其他文章(看图片水印就好),会有更多内容,B站不会同步太多的。

这篇文章不准备聊具体的性能,具体的性能请等实测,这里只准备聊一下隐藏在Apple A13 Bionic之下的那些暴力美学。A13在核心性能上和其他众多SoC完全不是一个级别的,一个天上一个地下。 虽然受限于软件(特别是跑分软件)的落伍,A13诸多特性不能发挥完全,但是这并不影响A13就是牛牛牛。

Apple可能是笃定消费者看不懂这些东西,所以并没有很多宣传,但这些东西如果拿过来给国产安卓厂商宣传,肯定能吹开花。 毕竟当年Kirin 970 搭载的应用场景及其受限的NPU,都有一众人认为NPU最重要,NPU加速一切等。

计算

首先我们聊聊计算部分,随着AI的高速发展,NPU已经成了一个旗舰SoC不可或缺的单元了。但从性能上说,Apple今年NPU上的改进不大,官方PPT显示大约提升了20%的运算力,按照华为自己的PPT里A12的成绩,提升20%后在华为PPT的项目里面依旧落后于华为麒麟990。但是我依旧不会说A13的NPU被华为吊打,一方面这个华为给的并不是标准的Benchmark,而是部分特定项目的成绩,实际综合水平真的难说。不同的网络架构、精度都会有显著的区别,无法透过单个成绩判断。你看高通855就有严重的偏科现象,具体的水平只能等大规模的评测出来。 当然我也没说A13的NPU实际算力会超过990,我直觉上应该至多差不多,或者差的没那么多。华为的PPT,说他专门挑自己的优势项目出来不过分吧?

对于NPU,最重要的是什么? 是能够发挥多少。 单纯比较NPU算力或者是比较特定模型都是没有意义的,因为NPU一般都面临着空有算力但是难发挥不出来的问题,最后要看实际网络发挥多少,各种因素都可能出现。不同网络、不同精度、都会得到不同的结果。对于手机,比较NPU发挥了多少效力,比算力重要。像华为这个PPT,我们可以得到的是华为的解决方案,在类似图像分类上表现应该非常优秀,但是换到其他领域 即便是图片 如果网络结构差异大 精度差异大 这两项成绩都不能拿去换算。

另外就是NPU并不是通用计算,不是随便写一个程序就能发挥出来性能的,也不是随便一个应用都能从NPU中收益的。NPU应用非常考验软件优化,一个手机能有多少任务能够从NPU中收益才是最重要。 在手机上,能够应用NPU加速的场景越多,越有价值。

在软件上,苹果有天然的优势。 一方面iPhone的操作系统从底层到应用层,都完全由苹果控制,在系统层面利用NPU加速特定任务可操作性比安卓大很多。另外,iPhone的机型数目很少,硬件差异小,第三方利用NPU进行开发代价也很小。 安卓的机子高高低低,具体参加运算的单元五花八门,CPU DSP GPU NPU都有可能,而且不同厂之间的硬件差异也颇大,优化起来真不是一个难度。

NPU不是特别通用的计算单元,并且和CPU距离较远,为此苹果A13 Bionic 还有一个集成在CPU中非常暴力的计算单元,A13的大核心上应该多加入了类似Intel AVX的单元(AMX单元),获得了6倍于前代的矩阵加速性能,看起来是大于等于1TFlops的单元。 这类SIMD操作灵活性比NPU大很多,并且不需要太多的通讯开销。

根据历史资料,A12 有三个128bit FMA (共计 384bit FMA)的单元,结合Apple宣传的提升指标,我猜测A13 变成等效 512bit的SIMD宽度,然后支持类似AVX512的低精度向量化(从32bit到8bit)操作,并结合频率提升,最后差不多就是6倍。这样总计下来峰值性能是:2.66*2*512/8*2*2=1.36T, 而实际上大家做SIMD FMA都会有降频,所以大体算下1T是符合标准的,这个宽度正好对应上去。 当然有报告显示A13并不支持Int8操作,最低精度只是FP16,那么这时候A13应该有等效768bit的宽度(2.66*2*768/16*2*2=1.02T刚好对上去),但是说实在我是不太相信这个768bit的宽度的,2.66G频率对于768bit是非常高的,手机上真的能压下去?即便是,大概也不是如同AVX那样的通用单元了。

在CPU内部堆大量SIMD类似单元的,只有实力超群者才有能力去做,AMD的第一代Zen等效只有256bit FMA,Skylake/Icelake和第二代Zen2 有 512bit FMA,而Skylake-X则有1024bit的FMA。 另外只有Icelake和Skylake-X支持AVX512(具体子集有区别,AVX512请看这里 传送门),我很早就说AVX512的价值不仅仅是提升宽度,而在于极大的拓宽了使用场景。 从我目前的估算来看,A13的CPU SIMD规模和先进程度基本是和Icelake近似的,Skylake和Zen2虽然宽度一样,都不支持低精度的加速。 况且,A13只是一个手机平板用的处理器啊,能达到这个规模相当不容易,大家看看AMD口口声声说要发力服务器,至今SIMD能力都被苹果吊打着。

给大家一个参考Icelake AVX512的参考:

你以为这就完了? 其实还不是,虽然不知道A13的AMX单元适用性有多广,但是你看四核心 Icelake也是1T级别的性能,Apple A13 AMX也是1T级别的性能,暴力不暴力?

给这部分内容做个总结,虽然现在A14的具体评测没有出来,我这里也不准备评价A13的IPC提升如何,但是之前A12的IPC已经是Skylake甚至Skylake之上的水平了,而此时A14在SIMD上也追Intel 消费级AVX512差不多的水平了,A13真的只能说太牛X了。 AMX很可能并不是为手机准备的,甚至不是iPad,AMX的价值在于运算负载更高的场景,Apple极大概率是在为自己的A系列Mac做准备。 就目前的水平来看,A13这个架构拿去做Mac是完全足够的,只差频率打磨和软件生态的改进了。而在手机上,这个AMX功耗多高不要紧,因为手机并不不是计算密集的设备,而且即便特定任务真用到了很多AMX,降频就可以,超宽的SIMD降频也会大幅度的高于窄SIMD高频。

对于AMX最大的问题就是编译问题,不太清楚AMX是用ARM的类似SVE的向量指令集还是什么特定指令集实现的,如果一个第三方应用在不调用API的情况下,要利用这个指令集加速,编译上应该需要做一些改进。 如果直接用现成的Core ML包,就不用考虑那么多了。从这个角度上看,跑分软件要适配AMX可能还要段时间,可能一直不会支持。

ISP

今年新iPhone有没有增大CMOS不知道,苹果一如既往的在CMOS上抠门,但是在计算摄影上下血本,A13 Bionic 的ISP性能非常暴力。结合iPhone的软硬件优化实力,实际发挥出来的ISP性能应该是一众ISP里最高的:

1、A13 Bionic似乎是有且唯一一个能够同时开启三个摄像头(拍照时)的芯片吧?我记得高通和麒麟的芯片似乎都是只能开启两个。另外iPhone 录像时也可以开启四个摄像头。

2、iPhone实际上是有超过4K 120FPS以上的处理能力(且实际发挥了),这代iPhone开启改进的Smart HDR拍摄视频依旧维持到了4K 60FPS的水准。 4K 60FPS HDR视频首先要和平时4K 120FPS有一样的吞吐,此外还要进行HDR合成 进一步增加ISP的要求。

3、在维持超高的帧率下,苹果视频的拍摄质量依旧是业界领先(背后也还是ISP算力的体现)。

综上,A13 Bionic这颗SoC的ISP不可谓不暴力。

三星的Exynos 9825,在硬件理论上也有4K 150FPS的处理能力,大于A13的120FPS,但这个对比相当不公平,因为苹果公开的并不是ISP性能,前文说Smart HDR/多开摄像头/算法等会消耗相应的ISP算力,如果让Exynos 9825 实现画质近似,难度近似的视频拍摄,帧率能到多少真不好说。作为对比,没有类似Smart HDR的Galaxy Note 10+ 9825版和855版 视频拍摄都是最高4K 60FPS。实际表现性能被甩开1倍多(再怎么说苹果的视频质量不差于三星吧)。

高通855,我没有找到其视频拍摄的具体指标是多少,按照之前Galaxy Note 10+和其他安卓旗舰的水平,实际输出是4K 60FPS。 高通官网给的是 720P 480FPS 换算后等于1080P 240FPS 和 4K 60 FPS,符合估计。

华为这边,上一代麒麟 980在P30 Pro上最高只可以体现出4K 30FPS的能力,实际能力未知。 最新的麒麟 990 在ISP上只提升了 15%,这么看来 4K 60FPS可能是其上限,并且基本不太可能在4K 60FPS上带有更多复杂的特性。

小总结,Apple在ISP实际性能上也是领先其他SoC上领先安卓SoC很多,虽然纸面性能上三星堪比苹果,但是实际完全没有体现,也就没法说。

总结

大家觉得苹果很奇怪吗?一方面在很多细节部件上一直很抠门,充电/边框/镜头规格等上都是非常落后的,一直试图靠算法/CPU等去补齐,而且还不太宣传? 这是不是和Intel很相似?

因为这是在玩王者挤牙膏的游戏,充电/边框/Sensor大小这些东西又没什么难度,苹果故意挤牙膏罢了,而CPU架构/算法这些可不是简单从供应商花钱买一下就能做到的。 Apple要挤牙膏啊,万一哪天苹果销量下降,或者遭遇什么技术难题,就可以通过这些简单的东西完成产品升级。就像Intel的Skylake,Intel之前就是不肯靠堆核心来提升性能,而是在探索IPC和频率,因为堆核心比起IPC和频率简单太多了。当Intel 10nm出问题,Intel再慢慢的拿出来就可以实现性能提升。 这从消费者角度上看很恶龙,但是对于厂商很必要。有技术壁垒的地方,苹果Intel一点不挤牙膏,而简单的东西则一直藏着掖着。

同理还有索尼的相机,索尼现在不也不肯做简单的无损Raw,不肯用好的LCD等,知道为什么了吧?不是不会做,而是故意不做。 这些简单却有诚意的东西,只有弱势的厂会去做,稍微大一点的厂能挤牙膏就要挤牙膏。