【问题标题】:CUDA: bank conflicts between different warps?CUDA:不同经线之间的银行冲突?
【发布时间】:2014-03-15 04:11:39
【问题描述】:

我刚刚(来自Why only one of the warps is executed by a SM in cuda?)了解到,Kepler GPU 实际上可以同时执行来自多个(显然是 4 个)warp 的指令。

共享内存库是否也可以同时处理四个请求?如果不是,那意味着银行冲突可能发生在碰巧同时执行的不同warp的线程之间,即使在任何单独的warp中都没有银行冲突,对吧?有这方面的资料吗?

【问题讨论】:

    标签: cuda shared-memory bank-conflict


    【解决方案1】:

    计算能力 3.x 设备 (Kepler) 每个 SM 有 4 个 warps 调度程序。在每个周期中,每个 warp 调度程序都会选择一个 warp 并从该 warp 发出 1-2 条指令。 SM 只有一个加载存储单元 (LSU) 单元来服务 L1 和共享内存请求,因此 8 条潜在指令中只有 1 条可以分派到 LSU,因此不会发生 warp 之间的 bank 冲突。

    【讨论】:

      猜你喜欢
      • 2011-03-31
      • 2013-02-07
      • 2011-09-01
      • 2015-04-07
      • 2015-09-23
      • 2011-04-20
      • 2016-09-07
      • 2011-01-18
      • 2022-01-14
      相关资源
      最近更新 更多