【问题标题】:Can using kernel parameters cause bank conflicts? [closed]使用内核参数会导致银行冲突吗? [关闭]
【发布时间】:2012-10-02 02:53:13
【问题描述】:

内核参数存储在片上共享内存中。如果线程尝试访问同一个存储区,共享内存可能会发生存储区冲突。 所以我的问题是:这是否意味着使用内核参数线程会导致银行冲突?

【问题讨论】:

    标签: cuda bank-conflict


    【解决方案1】:

    不,因为访问总是一致的:(计算能力为 1.x 半)warp 的所有线程将同时读取相同的参数,该参数在一次传输中广播给所有线程。

    为了完整起见,我将提到只有计算能力 1.x 的设备将参数存储在共享内存中。更高计算能力的设备将它们存储在恒定内存中,其中适用相同的一致性推理。

    【讨论】:

    • 我必须在这里稍微纠正一下自己:由于只有计算能力 1.x 将参数存储在共享内存中,并且计算能力 1.x 的访问是每半个经线,因此需要两次传输warp 读取参数。尽管这是可能的最小数量,但它仍然是正确的。
    猜你喜欢
    • 2014-12-18
    • 2019-03-21
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    相关资源
    最近更新 更多