RedZero9 发表于 2022-1-28 20:20

AMD RDNA 与 GCN GPU 架构之间的差异:AMD 如何赶上 ...



随着Big Navi显卡的推出,AMD终于重回高端GPU领域。虽然 RDNA 2 的设计在计算和图形管线方面与 RDNA 1 基本相似,但有一些变化允许包含无限缓存和高升压时钟。在这篇文章中,我们将讨论 Navi GPU 与由 GCN 架构提供支持的传统 Vega 和 Polaris 部件有何不同。

AMD 的 GCN 架构为 Radeon 显卡提供了近十年的支持。尽管该设计具有强大的计算引擎、硬件调度程序和统一内存等优势,但它在游戏方面的效率并不高。与当代 NVIDIA 部件相比,硬件利用率相当低,在每个着色器引擎的前 11 个 CU 之后缩放急剧下降,总体而言,每个 GPU 使用超过 64 个 CU 是不可行的。



因此,尽管拥有强大的计算架构,AMD 的 GCN GPU (Vega) 屡次输给 NVIDIA 的高端游戏产品,同时功耗明显更高。



RDNA 是 GPU 架构,Navi 是使用它构建的图形处理器的代号。同样,GCN 是架构,而 Vega 和 Polaris 是代号。

为 Navi 10 和 Navi 14 GPU(Radeon RX 5500 XT、5600 XT 和 5700/XT)提供动力的第一代 RDNA 架构基于与 GCN 相同的构建块:带有一些用于地址计算和控制的专用标量的矢量处理器流,独立的计算和图形管道异步运行。称为流处理器的 ALU 提供计算能力,命令处理器(连同 ACE)处理每个计算单元的工作负载调度。

核心区别在于 RDNA 重新组织了 GCN 的基本组件,以获得更高的 IPC、更低的延迟和更高的效率。这就是 Navi 的全部意义所在:它用更少的硬件做更多的事情!

AMD GCN:功能强大但未充分利用

AMD 的 GCN 图形架构由每个计算单元 64 个波前或工作项(和 ALU/核心)组成。它们被分成四个 SIMD(多数据类型的单指令),每个包含 16 个 ALU(SP)。



这是大多数人感到困惑的地方。是的,调度程序可以在每四个周期后发布新的 wave 组,但每次每个 Compute Unit 也将处理四个 64-item 的 wave,而不是一个 64-item 的 wave。与推土机一样,其目标是最大化并行化。同时,GCN 不是乱序架构。波前内的指令仍然按照它们的顺序执行。不同之处在于 CU 或 SIMD 可以切换到四种可用波形中的任何一种。

这不是很有效的原因是大多数游戏使用较短的工作队列,因为每个执行周期四个波前中只有一两个是饱和的。因此,由于采用了 Super-Scalar 架构,具有相似着色器数量的竞争 NVIDIA GPU 的速度要快得多,并且只需要一到两个周期来执行这些更短的调度。另一方面,尽管有额外波前的空间,AMD 的同行不得不等待四个周期才能下一个周期。



总而言之,与许多其他 SIMD 设计一样,GCN 计算单元一次处理四个波前,并花费四个周期来执行它们。在理想的世界中,这意味着一波的有效时间是一个周期。但是,由于 SIMD 的工作方式,情况并非如此,并且 CU 经常未被充分利用。

AMD RDNA:双计算架构和 Wave32

Navi 中实现的 RDNA 架构使用 wave32,这是一种具有 32 个工作项的较窄波前。它比旧的 wave64 设计更简单和有效。每个 SIMD 更宽,但计算单元更窄。



计算单元是 GCN 中的基本着色器单元,RDNA 将其替换为 WGP(工作组处理器):两个 CU 与共享本地数据协同工作。RDNA SIMD 由 32 个着色器或 ALU 组成,是 GCN 的两倍。每个 CU 有两个 SIMD,双计算单元中有四个。一个 CU 中的流处理器总数仍然是 64 个,但它们分布在两个(而不是四个)更宽的 SIMD 上。请参阅下面的四个周期与每个指令一个周期的关系图。



这种安排允许在一个时钟周期内执行一个完整的波前,减少瓶颈并将 IPC 提高 4 倍。通过以 4 倍的速度完成波前,寄存器和缓存的释放速度更快,从而允许整体调度更多指令。此外,wave32 使用的寄存器数量是wave64 的一半,也降低了电路复杂度和成本。



为了适应更窄的波前,还重新组织了矢量寄存器文件。每个向量通用寄存器 (vGPR) 现在包含 32 个 32 位宽的通道(对于 FP32),并且一个 SIMD 包含总共 1,024 个 vGPR——同样是 GCN 中寄存器数量的 4 倍。

总体而言,较窄的 wave32 模式通过改进 IPC 和并发波前总数来提高吞吐量,从而显着提高性能和效率。



为确保与较旧的 GCN 指令集兼容,Navi 中的 RDNA SIMD 支持混合精度计算。这使得新的 Navi GPU 不仅适用于游戏工作负载 (FP32),还适用于科学 (FP64) 和人工智能 (FP16) 应用程序。RDNA SIMD 在 wave32 模式下将延迟提高了 2 倍,在 wave64 模式下提高了 44%。



#科技日报#
页: [1]
查看完整版本: AMD RDNA 与 GCN GPU 架构之间的差异:AMD 如何赶上 ...