网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月31日漏签0天
ati吧 关注:52,063贴子:640,764
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 3 4 下一页 尾页
  • 52回复贴,共4页
  • ,跳到 页  
<<返回ati吧
>0< 加载中...

蓝宝9070XT氮动/9070极地首发测试

  • 只看楼主
  • 收藏

  • 回复
  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
上月底AMD在中国发布了期待全新的RDNA4架构GPU,我有幸从蓝宝提前拿到了9070XT 氮动与9070 极地为大家带来第一时间的测试。


  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
9070XT氮动:






2025-07-31 20:55:45
广告
不感兴趣
开通SVIP免广告
  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
9070极地:





  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
AMD RDNA4架构分析:
在RDNA4发布之前,我其实对它的架构细节做过很多猜测,包括寄存器缓存的改进,硬件traversal,以及已经在RDNA3.5上使用的TBIMR之类的,但是最终,大多数都落空了。所以我们来具体看一看架构上有哪些改进。
CU:
RDNA4的CU相对于RDNA3有几项重大改进。
动态分配寄存器
在之前几代里,寄存器是在Shader执行初期就按最大需求来固定分配,但实际在执行过程中,可能只有少部分代码才需要实际用到这么多寄存器,所以固定分配实际会在代码执行过程中造成一些浪费。RDNA4,引入了动态分配机制,仅仅在需要时才分配寄存器,这为CU维持更多的硬件线程提供了可能性。AMD同时提到,CU内加了独立的寄存器块搬运单元,用来加速函数调用时的上下文切换,这个在光追里面非常有用。
实际测试时,我发现PIX已经支持RDNA4的反汇编了。当我在测试代码中分配了过量的寄存器之后,从反汇编可以看到,RDNA4在面对大量寄存器时与前一代并没有表现出行为差异,依然是正常的通过scratch_load与scratch_store将寄存器换进换出。不同的是,RDNA4生成的指令包含了大量暂存提示,这也是RDNA4在访存方面的改进之一,当然这也让它的指令长度从之前的8字节变成了12字节,对于指令缓存的压力会更大一些。另外RDNA4的另一个改进,更加精细的长延迟操作屏障在这里也得以体现,RDNA3中访存操作统一使用vmcnt来计数,而RDNA4中对于buffer load指令使用的是更加细化的loadcnt。最后,我不知道这些是否就是AMD提到的改进,又或者是我测试方法不够完善?等之后RGP更新了,我再详细一些的测试。
RDNA3

RDNA4


  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
标量ALU
CU的第二点改进是标量ALU,RDNA4给标量ALU添加了简单的浮点指令支持,这个改进其实在RDNA3.5中就已经有了。硬件线程中通常包含了很多条软件线程,但是多个软件线程也有时会共用一组数据,这时候用SIMD来计算就不太划算了,所以AMD在GCN时期就引入了一个由四个SIMD共享的标量ALU,用于一些简单的整数计算和控制逻辑。RDNA时代,变成了一组SIMD一组标量ALU,标量ALU比例变高之后,利用率自然下去了,所以这次加入浮点指令,也是为了进一步提高标量ALU的适用场景。
标量ALU的浮点指令支持大部分简单浮点操作,但像除法,超越函数之类的并不支持。浮点操作的延迟基本为4周期,与标量ALU的整数指令相比高了一倍,但相对于SIMD来说还是低了1周期,并且可以和SIMD并行,提高性能。标量ALU的并行表现比较怪异,指令级并行并不能完全掩盖它的延迟,同样线程级并行也不能。多条无依赖的标量SALU指令并发时,平均延迟下降也并不线性,之后有时间再继续研究。
标量ALU的另一个显而易见的好处是功耗。这里我简单测试一下:
RDNA3
RDNA4
再各自理想的工作状态下,RDNA4使用SALU,在更高的频率下仅仅使用84w就接近了RDNA3在150w下才能达成的吞吐率。


  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
光追加速器
AMD在2020年RDNA2发布之后就招募了一批人来做硬件遍历单元。在RDNA3上添加硬件遍历的期待落空之后,大家都把目标瞄准了RDNA4。在去年AMD也确实发布了多个硬件遍历单元的专利。于是在几乎所有人都认为RDNA4一定会有硬件遍历的时候,RDNA4再次的没有加上。不过RDNA4的光追加速器其实也有很大的提升。
首先是硬指标,包围盒与三角形求交单元数量翻倍从4、1,来到了8、2。
第二则是BVH8的应用,实际上前面的吞吐率翻倍之后使用BVH8也是顺理成章的事,BVH8可以减少求交次数,同时降低BVH的内存消耗。
然后是方向性的包围盒,之前生成的包围盒都是同向的,比如遇到某些比较扁平的几何物体,恰好朝向又与包围盒不同,就会导致包围盒巨大而空洞,光线命中包围盒与命中三角形的比例被拉的很大,浪费性能。而RDNA4生成包围盒时会尽量与几何物体同向,尽量减少包围盒的体积,减少无效的包围盒命中。
最后,上面寄存器部分提到的东西,其实几乎都是为了光追量身打造的。光追在求交之后,会调用不同的函数来处理不同的命中结果,并且寄存器使用量在求交前后差距很大,寄存器的高效上下文切换以及动态分配就是为了应对这种场景。


  • 山鸠
  • 小吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
火钳


  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
