Ubuntu1804安装 cuda 8.0 + patch +cudnn7.1.4

最近由于fork 的项目需要,在原本已经安装了opencv4.1+ cuda10.1 + cudnn7.5的Ubuntu1804上面安装cuda 8.0,并重新编译opencv4.1

说明:安装方式为 deb 包安装

步骤:

1, 官方网站下载cuda8.0(由于没有对应1804版本的包,我下的1604) 以及其补丁,下载对应版本的cudnn

2,进入下载文件夹,首先安装cuda8.0的包

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda-8.0

3,安装补丁

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb

4,安装cudnn

先安装cudnn runtime的包

也是一样的方法 dpkg -i

再装cudnn developer的包

5,编译opencv 4.1.0 

下载好contrib ,放入opencv对应的文件夹

 

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-cuda-8 -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.1.0/modules -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_EXECUTABLE=/usr/bin/python -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_EXAMPLES=ON -D WITH_CUDA=ON -D BUILD_TIFF=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_opencv_cudacodec=OFF ..

Ubuntu1804安装 cuda 8.0 + patch +cudnn7.1.4_第1张图片

make -j12

sudo make install

6,出现的错误

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/home/wilson/Soft/opencv-4.1.0/opencv_contrib-4.1.0/modules/cudaimgproc/src/cuda/clahe.cu(191): error: identifier "__shfl_down" is undefined

 

 

找到cmake后产生的OpencvConfig.cmake文件,找到如下代码:

 

  1. # Version Compute Capability from which OpenCV has been compiled is remembered  
  2. set(OpenCV_COMPUTE_CAPABILITIES -gencode;arch=compute_11,code=sm_11;-gencode;arch=compute_12,code=sm_12;-gencode;arch=compute_13,code=sm_13;-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_30,code=compute_30)  

"-gencode ;arch=compute_11,code=sm_11";-gencode;arch=compute_12,code=sm_12;-gencode;arch=compute_13,code=sm_13; 等删除。

 

还是不行的话,试下在cmake的时候加上,

CUDA_ARCH_BIN="7.5" 

CUDA_ARCH_BIN代表你当前显卡的计算能力。具体的数值可以参考https://developer.nvidia.com/cuda-gpus。

你可能感兴趣的:(Ubuntu1804安装 cuda 8.0 + patch +cudnn7.1.4)