使用内核参数会导致银行冲突吗?

8

内核参数存储在芯片上的共享内存中。如果线程尝试访问同一银行,则共享内存可能会存在银行冲突。 那么我的问题是:使用内核参数线程是否会导致银行冲突?

1个回答

7
不会的,因为访问将始终是一致的:(在计算能力1.x一半的情况下)warp的所有线程将同时读取相同的参数,并在单个传输中广播到所有线程。
为了完整起见,我要提到,仅计算能力1.x设备将参数存储在共享内存中。更高的计算能力设备将它们存储在常量内存中,其中相同的一致性推理适用。

1
我需要稍微纠正一下:由于只有计算能力1.x将参数存储在共享内存中,并且在计算能力1.x上的访问是每半个warp进行的,因此一个warp读取一个参数需要两次传输。不过,这仍然是可能的最小数量。 - tera

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接