CUDA Shared memory out-of-bound access

Hi All,

I did a simple test to see if there is checking on out-of-bound memory access on shared memory. What i did was quite simple that I allocated an integer array on shared memory and I tried to access to an element that already exceeds the size of the array (a lot). On my old Geforce 9400M there was nothing happened. I was able to access that invalid address and print the element out. I was guessing the hardware did something like modulus on the shared memory for out-of-bound access but based on my experiment the valid elements of the array were not affected.

Any idea of that?

Thank you in advance.

The Fermi cards have more strict rules and the kernel crashes more often when there is out of bounds access. But in general you need to check with cuda-memcheck or put explicit checking. For my 8800m gtx I had out of bounds accesses without problems for small sizes, but my kernels were crashing for larger sizes.