web-dev-qa-db-ja.com

nvcc致命的:サポートされていないGPUアーキテクチャ 'compute_20

コマンドmake pycaffeの実行中に、以下のエラーが発生しました。

NVCC src/caffe/solvers/adadelta_solver.cu nvcc fatal   : Unsupported
gpu architecture 'compute_20' Makefile:594: recipe for target
'.build_release/cuda/src/caffe/solvers/adadelta_solver.o' failed make:
*** [.build_release/cuda/src/caffe/solvers/adadelta_solver.o] Error 1

System Information
------------------

OS: ubuntu: 16.10

CUDA 8.0

cuDNN: 6.0 

CUDA_Arch: 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

誰も私を助けることができますか?

7
Asha Datla

私に関しては、-gencode Arch=compute_20Makefile.configをコメントアウトする必要がありました。

CUDA_Arch := -gencode Arch=compute_30,code=sm_30 \
    -gencode Arch=compute_35,code=sm_35 \
    -gencode Arch=compute_50,code=sm_50

CUDAのdeviceQueryから50が表示されたため、Capability Major/Minor version numberで停止しました。

/usr/local/cuda/samples/bin/x86_64/linux/release/deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 960M"
  CUDA Driver Version / Runtime Version          9.0 / 9.0
  CUDA Capability Major/Minor version number:    5.0
  Total amount of global memory:                 4044 MBytes (4240965632 bytes)
  ( 5) Multiprocessors, (128) CUDA Cores/MP:     640 CUDA Cores
  GPU Max Clock rate:                            1176 MHz (1.18 GHz)
....

その後、コンパイルとテストはうまくいきました。

11
Matthieu

今朝も同じ問題がありました。 CUDAとcuDNNをインストールした後、CMakeが設定変数を適切に検出できるように、再起動が必要でした(ここで提案されているように https://groups.google.com/forum/#!topic/caffe-users/WDOD3E04Avg ) 。そのため、CUDAとcuDNNが適切にインストールされていることを確認し、システムを再起動してください。それでもエラーが発生する場合は、コンピューティング機能2.0のみをサポートするGPUがある可能性があるため、それをサポートするCUDA 8.0を試すことができると思います。ここでGPUを確認できます: https://developer.nvidia.com/cuda-gpus

CUDA 9.0とcuDNN 7.0.2を有効にしたPCでテストが正常に実行されたことを確認できます。再起動後、GPUアーキテクチャは自動的にsm_50に設定されました。 GTX 750 Tiを使用していますが、ドキュメントによるとCUDA 5.0をサポートしています。それで、設定は正しいようです!テスト用のコマンドは次のとおりです。

make runtest

テストのコンパイル中にエラーが発生した場合は、次を試してください。

make runtest clean

この例は私にとってもうまくいき、8 CPUコアのOpenBLASを使用した場合(450秒)よりも7倍以上高速(60秒)になりました!

./examples/mnist/train_lenet.sh
2
Adrian L.

NVcaffeをインストールするとき(make -j4を実行)、Jetson TX2でもこの問題が発生しました。

Nvidia jetsonフォーラムの指示 here は、置き換えるように言います:

-gencode Arch=compute_61,code=sm_61

-gencode Arch=compute_62,code=sm_62

makefile.configで。ただし、指示に従って、その行が含まれていないcaffe-0.15を取得したため、その行は私の構成ファイルにありませんでした。だから、結局、私のために働いたのは私の設定ファイルで次のものを置き換えることでした:

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_50,code=compute_50

CUDA_Arch := -gencode Arch=compute_50,code=sm_50 \
        -gencode Arch=compute_52,code=sm_52 \
        -gencode Arch=compute_60,code=sm_60 \
        -gencode Arch=compute_62,code=sm_62 \
        -gencode Arch=compute_61,code=compute_61
1
DankMasterDan