Jul 3, 2013 at 1:15 PM
Edited Jul 3, 2013 at 1:16 PM
Ive been experimenting with Cudafy.net, and performing some benchmarks vs the CPU. Unfortunately i start getting errors once my array is larger than 16,777,216 elements. Ive therefore simplified my kernel so its just copying data ie I pass in an array
containing time ticks i got from my database. I then copy them to the output array on the GPU, copy the output array back onto the host and then check it against the initial values from the database. This is still causing errors after 16,777,216.
Things i have checked thus far:
Ive changed the data type of the output array from float to long, and errors still begin to occur at 16,777,217 and every second value there after.
Ive modified the kernel so that it only begins populating the array at 16,777,210. I still began encountering errors at 16,777,217.
Im using a EVGA GTX 660 SC. Ive read that overclocked cards are prone to errors, so i reduced the clock speed of the card. I still experienced the same errors.
Ive tried changing the order memory is allocated on the GPU. No change in results.
Ive recorded the free memory available on the device and its still ~ 500MB.
From the above, i have a feeling there is a limit to the max index of an array, esp since changing the data type had no effect on the results.
Is this the case? Has anyone else experienced this issue before? Im assuming its not a hard error but im no guru!
Any help would be appreciated!
here is the link to the question on SO. (if im not suppose to post it, please let me know and i will remove it.)
SO question and code