4

这是一个关于离散 GPU 的问题,主要是最近的 GPU(NVIDIA Kepler、Maxwell;以及 AMD Kaveri 和 R290 中的任何东西)。

将其他未缓存的元素从...加载到寄存器中需要多少时间

  • 全局设备内存?
  • 全局内存 L2 缓存?
  • 纹理缓存?
  • 常量缓存?
  • 每核一级缓存?
  • (每核共享内存 - 应该与 L1 缓存相同。)

到某个地方的表格的链接会很棒,一个解释就可以了......

4

1 回答 1

2

它因 gpu、代、其集成方式(如 pcie)和其他方面而异。我经常使用 ASM,这些是我使用的数字:

- 全局设备内存?大约 300-800 个时钟。(安装在主板上的 GPU,如使用主存的笔记本电脑的内存较慢)

- 全局内存二级缓存?大约 100 个时钟周期

- 纹理缓存?猜测 50-100 个时钟周期

- 恒定缓存?如果它在缓存中,则大约 1-3 个时钟周期,或者 L2 缓存(约 50-100 个时钟)甚至全局内存 300-500 个时钟。(取决于它是缓存命中还是未命中)

-每核(即 Kepler/Maxwell 中的每 SMX/SMM)L1 缓存?大约 1-3 个时钟周期

-Per-core(即 Kepler/Maxwell 中的 Per-SMX/SMM)共享内存?大约 1-3 个时钟周期

我还做了一些在线搜索,看看我有多接近并找到了这个。数字和我的不一样。http://lpgpu.org/wp/wp-content/uploads/2013/05/poster_andresch_acaces2014.pdf 我认为由于多线程,它所花费的实际时间与程序员应该使用的时间是两个不同的数字。希望这可以帮助。

于 2015-05-21T20:56:03.767 回答