at CUDAConvolution.cu, Line 100, this code:
perseusSafeCall(cudaMemcpyToSymbol(dKernelConvolution, cudaData->hKernelConvolution, KERNEL_SIZE));
throws an error at runtime:
==[APP] Init Target ROI ==
E:/Github/PWP3D/PerseusLib/CUDA/CUDAConvolution.cu(100) : cudaSafeCall() Runtime API error : invalid device symbol.
the var/symbol is defined previously as:
__device__ __constant__ float dKernelConvolution[KERNEL_WIDTH];
const int KERNEL_SIZE = KERNEL_WIDTH * sizeof(float);
My environment in windows10, vs2013, gtx750ti (maxwell arch), cuda6.5, and I don't find a solution because:
- in
cudaMemcpyToSymbol indeed dKernelConvolution is used, not the string varname "dKernelConvolution";
- the var
dKernelConvolution is defined as __device__ __constant, also should be correct.
so is there anyone who has the same issue as mine?