nvcc fatal : Unsupported gpu architecture 'compute_20' while cuda 9.1+caffe+openCV 3.4.0 is installed

后端 未结 3 881
青春惊慌失措
青春惊慌失措 2021-02-09 02:59

I have installed CUDA 9.1+cudnn-9.1+opencv 3.4.0+caffe.

When I tried to run make all -j8 in caffe directory, this error occurred:

相关标签:
3条回答
  • 2021-02-09 03:12

    You can use cmake like following:

    cmake [other_params] -D CUDA_ARCH_NAME="Pascal" ..
    
    0 讨论(0)
  • 2021-02-09 03:24

    This fixed it for me

    cd caffe && mkdir build && cd build && \
       cmake -DUSE_CUDNN=1 -DUSE_NCCL=1 -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="50 52 60 61" .. && \
       sudo make -j"$(nproc)"
    

    Just dropped 20 and 30 arch support

    0 讨论(0)
  • 2021-02-09 03:33

    Try manually edit Makefile.config to remove compute_2* architectures from these lines (comments explain why):

    # 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
    

    And add the compute_6* architectures (see the comments) so that your new CUDA_ARCH looks like this:

    # 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
    

    Then you'll need to make clean before make all.

    0 讨论(0)
提交回复
热议问题