original url:
http://www.bubuko.com/infodetail-2265238.html
错误:
im2col.cu:61] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
原因:由于Makefile.config里面只对cuda8.0以下的架构编译cuda程序,所以采用cuda8.0后cuda程序没有被编译
解决:修改Makefile.config中的 CUDA_ARCH
添加 -gencode arch=compute_61,code=sm_61
计算能力可以参考下面链接添加合适的架构参数
http://blog.csdn.net/allyli0022/article/details/54628987
在Makefile.config中也可以看到注释(我当前用的是gtx1080):
# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
# For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61
# -gencode arch=compute_61,code=compute_61