【问题标题】:What's the coalescing width in recent NVIDIA GPUs?最近的 NVIDIA GPU 的合并宽度是多少?
【发布时间】:2016-05-21 07:54:17
【问题描述】:

this paper 中,作者说当时 CUDA 在 NVIDIA GPU 上的合并宽度为 16(第 3 页,最后一段)。这篇论文很老了,我找不到更新设备的信息。

最近的 NVIDIA GPU 的合并宽度是多少?

【问题讨论】:

    标签: memory cuda gpgpu nvidia


    【解决方案1】:

    对于 32 位数量,那个时代的 cc1.x GPU 会将一个扭曲分成两个“半扭曲”(1),并为每个半扭曲发出一个全局事务。经线仍然是 32 根线,但半根线是 16 根线,我想这就是 16 号的来源。

    Modern GPUs (cc2.x - cc5.x) 以全幅宽(32 个线程)发出全局事务。如果每个线程请求的数量大于 32 位,则会将其分解为多个 128 字节的事务,数量与服务经线所需的数量一样多。

    因此我会说相应的数字是 32,但这将取决于每个线程请求的实际数据。

    除了“宽度”之外,数据是否以及如何实际合并取决于构成 warp 事务的地址(由各个线程生成)。

    (1):cc1.x 设备的在线文档不那么方便,但摘自 CUDA 5.0 for cc1.x 的编程指南:

    F.3.2 全局内存 一个warp的全局内存请求被分成两个内存请求,每个半warp一个, 是独立发行的。计算能力 1.0 和 1.1 的设备以及 计算能力设备 1.2 和 1.3 描述了线程的内存访问方式 半扭曲内被合并成一个或多个内存事务 设备的计算能力。

    【讨论】:

      猜你喜欢
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2021-09-12
      • 2018-09-19
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多