1. 程式人生 > >Caffe nvcc編譯問題:Unsupported gpu architecture

Caffe nvcc編譯問題:Unsupported gpu architecture

最近學習DSSD,從https://github.com/chengyangfu/caffe/tree/dssd下載原始碼後編譯報錯:Unsupported gpu architecture 'compute_20',具體如下:

CXX src/caffe/util/db.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/math_functions.cpp
NVCC src/caffe/solvers/adagrad_solver.cu
nvcc fatal   : Unsupported gpu architecture 'compute_20'
make: *** [.build_release/cuda/src/caffe/solvers/adagrad_solver.o] Error 1
make: *** Waiting for unfinished jobs....

根據Makefile.config的註釋:

# 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.
# 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

我的環境是cuda9.0,所以把如下兩行註釋:

-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \

之後問題解決。