cudaMemcpyToSymbol documentation and use

Hi All

I just updated from CUDA 4.2 to 5.5. Doing that I needed to change the calls to [i]cudaMemcpyToSymbol[\i]. Looking at the documentation, it requires an input of type (void *). However, it only works according to specs when using the variable normally.


__device__ __constant__ bfFixedParam dsBfFixedParam;

void set( bfFixedParam * pParam ){
    if( !( cudaMemcpyToSymbol( dsBfFixedParam, pParam, sizeof( bfFixedParam ), 0, cudaMemcpyHostToDevice ) == cudaSuccess )){
        return false;

I would expect it to be called using “&dsBfFixedParam”. While this compiles as well, I get an error. Is there something I don’t understand or is the documentation not the same as the functionality?

Best regards


I have a similar issue passing my code to 5.5.
It result in an “invalid argument” runtime error.