本文主要是介绍bank冲突,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
共享内存的映射是类似这样的:
就是比如每行存32个位置,每个位置32bit,一行一行存。
如果在共享内存上存了int数组a,
访问a[0]...a[31],在共享内存上就是share[0][1]...share[0][31],
a[32]--->share[1][0]。
首先同一时间只有一个warp会去访问share,所以冲突来自同一个warp的不同thread。
就是share每一行是可以并行访问的,但是如果出现线程访问同一个bank,也就是同一行,就会串行,就是冲突
这篇关于bank冲突的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!