这两天玩了一下jetson nano,在上面实现了全景拼接,使用cuda加速的时候遇到了
CUDA error at stitch.cu:436 code=13(cudaErrorInvalidSymbol) "cudaMemcpyToSymbol(
这个错误,代码使用cmakelists.txt编译,找了好久网上的解决方案并没有解决我的问题,最后发现是因为cmakelists.txt里面
set(CUDA_NVCC_FLAGS ${CMAKE_CXX_FLAGS_RELEASE} ${CUDA_NVCC_FLAGS} -gencode arch=compute_53,code=sm_53; --use_fast_math)
这里的arch=compute_53,code=sm_53设置错了,设置成了arch=compute_60,code=sm_60
这里要根据你使用的nvdia的gpu算力来设置,去nvdia官网查看对应型号gpu算力,设置的不对虽然编译的时候不会报错,但是程序运行的时候就会出现好多类似上面那种奇奇怪怪的错误
设置的低了会出现以下这个错误
addKernel launch failed: no kernel image is available for execution on the device
addWithCuda failed