找回密码
 立即注册
查看: 485|回复: 20

探究高通Adreno GPU的性能

[复制链接]
发表于 2022-8-13 20:35 | 显示全部楼层 |阅读模式
移动端SOC的GPU技术,当属高通Adreno系列GPU最为神秘,公开的资料最少。今天就来探究下Adreno GPU具体参数是怎样的。本文有很多猜测,仅供参考。
我们首先列一下近五年高通旗舰SOC型号及其对应的Adreno GPU型号(Snapdragon 简称SD,时间按照高通正式发布的时间为准),以及每年对GPU部分性能提升的宣传。
2016年2017年2018年2019年2020年
SOC型号SD 835SD 845SD 855SD 865SD 888
GPU型号Adreno 540Adreno 630Adreno 640Adreno 650Adreno 660
然后我们再来看看每年高通发布会上对GPU这部分的宣传。












从以上发布会信息可以看出高通对历代GPU的介绍是惜字如金。那我们先来看下SD 855和Adreno 640,因为高通在2019年的hotchips上唯一一次公开其Adreno 640 GPU的算力、Texture 能力、ROP 像素填充能力。链接如下:


我们知道SD 855的最高频率是585MHz,按照这个数据,我们是能够推估出来Adreno 640 的基础参数。
48 texels/cycle x 585MHz / 1000 = 28.1 Gtex/s
16 pixels/cycle x 585MHz / 1000 = 9.4 Gpix/s
768 FMA x 2 x 585MHz / 1000 =  898.6 GFLOPS
前面两个都和公布数据完全一致,唯独FMA数量上,公布值比理论值高了6.25%。联想到ARM Mali GPU除了有FMA的计算资源外,还有SFU资源(Special function unit, 计算一些超越函数,如三角函数,指数,对数等)也能计算浮点操作, 一般GPU设计中FMA和SFU的比例大概是在4:1的水平,例如Intel Xe 系列GPU。



ARM Mali G77 ALU设计中包含FMA/CVT/SFU 三路不同计算资源



Intel Xe系列GPU FP ALU 和 EM ALU比例是4:1

这里本人推测高通是应该是算上了独立的SFU计算资源,但根据公布的数值,FMA:SFU 应该是8:1(猜测1)。计算结果如下:
(768 x 2 + 768/8 )x 585MHz / 1000 =  954.7 GFLOPS
完全匹配,Bingo。
这里引出另一个问题,高通公布称FP16的算力是FP32的两倍,但实际上根据烤机测试结果并非如此,详见 @绝地求生盒子君 分析文章和数据。
这里借用下其中的数据:


显然单独的加法和单独的乘法运算,FP32 和 FP16是完全一样的成绩,这个成绩和理论成绩是非常接近的。
768 x 585MHz / 1000 = 449 GFLOPS
利用率 = 438 / 449 = 97.6%
从计算资源上来说,FP32的计算单元是可以复用来计算FP16的,猜测高通在硬件上是支持这么做,以方便宣传之用。但实际却没有开放给用户。(猜测2)
这里提一下,Adreno 640 在计算FP32 FMA时有利用率不高的问题,@绝地求生盒子君 对这个有分析。这里提一下另一种可能,就是在下面的链接中提到了高通描述了它们ALU 执行单元中MUL 和 ADD 是独立分开的,可能会存在调度上的开销。特别是在执行FMAD+ADD这种混合运算时,FMA中的ADD操作和单独的ADD操作就会产生冲突。不像ARM mali GPU 其FMA的MUL和ADD操作是在一个lane里面pipeline 流水执行的,这就不完全不存在调度的开销。


