CUDA:不同warp之间的bank冲突?

5

我刚从为什么cuda中只有一个warp被SM执行?中了解到,Kepler GPU实际上可以同时执行来自几个(显然是4个)warp的指令。

共享内存银行是否也可以同时处理四个请求?如果不能,那就意味着不同warp的线程之间可能会发生银行冲突,即使在任何单独的warp内部没有银行冲突,对吗?这方面有什么信息吗?

1个回答

7

计算能力为3.x的设备(Kepler)每个SM有4个warp调度器。在每个周期中,每个warp调度器选择一个warp并从warp中发出1-2条指令。SM只有一个负责服务L1和共享内存请求的load store unit (LSU)单元,因此只有8个潜在指令中的1个可以被分派到LSU,因此warp之间的银行冲突不会发生。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接