Friday, 6 September 2013

Cuda shared memory bank conflict

Cuda shared memory bank conflict

I am accessing my global memory to load data to shared memory and would
like to know if there is a bank conflict. Here is the setpu:
In global memory : g_array. A 3D matrix of size(256,64,10)
This is how I load for each slice
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)
do k = 0, 9
s_array(tIdx,tIdy) = g_array(d_j,d_l,k)
end do
Thank you for you help

No comments:

Post a Comment