一般使用 cmake-gui 界面化安装 Caffe 时很少遇到这个问题,但是比如在 docker 中只能命令行编译时,我们只能使用 makefile,这是我在 CUDA9.0 + cudnn7 的 docker 环境中配置遇到的问题。
我们可以打开 Makefile.config 文件,找到下面的内容:
-# For CUDA >= 9.0, comment the *_20 and *_21 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
如上面注释所说,只要将:
-gencode arch=compute_20,code=sm_20
-gencode arch=compute_20,code=sm_21 \
注释或者直接删除即可,然后重新编译。