自画Adreno部分架构图
gpu吧
全部回复
仅看楼主
level 13
根据高通的opencl内核模型,以自己所理解的画的部分架构图示
Adreno系列似乎从3xx开始就一直是分成4 x Compute unit,官方社区博客直接就叫compute unit了:For example, the Adreno 530 in the Snapdragon™ 820 processor has four compute units, each with its own 32KB of local memory.难怪高通一直不宣传gpu的“核“数。
整体感觉有点类似于amd的vliw,4个alu为一组,fp32操作都是用的矢量float4类型,和vliw如出一辙。一组cu运行一组或多组workgroup,不过不理解为什么不管多少alu都设置成4组cu。
2017年07月27日 16点07分 1
level 8
吧主三更半夜不睡觉啊,还在发技术贴[阴险]
2017年07月27日 17点07分 2
level 11
本来就是amd的东西[滑稽]
2017年07月27日 23点07分 3
level 12
应该不是vliw吧,不是说从adreno3系开始就不再是vliw。
2017年07月28日 03点07分 6
像啊,当然不全是。本来我以为设置成4组cu是像gcn那样调度的,但还是4个alu为一组一个线程,而在gcn里,一个alu就相当于一个线程。adreno里就是4个一组组成128bit位宽的单元,单精度运算中只有用float4类型才能最大化效率。但想必vliw也有一些改良,比如线程闲置的时候可以重新分配alu,避免alu浪费
2017年07月28日 05点07分
level 14
506和510这种呢?
2017年07月29日 05点07分 7
[阴险]4*8、4*16,530、540是4*64。
2017年07月29日 12点07分
@zhu3536 [捂嘴笑]高通做4个阵列做上瘾了吧
2017年07月29日 12点07分
@zhu3536 [阴险]我怎么感觉做成1*32,2*32和8*32更好一点
2017年07月29日 12点07分
@同济翔 [滑稽]请炮神更新了下gpugflops。
2017年07月30日 10点07分
level 12
炮神的gpugflops中的gpu烤机原本是大量vec4乘加运算,midgard中的vec4+scalar + sfu只有vec4在跑,而且只有vec4理论浮点的90%左右。而adreno、rogue基本能达到理论浮点的90%。
昨天请炮神在gpugflops的gpu烤机中加了一个scalar烤机,结果是midgard浮点大降,8890从181.5gflops降到50.5gflops。据炮神说540和g71只降了百分之几。我用n4s试了下,506的浮点从38.4gflops降到36.9gflops,损失很少。虽说adreno处理的是float4类型,4个alu一个线程,但adreno处理标量效率非常高啊。
2017年07月30日 10点07分 8
高通的opengl手册里说他家的scalar架构,矢量和标量之间的损失很少,不过opencl还是建议用矢量。也许5xx优化比较好?不知道3xx和4xx如何。midgard好像就不支持纯标量数据,midgard的内核会自动的将数据全部转换成矢量,效率肯定高不了
2017年07月30日 14点07分
回复 crayon嘻哈小新 :推荐用float4,好像load pipeline,还有bus部分是针对矢量优化的,一次load 128bit?
2017年07月30日 23点07分
@ioncannon 嗯,adreno,mali都是建议128bit
2017年07月31日 06点07分
level 6
G71下降百分之十几
2017年07月30日 14点07分 9
level 6
a540
2017年07月30日 14点07分 10
请问在你的高通吧。你为什么老封我?
2017年08月04日 14点08分
level 6
G6200 ROGUE,原来的2/3
2017年07月30日 14点07分 11
哇,这样看来adreno对标量的支持居然最好!理论上应该是g71啊,arm的手册里直接不建议用矢量数据,结果有点意外
2017年07月30日 14点07分
吧主,请问为什么我在您的高通吧。 你老是封禁我?
2017年08月04日 14点08分
魅族?
2017年08月05日 07点08分
level 14
750m的506
2017年07月31日 00点07分 12
那506看上去只有32个alu啊,aida里显示多少个?
2017年07月31日 06点07分
@还是那个小新💯 aida里没有
2017年07月31日 06点07分
@还是那个小新💯 是在显示里边看?
2017年07月31日 08点07分
@同济翔 aida64显示的alu数不是检测出来的,现在应该不显示506的alu数。以前530也不显示,现在显示256alu,这个alu数和烤机得到的浮点相符。
2017年07月31日 10点07分
level 14
标量性能下降得厉害对玩游戏应该没什么大的影响吧?
2017年07月31日 00点07分 13
level 11
[滑稽]
2017年07月31日 05点07分 14
[乖]
2017年07月31日 06点07分
2017年07月31日 06点07分
level 14
a330有问题,标量比矢量还高。。。
2017年07月31日 11点07分 15
2017年07月31日 11点07分
@同济翔 adreno3系是比较特别,vec4乘比vec4乘加的浮点高。
2017年07月31日 12点07分
@zhu3536 那个标量就是只做乘法咯?
2017年07月31日 12点07分
@同济翔 以前的gpuglops gpu烤机是vec4乘,0.22版才改成vec4乘加,0.99版加scalar乘加。
2017年07月31日 12点07分
level 14
2017年07月31日 11点07分 16
level 13
官方profiler工具查看gpu负载情况
这个是崩坏3的,shader busy就是指shader core负载,可能指cu?
alu和efu也有单独的负载时间查询,efu大概就是sfu?
还有fragment和vertex的shader占比,还有很多其他项目,多数我还不懂是指什么
这是辐射岛的,有意思的是,gpu某个瞬间飙到了2.45ghz。。不过平均还是在300左右
这是烤机时的负载
2017年08月08日 13点08分 17
1 2 尾页