我想确保我正确理解共享内存中的库冲突。
我有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 个元素),那么每个线程将访问一个唯一的存储体。我对吗?