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.
I have solved this issue.
You need to change the compute architectures setting to fit your GPU in PWP3D-master/PerseusLib/CMakeLists.txt like "arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60"
at CUDAConvolution.cu, Line 100, this code:
perseusSafeCall(cudaMemcpyToSymbol(dKernelConvolution, cudaData->hKernelConvolution, KERNEL_SIZE));
throws an error at runtime:the var/symbol is defined previously as:
My environment in windows10, vs2013, gtx750ti (maxwell arch), cuda6.5, and I don't find a solution because:
cudaMemcpyToSymbol
indeeddKernelConvolution
is used, not the string varname"dKernelConvolution"
;dKernelConvolution
is defined as__device__ __constant
, also should be correct.so is there anyone who has the same issue as mine?