I have a kernel function in which threads write to different elements of an array in shared memory. The problem is that the writes are extremely slow. Since the threads write to different elements of the array, I don’t think there are any bank conflicts.
Does anyone know what could be the problem here? The compute capability of my GPU device is 1.3. I’m launching 65536 x 65536 blocks and 500 threads in each block. The array size is well below the shared memory size per block limit.
I have a kernel function in which threads write to different elements of an array in shared memory. The problem is that the writes are extremely slow. Since the threads write to different elements of the array, I don’t think there are any bank conflicts.
Does anyone know what could be the problem here? The compute capability of my GPU device is 1.3. I’m launching 65536 x 65536 blocks and 500 threads in each block. The array size is well below the shared memory size per block limit.
I’m sorry, the grid size is actually 65,535 x 65,535. I’m using the dimensions returned by maxGridSize[0] and maxGridSize[1]. Should I just use 65,535 x 1?
I’m sorry, the grid size is actually 65,535 x 65,535. I’m using the dimensions returned by maxGridSize[0] and maxGridSize[1]. Should I just use 65,535 x 1?
See the ptx code and look for this access. This is a shared access. Sometimes the compiler to ptx change or delete some unuseful instructions. This access to array[tx] seems unuseful because you do not take after that value. Please, check out this. I think that this code is not executing.
The reason of the slow of the program can be that are a lot of blocks, but this access does not affect to him.
See the ptx code and look for this access. This is a shared access. Sometimes the compiler to ptx change or delete some unuseful instructions. This access to array[tx] seems unuseful because you do not take after that value. Please, check out this. I think that this code is not executing.
The reason of the slow of the program can be that are a lot of blocks, but this access does not affect to him.
The code that I included above is a simplified form of my actual code. However, even the simplified version of the code is having the same issue.
I never got a chance to see whether the program completes. I usually wait for 15-20 mins, and if the program is still running, then I just terminate it. So it could be that the program just stalls without complaining.
The code that I included above is a simplified form of my actual code. However, even the simplified version of the code is having the same issue.
I never got a chance to see whether the program completes. I usually wait for 15-20 mins, and if the program is still running, then I just terminate it. So it could be that the program just stalls without complaining.