AMD RDNA4 GPU架构,亮相!

来源:半导体产业纵横发布时间:2025-09-15 17:47
AMD
GPU
生成海报
RDNA4并非一味追求峰值性能,而是着眼于全方位的能效优化。

RDNA4是AMD最新的以图形为核心的架构,并用于打造其RX 9000系列独立GPU。AMD指出,打造一款优秀的游戏GPU需要理解当前的工作负载,同时也要考虑到未来五年工作负载可能呈现的样子。因此,AMD一直致力于提升在光栅化、计算和光线追踪各方面的效率。机器学习(包括在游戏中的应用)的重要性日益凸显,所以AMD的新GPU架构也兼顾了机器学习工作负载。

图片

从AMD的角度看,RDNA4代表了在光线追踪和机器学习效率上的巨大飞跃,同时在光栅化方面也有所改进。改进的压缩技术有助于持续为图形架构供给数据。除了GPU核心的图形加速职责外,RDNA4还带来了增强的媒体和显示功能,使产品更加完善。

媒体引擎

媒体引擎为多种编解码器提供硬件加速的视频编码和解码功能。高端RDNA4型号(如RX 9070 XT)配备双媒体引擎。RDNA4的媒体引擎具有更快的解码速度,通过“竞速至空闲”(racing to idle)策略有助于节省视频播放时的功耗。在视频编码方面,AMD致力于提升H.264、H.265和AV1编码质量,尤其是在低延迟编码方面。

图片

低延迟编码模式主要对流媒体传输有益,媒体引擎造成的延迟最终会转化为延迟的流。降低延迟可能会使质量优化更具挑战性。视频编解码器致力于编码帧间差异以节省存储空间。缓冲更多帧能为编码器提供更多机会来寻找帧间的相似内容,并允许其为复杂序列分配更多的码率预算。但缓冲帧会引入延迟。另一个挑战是一些流行的流媒体平台主要使用H.264,这是一种比AV1效率更低的老式编解码器。更新的编解码器正在测试中,随着未来几十年的发展,情况可能会开始改变。但目前,由于H.264的广泛支持,它仍然很重要。

图片

使用《上古卷轴Online》的老游戏片段进行测试显示,在使用受延迟约束的VBR模式 (-rc vbr_latency) 和针对低延迟编码调优的编码器 (-usage lowlatency) 时,RDNA4的媒体引擎展现出明显优势。Netflix的VMAF视频质量指标在整个码率范围内都给RDNA4打了更高的分数。仔细检查的结果通常与VMAF指标一致。

图片

RDNA4在保留高对比度轮廓方面做得更好。差异在文本周围尤其明显,RDNA4以更低的码率处理文本的效果优于其前代产品。在如此近距离的审视下,两者的结果都不算完美,示例中的文本都有模糊现象,并且精细细节被视频编码伪影所破坏。但值得记住的是,受延迟约束的VBR模式使用的VBV缓冲区最多为三帧,而更高延迟的模式可以使用覆盖多秒视频的VBV缓冲区大小。编码速度也略有提高,从RDNA3.5到RDNA4,速度从约190 FPS跃升至约200 FPS。

显示引擎

显示引擎从内存中获取屏幕帧数据,将其合成为最终图像,并驱动到显示输出。这是一项大多数人都认为理所当然的基本任务,但显示引擎也是执行各种图像增强功能的好地方。一个传统的例子是使用查找表(LUT)进行色彩校正。显示引擎的增强对用户软件是不可见的,并且通常在硬件中执行,功耗成本极低。在RDNA4上,AMD增加了一个“Radeon图像锐化”(Radeon Image Sharpening)过滤器,让显示引擎能够锐化最终图像。使用显示引擎的专用硬件而非GPU的可编程着色器意味着锐化过滤器不会影响性能,并且可以以更高的能效来执行。而且,AMD无需依赖游戏开发者来实现该效果。锐化甚至可应用于桌面,虽然我不确定为什么会有人需要这样做。

功耗是显示引擎的另一个重要优化领域。传统上,这更多是移动产品关注的问题,因为在低负载下最大化电池寿命是首要任务。但RDNA4以其更新的显示引擎瞄准了多显示器空闲功耗。AMD的演示指出,他们利用了FreeSync显示器上的可变刷新率(VRR)功能。他们没有透露更多细节,但不难想象AMD可能采取的做法。高分辨率和高刷新率显示器意味着高像素速率,这反过来又驱动了对更高内存带宽的需求。动态降低刷新率可以让RDNA4的内存子系统进入低功耗状态,同时仍能满足刷新截止期限。

