CUDA 9.1+cudnn-9.1+opencv 3.4.0+caffe
をインストールしました。
caffe
ディレクトリでmake all -j8
を実行しようとすると、このエラーが発生しました。
nvcc致命的:サポートされていないGPUアーキテクチャ 'compute_20'
私は実行しようとしました:
"cmake -D CMAKE_BUILD_TYPE=RELEASE -D CUDA_GENERATION=Kepler .."
しかし、うまくいきませんでした。
手動で編集してみてください Makefile.config
これらの行からcompute_2*
アーキテクチャを削除します(コメントはその理由を説明しています):
# 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
そして、新しいCUDA_Archが次のようになるようにcompute_6 *アーキテクチャを追加します(コメントを参照)。
# 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_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
次に、make clean
の前にmake all
する必要があります。
次のようにcmakeを使用できます。
cmake [other_params] -D CUDA_Arch_NAME="Pascal" ..