我刚刚(从Why only one of the warps is executed by a SM in cuda?)了解到,Kepler GPU实际上可以同时执行几个(显然是4个)warp的指令。
共享内存库是否也可以同时提供四个请求?如果不是这样,那就意味着银行冲突可能发生在碰巧同时执行的不同warp的线程之间,即使在任何单个warp中没有银行冲突,对吧?有没有关于此的信息?
答案 0 :(得分:6)
计算能力3.x设备(Kepler)每个SM有4个warp调度程序。在每个循环中,每个warp调度程序选择一个warp并从warp发出1-2个指令。 SM只有一个加载存储单元(LSU)单元,为L1和共享内存请求提供服务,因此8个潜在指令中只有1个可以发送到LSU,因此不会发生warp之间的冲突。