WMMA
RDNA4将WMMA执行单元的宽度加倍了,同时对8bit浮点的支持。在RDNA3中,随着数据位宽下降,性能却没有得到应有的增幅。在RDNA4中,这点也得到了修补,以16bit为基准,8bit下的性能翻倍,4bit再次翻倍。另外稀疏矩阵也得到支持,吞吐率与对手一样,都是相对于密集矩阵翻倍。
这也为FSR4以及neural shader打下了坚实的基础。除开FSR4,AMD在之前的技术演示中也展示了NRC(neural radiance cache),radiance cache其实就是UE5的Lumen同款光照技术,NRC看成是神经网络加持版Lumen也没什么问题。对手Nvidia的neural shader重点演示的也是这个技术,未来这个技术估计会大展拳脚,所以目前买卡我认为就算付出一点传统性能性价比的代价,也尽量买新不买旧。
FSR4的质量对比原图过大,可以移步lambda-delta.com
看看


2025-07-31 20:49:45
广告
不感兴趣
开通SVIP免广告
  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
内存屏障
在现在的GPU设计中,为了应对超长延迟的操作,比如访存,都配置了显式的屏障。用户可以在访存指令发出之后、数据返回之前,继续执行其他不需要该数据的指令,以掩盖访存时的延迟,在最终需要该数据时,设置一个屏障,用于确保数据已经返回。
AMD的屏障使用SALU指令s_waitcnt来完成。比如前面CU部分代码中的s_waitcnt vmcnt(0),对于RDNA3来说就是表示还在等待中的读内存操作归零之后可以越过这个屏障。再更早的GCN中,屏障只有三种,vmcnt对应所有vector mem指令的访存,lgkmcnt对应lds、gds、constant、message的访存,expcnt对应export。这样的分法非常的粗狂,每种屏障都对应了大量不同的操作,比如vmcnt下肯定至少有读或者写这两种操作。当同一类屏障的不同操作,同时发出时,通过计数这种方式,就很难分清到底哪个操作完成了,最终导致大家一起等它归零,限制了指令并行的可能性。所以从RDNA开始,vmcnt被细化为vmcnt和vscnt,vmcnt对应读,vscnt对应写。RDNA4进一步细分为dscnt、loadcnt、storecnt、samplecnt对应纹理单元、bvhcnt对应光追的BVH。


  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
暂存提示
GPU的内存层次结构相当复杂,访存操作本身复杂度也相当的高,单纯依赖硬件来管理缓存时不现实的,所以RDNA4极大的加强了访存指令中的提示词,让程序员或者编译器得以准确的将数据放在想要的位置。LLVM中列出了如下几种
TH = 0x7, // All TH bits
TH_RT = 0, // 静态
TH_NT = 1, // 非临时
TH_HT = 2, // 高临时
TH_LU = 3, // 最后使用
TH_RT_WB = 3, // 静态(CU, SE), 高临时性带回写 (MALL)
TH_NT_RT = 4, // 非临时 (CU, SE), 静态(MALL)
TH_RT_NT = 5, // 静态(CU, SE), 非临时 (MALL)
TH_NT_HT = 6, // 非临时 (CU, SE), 高临时 (MALL)
TH_NT_WB = 7, // 非临时 (CU, SE), 高临时性带回写 (MALL)
TH_BYPASS = 3, // 跳过
涵盖了大部分可能的状态,为RDNA4提高缓存利用率打下了基础。


  • 罗大1990
  • Vega
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
牛


  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
L1和L2
RDNA4的缓存也有了一些调整,L2从已经多年不变的1MiB/64bit显存位宽调整为了2MiB/64bit,总容量8MiB,同时L2可以被配置为SE私有模式,也许正因如此,L1缓存现在被改为了L1缓冲,简单的充当CU与L2之间的桥梁。实际上通过观察7800XT上的L1缓存命中率,可以发现它在大部分游戏中都低于20%,基本不能起到一个正常缓存的作用,改为缓冲也更符合它的定位。
稍微测了一下延迟:


整体上来看,如果排除频率因素,按周期来计算延迟的话,实际RDNA4与RDNA3的差别不大,但是L1这一级被移除,让32KiB-256KiB这一节直接落入了L2缓存。不过这个只是理论测试,如果结合L1本身的低命中率来看,可能影响并不大。


  • 零点
  • HD3870x2
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大佬牛逼


  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
压缩
RDNA4支持了更大block的差分压缩,有利节约带宽,不过我手头没有测试工具,现写已经来不及了,等以后再测吧。


2025-07-31 20:43:45
广告
不感兴趣
开通SVIP免广告
  • 求秒帝
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
命令处理器
AMD在RDNA3上将任务调度器从f32指令集的自定义处理器更换为了risc-v魔改指令集rs64的处理器,跑在了相当高的频率上。改用rs64之后,AMD第一次在Windows上提供了完整的硬件加速,同时对于MDI也有了硬件支持。不过RDNA3对于一般图形任务的调度能力却因此有了一些下降,特别是在早期驱动上,大幅落后于RDNA2,后来经过驱动迭代之后,最终接近了RDNA2的调度能力。RDNA4的实现目前尚不清楚,但是通过3dmark的api overhead测试,可以明显看出比RDNA3有了长足的进步:


D3D12和Vulkan进步高达40%左右。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 4 下一页 尾页
  • 52回复贴,共4页
  • ,跳到 页  
<<返回ati吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示