bank冲突

共享内存的映射是类似这样的:

就是比如每行存32个位置,每个位置32bit,一行一行存。

如果在共享内存上存了int数组a,

访问a0...a31,在共享内存上就是share01...share031,

a32--->share10

首先同一时间只有一个warp会去访问share,所以冲突来自同一个warp的不同thread。

就是share每一行是可以并行访问的,但是如果出现线程访问同一个bank,也就是同一行,就会串行,就是冲突