CUDA:不同经线之间的银行冲突?
Posted
技术标签:
【中文标题】CUDA:不同经线之间的银行冲突?【英文标题】:CUDA: bank conflicts between different warps? 【发布时间】: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中都没有银行冲突,对吧?有这方面的资料吗?
【问题讨论】:
【参考方案1】:计算能力 3.x 设备 (Kepler) 每个 SM 有 4 个 warps 调度程序。在每个周期中,每个 warp 调度程序都会选择一个 warp 并从该 warp 发出 1-2 条指令。 SM 只有一个加载存储单元 (LSU) 单元来服务 L1 和共享内存请求,因此 8 条潜在指令中只有 1 条可以分派到 LSU,因此不会发生 warp 之间的 bank 冲突。
【讨论】:
以上是关于CUDA:不同经线之间的银行冲突?的主要内容,如果未能解决你的问题,请参考以下文章