我正在阅读一篇关于 AMD GPU 的文章,并且对一个特定的例子感到困惑。给定一个带有多个寄存器的 SIMD 单元,如果需要 x 个寄存器,有多少波前可以占用一个 SIMD?
具体来说,如果一个 SIMD 单元有 16k 个寄存器可以在 1-32 个波前之间共享。那么这意味着每个波前平均可以有 8 个寄存器(如果有 32 个波前)。这可以。
然后继续说 SIMD 上的波前数量有一个全局限制,约为 20.6,这将为每个波前提供 11-12 个寄存器。
这部分让我感到困惑。它接着说,如果它们使用 83 个或更多寄存器,则只有 2 个波前可以占用一个 SIMD。(回想一下波前是 64 宽)。
在我的计算中:
2 * 83 * 64 = 10628 registers
这远低于每个 SIMD 给出的 16,384 个。因此,您可以有 3 个波前没有问题。
如果有我遗漏的东西,我会在这里阅读这篇文章。(第 7 段)