这里给下Kirin 9000 运行烤机程序的数据。
FMAD 测试FP32FP16
算力(GFLOPS)10652119
Kirin 9000最高频760MHz,FMA计算数量为 32x24=768
FP32 峰值算力为:768 x 2 x 760 = 1167 GFLOPS,烤机效率高达:1065/1167= 91%。
再来看看骁龙865,这一代GPU升级为Adreno 650。按照Anandtech分析,GPU 从2个核换成3个核,ALU数量翻了一倍,这里高通又跟我们玩了一个文字游戏。从上面的分析得到的是A640 ALU中FP32 和 FP16 资源各为768个,1:1 的关系。所谓的提升了50%是指FP32+FP16总数提升了50%,重新将FP32和FP16的比例恢复到了1:2,即FP32:FP16=768 : 1536,那这一点也是从烤机数据中可以得出。
SD 865FMADFMADFMULFMULFADDFADD
精度FP32FP16FP32FP16FP32FP16
GFLOPS6101160440855441852
显著的结论是:FP16相对FP32是翻倍的关系。如果是768 ALU,587MHz频率,MUL或ADD的理论峰值算力:
768 x 587 / 1000 = 451 GFLOPS
烤机利用率:441 / 451 = 97.8%
再看看去年发布的骁龙888,宣称35% 渲染能力的提升,这个提升主要是来自频率,骁龙888最高频率达到840MHz,相比865提升43%,这哪里还需要增加ALU啊!所以ALU 硬件资源应该没有变化。
再反过头来看看 845,采用Adreno 630 GPU,也是第一代使用6系架构的GPU,从之前A640的发布已经明确提到FP32&FP16 ALU提升了50%,那也不难猜测A630 的ALU数目是512,并且也是2核设计。


最后再看看A540 中有多少ALU,首先不可能超过其下一代512个ALU,但是比例应该是1:2。下面微博链接中有A540 烤机的数据。


从这个数据看,作者认为A540 有 256个ALU,这里有个问题,就是 MUL 算力比理论值高。
FMUL 理论算力 = 256 x 710 /1000 = 181.8 GFLOPS。
实测算力比理论算力高了约30%。这个原因,在贴吧上有位吧主有详细的解释,详见链接:
简单来说,就是烤机软件的bug导致的(v2.01),烤机程序内定义了一个vec4变量,但其中一个变量始终为1,编译器会优化掉这个乘操作,最后计算算力的时候,是按照vec4去算的,实际上硬件只做了vec3操作。v2.1版本改进后,MUL 和 ADD 的算力是一样的了,见下图(图片有点不清晰)。备注:这里感谢 @绝地求生盒子君 更正这个错误。



就写到这里吧,最后做一个总结。


Texture 能力 和 ROP 能力可以从wiki 中找到一些数据。
相比ARM 的架构演进,在ALU方面是选择了增加单核内EE数量(1EE->3EE)或者加宽SIMD(SIMD4->SIMD8->SIMD16) 来提升单核能力。而高通的架构演进,选择将FP16和FP32 的计算能力分开提升或者统一提升。从历代产品看,高通节奏把控能力还是杠杠的。
以上为11.2日更新。

前面已经看到Kirin 9000 FP32算力是1167 GFLOPS。再看看同时期的A14芯片,我们在M1的宣传中看到其算力是2.6TFLOPS。假设A14和M1是相同的core,相同的频率,推估A14的算力应该是M1的一半, 即 1.3 TFLOPS。三家移动端主流GPU的算力,都同时在2020这一年跨越了 1 TFLOPS算力的门槛,这也是一个信号,移动端GPU 与 PC端GPU的差距越来越小了。


移动端GPU的算力已经达到 1TFLOPS算力级别了,这与入门级别的独立显卡已经是一个量级了,例如MX450算力,也不过2.8TFLOPS算力。Apple M1也用实际行动证明,移动端GPU进军PC领域是势不可挡了,而能效优势方面也是一枝独秀。


以上更新于2021.11.4。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2022-8-13 20:43 | 显示全部楼层
苹果gpu技术最少[doge]
发表于 2022-8-13 20:47 | 显示全部楼层
其实苹果才是最神秘的,我都不知道苹果gpu的名字
发表于 2022-8-13 20:49 | 显示全部楼层
一整年就提升了频率也真是够淡定的!
发表于 2022-8-13 20:52 | 显示全部楼层
名字就叫in-house GPU[大笑]
发表于 2022-8-13 20:52 | 显示全部楼层
按照Tik-Tok节奏,换工艺这年架构基本上就不变,工艺提升带来能效提升就够了
发表于 2022-8-13 20:59 | 显示全部楼层
这块确实没办法,apple完全不给机会
发表于 2022-8-13 21:02 | 显示全部楼层
苹果还好,至少metal feature table里还明明白白写清楚了不少参数,每年wwdc也会透露一些信息。高通完全就是一抹黑
发表于 2022-8-13 21:07 | 显示全部楼层
结果888是能效反而下降了吗?
发表于 2022-8-13 21:13 | 显示全部楼层
888翻车是公认的了,你可以看看极客湾的测评视频
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-25 07:23 , Processed in 0.097577 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表