today I recompiled my cuda 2.3 project with the new cuda 3.0 release and I got the following problem:
All calls to cudaGetSymbolSize() that were successful with cuda 2.3 are now reporting a cudaErrorInvalidSymbol, but calls of cudaGetSymbolAddress() to the exact same constant are successful. In my case, the second parameter of both calls is a character string with the name of the constant variable.
Does anyone else have the same problem? Is this a bug or was the call changed compared to cuda 2.3?
I wrote a small program for reproducing the problems with cudaGetSymbolSize() which is attached to this post and which simply needs to be copied to the SDK/C/src folder and compiled with visual studio (
In conclusion, a cudaGetSymbolSize() with CUDA 3.0 only works on the first constant and always returns the total size of all constants together. It would be really nice if some of you (NVIDIA) guys can verify this or point out if I have done something wrong.
Windows XP 64, Geforce GTX 285 with 197.13, Intel Xeon 5430, CUDA 3.0