5

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

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

4

1 回答 1

7

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

于 2014-02-15T21:52:08.163 回答