我可以假设计算能力 3.0 中没有银行冲突吗?
Posted
技术标签:
【中文标题】我可以假设计算能力 3.0 中没有银行冲突吗?【英文标题】:May I assume no bank conflict in compute capability 3.0? 【发布时间】:2014-11-20 11:03:02 【问题描述】:由于我最近才开始学习 CUDA,银行冲突似乎是 CUDA 设备的限制之一,应该仔细考虑。但在阅读CUDA programming guide 中的计算能力 3.0 时,我发现
“对warp的共享内存请求不会在访问同一个64位字中的任何子字的两个线程之间产生bank冲突(即使两个子字的地址位于同一个bank中) : 在这种情况下,对于读取访问,64 位字被广播到请求线程,对于写入访问,每个子字仅由一个线程写入(哪个线程执行写入未定义)。"
这是否意味着我们可以忽略 CC 3.0 或更高版本中的 CUDA 应用程序的银行冲突?
【问题讨论】:
【参考方案1】:我想我找到了an answer. 在 CC 3.0 中,它并非完全没有所有 bank 冲突,但现在多个线程可以访问子字而没有任何 bank 冲突。我相信这将大大减少银行冲突的编程工作,尤其是在我的项目中。
【讨论】:
以上是关于我可以假设计算能力 3.0 中没有银行冲突吗?的主要内容,如果未能解决你的问题,请参考以下文章