小编Pio*_* K.的帖子

CUDA内存库冲突

我想确保我正确理解共享内存中的库冲突。

我有32段数据。

这些段分别由 128 个整数组成。

[[0, 1, ..., 126, 127], [128, 129, ..., 255], ..., [3968, 3969, ..., 4095]]
Run Code Online (Sandbox Code Playgroud)

warp 中的每个线程仅访问其自己的部分。

  • 线程 0 访问对应于索引 0 的部分 0 的位置 0。

  • 线程 1 访问部分 1 上对应于索引 128 的位置 0。

  • ...

  • 线程 31 访问对应于索引 3968 的部分 31 的位置 0。

这是否意味着我有32倍的银行冲突?

如果是,那么如果我向每个段添加一个填充元素(即总共 129 个元素),那么每个线程将访问一个唯一的存储体。我对吗?

cuda bank-conflict gpu-shared-memory

2
推荐指数
1
解决办法
537
查看次数

标签 统计

bank-conflict ×1

cuda ×1

gpu-shared-memory ×1