图片

(图表描述了不同刷新率组合下的功耗和GDDR6数据速率。当内存总线能够空闲时,AMD的监控软件(及其他软件)会读出极低的内存时钟,因此未列出这些读数。)

我有一块RX 9070,通过HDMI连接到Viotek GN24CW 1080P显示器,以及一台支持最高360 Hz刷新率的MSI MAG271QX 1440P显示器。后者通过DisplayPort连接。即使在高刷新率设置下,RX 9070也能将内存保持在空闲时钟。移动鼠标会导致显卡提高内存时钟并消耗更多功率,这暗示RDNA4在屏幕内容不变时会降低刷新率。此外,RDNA4获得了一个中间GDDR6功耗状态,使其能够处理1080P 60 Hz + 1440P 240 Hz的组合,而无需达到最大内存时钟。在RDNA2上,情况更倾向于“全有或全无”。老款显卡更容易为了提高以处理高像素速率而提高内存时钟,并且即使屏幕内容不变,功耗也保持高位。

计算单元变更

RDNA4的工作组处理器(WGP)保持了与之前RDNA世代相同的高级布局。然而,它获得了针对光线追踪的重大改进,例如改进的光线追踪单元和更宽的BVH节点、动态寄存器分配模式,以及一个不再受波(wave)间错误内存依赖关系影响的调度器。我在之前的文章中介绍过这些。除了这些改进,AMD的演示还讨论了一些其他值得关注的细节。

图片

标量浮点指令

AMD长期以来一直使用标量单元来卸载波内恒定的操作。标量卸载通过避免冗余计算来节省功耗,并释放向量单元以提高计算受限序列的性能。RDNA4的标量单元增加了一些浮点指令,扩展了标量卸载的机会。此功能在RDNA3.5上首次亮相,但RDNA4将其带到了独立GPU上。

图片

虽然AMD的演示中没有讨论,但标量卸载可以带来额外的性能优势,因为标量指令有时比对应的向量指令延迟更低。RDNA4上的大多数基本向量指令具有5周期延迟。标量单元上的FP32加法和乘法具有4周期延迟。不过,最大的延迟优势仍然来自卸载整数操作。

分离屏障

GPU使用屏障(barrier)来同步线程并强制执行内存排序。例如,在旧的AMD GPU上,一条`s_barrier`指令会导致一个线程等待,直到其工作组中的所有对等线程也都到达该`s_barrier`指令。屏障会降低性能,因为任何碰巧更快到达屏障的线程都必须停滞,直到其对等线程赶上。

图片

RDNA4将屏障分离为独立的“信号”(signal)和“等待”(wait)操作。RDNA4没有`s_barrier`,而是有`s_barrier_signal`和`s_barrier_wait`。一个线程一旦产生其他线程可能需要的数据,就可以“发出”屏障信号。然后它可以进行独立的工作,并且只有在需要使用其他线程产生的数据时才等待屏障。随后,`s_barrier_wait`将使该线程停滞,直到工作组中的所有其他线程都已发出屏障信号。

内存子系统

最大的RDNA4变体拥有8 MB的L2缓存,与之前的RDNA世代相比,L2容量显著增加。RDNA3和RDNA2的最大L2容量分别为6 MB和4 MB。AMD发现,像光线追踪这样的繁重工作负载受益于更大的L2。光线追踪涉及在BVH遍历期间进行指针追逐,因此它对访问由较慢的Infinity Cache(无限缓存)而非L2提供服务更为敏感也就不足为奇了。在3DMark的DXR功能测试的初始场景中(在Explorer模式下运行),RDNA4大幅减少了必须从L2之外获取的数据量。

图片

就绝对值而言,RDNA2在将数据保留在L2方面仍然表现良好。但值得注意的是,在两个平台上,命中InfinityCache相比命中L2都会增加超过50 ns的额外延迟。这远超过100个周期,因为RDNA2和RDNA4的运行频率都高于2 GHz。虽然AMD的图形战略已转向增大更快的缓存,但这仍然与Nvidia将更多资源投入L2缓存的策略形成对比。Blackwell的L2缓存同时承担了AMD的L2和Infinity Cache的功能,并且其延迟介于这两个缓存级别之间。Nvidia还有一个灵活的L1/共享内存分配方案,根据工作负载请求的本地存储(共享内存)容量,可以在L2前面提供更多的低延迟缓存容量。

