找回密码
 加入我们
搜索
      
查看: 10737|回复: 28

[显卡] Microbenchmarking AMD’s RDNA 3 Graphics Architecture

[复制链接]
发表于 2023-1-9 11:18 来自手机 | 显示全部楼层
LambdaDelta 发表于 2023-1-9 11:02
direct x下面,所有的shader全部使用wave64模式。
这个模式下对于操作数的限制比较宽松那么一点点,而且 ...

我还以为rdna开始都是wave32了,那引入wave32是为啥。nv为啥都是wave32?
发表于 2023-1-9 12:29 | 显示全部楼层
zhuifeng88 发表于 2023-1-9 11:33
nv的warpsize一直都是32
但这不是重点, 重点是nv的sm是可以切一半同时执行两个不同的warp的 ...

这俩架构差别很大, nv的优化建议里都没有register相关的, amd为了提高wave occupancy需要控制register使用量。amd手动优化register后shader性能可以提升不少,但是对nv基本没效果。结合前面的说法,wave32下似乎register更紧张了
发表于 2023-1-9 12:49 | 显示全部楼层
zhuifeng88 发表于 2023-1-9 12:43
控制使用量这点两头没什么区别, nsight是自动提示wave occupacy低的原因的, 写cuda核因为每线程register ...

我是感觉register的机制差很多,貌似nv的resgister分配完了会自动分配lds, lds使用量太大才会出问题, 但不知道为什么amd没这个机制
发表于 2023-1-9 12:57 | 显示全部楼层
zhuifeng88 发表于 2023-1-9 12:52
register用完了会退化到local memory, 但实际写的时候不会容许这种情况的, 如果不是完全不可能的话无论如 ...


cuda程序才会有这种警告吧, 写hlsl就不会有。在游戏中明显AMD比nv更容易出现register瓶颈, 之前一个程序同时给nv和amd要优化建议, nv说瓶颈在纹理读写延迟上, amd直接说register用超了
发表于 2023-1-9 13:35 | 显示全部楼层
本帖最后由 koney 于 2023-1-9 13:38 编辑
zhuifeng88 发表于 2023-1-9 13:00
你有没有想过一种可能(当然我真的说是可能)
纹理读写延迟瓶颈可能和register超了说的是同一件事
register ...


实际的确有可能这两者同时存在,可能nv不建议优化寄存器是觉得优化寄存器难度比优化带宽大,当时就简单做了两个rgba8合并一个rgba16就获得了差不多30%的提升。
不过AMD当时建议我们用lds来优化regsister,而且表示等待wave的开销比lds开销更大,我想了下nv这玩意儿不是自动做的吗。所以我才在想。AMD为啥不做类似nv的分配机制
我记得,nv的lds和L1是一起的吧,速度应该不会特别慢
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-6-12 19:00 , Processed in 0.009340 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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