我正在访问全局内存以将数据加载到共享内存,并想知道是否存在银行冲突。这是设置:
在全局内存中:g_array
. 大小为 (256, 64) 的二维矩阵
这就是我将数组数据从全局内存加载到共享内存的方式。我用 gridDim (4, 1) 和 blockDim (16, 16) 调用内核。
d_j = (blockIdx%x-1) * blockDim%x + threadIdx%x-1
d_l = (blockIdx%y-1) * blockDim%y + threadIdx%y-1
tIdx = threadIdx%x -1
tIdy = threadIdx%y -1
real, shared :: s_array(0:15,0:15)
s_array(tIdx,tIdy) = g_array(d_j,d_l)
doSomthingwithMySharedMemoryData()
.....