图片

中层L1缓存是之前RDNA世代的常见配置。它在RDNA4以及AMD的演示中明显缺失。一种可能性是L1缓存命中率不够高,不足以证明增加额外缓存层复杂性的合理性。也许AMD认为其芯片面积和晶体管预算更好地用于增加L2容量。为了支持这一理论,RDNA1上的L1命中率通常低于50%。同时,RDNA系列一直享有高带宽和低延迟的L2。为了减少L2未命中而给L2施加更大压力可能是一个诱人的权衡。另一种可能性是AMD在L1缓存方面遇到了验证问题,并决定在这一代跳过它。当然,无法验证这两种可能性,但我认为前者的理由更合理。

图片

除了调整缓存层次结构,RDNA4还带来了对透明压缩(transparent compression)的改进。AMD强调他们在整个SoC中使用压缩技术,包括在显示引擎和媒体引擎等节点。压缩数据可以存储在缓存中,并在写回内存之前解压缩。压缩减少了数据传输,从而降低了带宽需求并提高了能效。

图片

透明压缩并非新功能。它作为GPU工具箱中减少内存带宽使用的工具之一已有很长历史,很难找到没有任何压缩功能的现代GPU。即使在显示引擎等其他模块中的压缩也有先例。例如,英特尔的显示引擎使用帧缓冲区压缩(FBC),它可以写入帧数据的压缩副本,并持续获取该压缩副本来降低数据传输功耗,只要数据不发生变化。之前的RDNA世代也具备压缩功能,AMD的文档总结了一些压缩目标。虽然AMD没有讨论压缩效率,但我尝试在RDNA1和RDNA4上使用RGP(Radeon GPU Profiler)捕获相似的帧,以查看每帧内存访问是否存在巨大差异。结果并不完全符合我的预期,但我还是会将它们放在这里,并讨论评估压缩效能为何具有挑战性。

图片

第一个挑战是两种架构都能从L0或L1满足大多数内存请求。AMD关于RDNA1的幻灯片表明L0和L1只保存解压缩后的数据,至少对于增量颜色压缩(DCC)是如此。压缩确实适用于L2。对于RDNA4,AMD的幻灯片表明它也适用于Infinity Cache。然而,由于这些RDNA世代之间存在巨大的缓存层次结构差异,专注于L2的数据传输是行不通的。

图片

(图示表明压缩/解压缩发生在L2之前)

DCC(增量颜色压缩)并非唯一的压缩形式。但这张幻灯片展示了压缩/解压缩发生在L2前方的一个例子。

另一个问题是,很容易想象一种不改变所涉及缓存请求数量的压缩方案。例如,数据可能被压缩到只占用缓存行的一部分。一个请求只导致缓存行的子集被读出,然后由解压缩模块扩展为完整的128B。较早的RDNA1幻灯片对此表述模糊,指出DCC以256B粒度(两个缓存行)操作,但没有提供更多细节。

图片

无论如何,压缩可能是RDNA4在仅配备256位GDDR6显存设置的情况下,能够使用比前代更小的Infinity Cache却实现更好性能的一个因素。

SoC功能

AMD概述了RDNA4中的RAS(可靠性、可用性和可服务性)功能。现代芯片使用奇偶校验和ECC(纠错码)来检测和纠正错误,显然RDNA4也是如此。不可恢复的错误通过驱动程序干预来处理,“重新初始化SoC的相关部分,从而防止平台关闭”。对这种说法有两种解读方式。一种是GPU可以被重新初始化以从硬件错误中恢复,这显然会影响任何依赖GPU加速的软件。另一种是GPU的某些部分可以在GPU继续处理工作的同时被重新初始化。我认为前者更可能,尽管我也能想象后者在有限形式下是可能的。例如,如果从GDDR6读取数据时发生不可恢复的错误,假设该数据在系统内存中有备份,则理论上可以修复。驱动程序可以将已知良好的数据从主机传输过来以替换损坏的副本。但是,涉及已修改数据的错误将难以恢复,因为系统中其他地方可能没有最新的副本。

图片

