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

标签 cuda bank-conflict

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




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

最佳答案

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

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

关于cuda - 使用内核参数会导致银行冲突吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12839605/

相关文章:

CUDA内存库冲突

c++ - 我可以像 CUDA UVA 那样为 GPU、CPU 和 FPGA 使用单一地址空间吗?

c++ - CUDA:为什么特定的备忘录复制操作总是比其他类似操作花费 10 倍以上

c - 非 GPU 硬件上是否会发生 Bank 冲突?

c++ - CUDA - 确定共享内存中的银行数量

cuda - 随机访问时共享内存中的预期存储体冲突数

c++ - 在 Nvidia NPP ImageCPU 对象中设置像素值?

linux - 在 Ubuntu 中安装文件

concurrency - CUDA 原子操作和并发内核启动

cuda - 为什么Cuda/OpenCL的全局内存中没有银行冲突?