Memory error cudaError_enum at memory location

Hi all.

I’got such problem: when i call cudaMemCpy i got such thing on big arrays:

First-chance exception .... in test.exe: Microsoft C++ exception: cudaError_enum at memory location ....  

As far as I understand this may happen if I write to the same memory location form different threads, but in my algorithm different threads could just read from the same memory location and couldn’t write to the same.

And this error occurs when I use big arrays more then 250000 elements. If I use smaller arrays I usually get right result. Could anyone give me some advice please?

What’s the size of the array in bytes and on which card are you executing this?


NN4 (sizeof(int)) where N is matrix dimension. So here it’s about 1MB. I use 2 such arrays + one else which is about some KB.

I use 8600gt 256MB.

PS And today, after reboot, it work’s fine with N=800 :).

And other strange thing is: yesterday after some program runs i’ve got some problems with working in Windows. Sometimes different groups of pixels of wrong colour appears on the screen (look like GPU memory overheated) but gpu was in idle status run and temperature was low (45 C ) and stable.

And i’ve got one more strange thing: increasing threads number i achive stable work with N~1050 where i’ve got max threads number - 384. But when I try bigger arrays I still have the same problem :(