caffa-ssd在编译完成,执行make runtest -j4时出现这个错误,或者在训练时候提示这个错误:
error == cudaSuccess (209 vs. 0) no kernel image is available for execution on the device
网上查很多都说是算力不足,但我是在服务器上的2080Ti,不太可能是算力不足。
实际上是编译的compute_capability不太对,比如我是2080ti,查看官网上实际用的显卡的计算能力:
可以看到2080ti的compute_capability是7.5,所以在caffe的Makefile.config中,把compute_capability做如下修改:
原来的:
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_21,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_61,code=sm_61 \
修改为:
CUDA_ARCH := -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_61,code=sm_61 \
-gencode arch=compute_75,code=sm_75
即去掉了20和21两行,这个已经被弃用了,加上75这一行(对应我的2080ti,实际看所使用的显卡进行更改)