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