在安全方面,微处理器拥有通往“关键模块”的私有总线和受保护的寄存器访问机制。这里的安全功能针对HDCP和其他DRM功能,我个人觉得这并不特别有趣。但幻灯片上显示的术语很有趣,因为MP0和MP1在AMD的CPU端文档中也有涉及。在CPU端,MP0(微处理器0)处理一些安全加密虚拟化(SEV)功能,有时也称为平台安全处理器(PSP)。CPU上的MP1称为系统管理单元(SMU),负责电源控制功能。奇怪的是,AMD的幻灯片在RDNA4上分别标注了MP1和SMU。当然,MP0/MP1在GPU上可能具有完全不同的功能。但共同的术语提高了CPU和GPU SoC设计之间存在大量共享工作的可能性。RAS也是非常传统的CPU功能,尽管随着GPU计算的兴起,GPU也逐渐具备了RAS功能。

Infinity Fabric

CPU和GPU方面共享努力的最明显例子之一是Infinity Fabric进入图形设计。这始于多年前的Vega,尽管当时使用Infinity Fabric更像是一个实现细节。但多年后,Infinity Fabric组件提供了一种优雅的方式来实现大型末级缓存,或具有巨型iGPU(如MI300A)的多插槽一致性系统。

图片

(来自Hot Chips 29的幻灯片,涉及AMD旧款Vega GPU中使用的Infinity Fabric)

RDNA4上的Infinity Fabric内存端子系统由16个CS(一致性站)模块组成,每个模块与一个统一内存控制器(UMC)配对。一致性站接收来自图形L2和其他客户端的请求。它们通过从UMC获取数据,或者如果另一个模块拥有所请求缓存行的更新副本则发送探测(probe),来确保一致性内存访问。CS是实现内存端缓存的逻辑位置,在RDNA4中,每个CS实例拥有4 MB缓存。

图片

为了节省功耗,Infinity Fabric支持DVFS(动态电压和频率缩放),时钟频率在1.5至2.5 GHz之间。Infinity Fabric的带宽为每时钟周期1024位,这表明Infinity Cache可以提供2.5 TB/s的理论带宽。这与Nemes基于Vulkan的GPU缓存和内存带宽微基准测试的结果大致吻合。

图片

AMD还概述了其禁用各种SoC组件以筛选晶圆(harvest dies)并创建不同SKU的能力。着色器引擎(SE)、工作组处理器(WGP)和内存控制器通道都可以被禁用。AMD和其他制造商过去曾使用过类似的筛选能力。我不确定这里有什么新内容。很可能,AMD希望重新强调他们的筛选选项。

最后,AMD提到他们为RDNA4选择了单片(monolithic)设计,因为这对于其规模的图形引擎来说是合理的。他们考虑了性能目标、封装组装和周转时间以及成本。在评估这些因素后,他们认为单片设计是正确的选择。这并不令人惊讶。毕竟,AMD在图形引擎较小的低端RDNA3产品上使用了单片设计,仅在最顶级的SKU上使用了小芯片(chiplet)设计。这反而提醒我们,没有放之四海而皆准的解决方案。是单片还是基于小芯片的设计更合理,很大程度上取决于设计目标。

结语

RDNA4带来了许多令人兴奋的改进,同时放弃了任何试图攻克顶级性能领域的尝试。与其追求极致性能,RDNA4看起来更侧重于优化以提高相对于前几代的效率。尽管RX 9070的功耗预算更低、内存带宽更少、末级缓存更小,但其在光栅化工作负载中提供了与RX 7900 XT相似的性能。Techspot的数据也显示RX 9070在光线追踪工作负载中领先,这与AMD提升光线追踪性能的目标一致。

图片

(来自RDNA4发布演示的幻灯片,非Hot Chips 2025)

AMD通过压缩技术、更好的光线追踪结构和更大的L2缓存实现了这种效率。因此,RDNA4能够将其性能封装在相对较小的356.5 mm²芯片中,并使用适度的256位GDDR6显存配置。显示和媒体引擎的改进也备受欢迎。多显示器空闲功耗感觉是独立GPU的一个被忽视的领域,尽管我知道许多人使用多显示器进行生产力工作。在这些设置中降低空闲功耗非常值得赞赏。在媒体引擎方面,AMD的视频编码能力常常落后于竞争对手。RDNA4的进步至少防止了AMD像以前那样落后太多。

本文转自媒体报道或网络平台,系作者个人立场或观点。我方转载仅为分享,不代表我方赞成或认同。若来源标注错误或侵犯了您的合法权益,请及时联系客服,我们作为中立的平台服务者将及时更正、删除或依法处理。

评论
暂无用户评论