Ubuntu20.04安装显卡驱动、CUDA、CUDNN、opencv使用CUDA加速

每台电脑的环境都有差异,出现的报错可能不尽相同,博客和视频仅供参考,希望能对大家有所帮助。

本文所用到的包都在云盘上可以下载
链接:https://pan.baidu.com/s/149EOhd4csxC_-QZJP1Jd9w 
提取码:0721

博客:https://blog.csdn.net/qq_64006507?spm=1011.2415.3001.5343
b站:https://space.bilibili.com/34693773?spm_id_from=333.1007.0.0
内容均在b站与博客上有演示

一、显卡驱动安装

sudo apt-get update  #更新

在左下角的九宫格里打开软件和更新,附加驱动里选择一个版本安装,最好不要装太高,建议安装470的,点击应用更改。

reboot    #重启
nvidia-smi  #显示以下信息安装成功
sudo apt-get full-upgrade

二、CUDA安装

CUDA下载网址CUDA Toolkit Archive | NVIDIA Developer

选择与上面相应的CUDA版本进行下载

按照上面的选项后,下面的两行命令复制到终端执行例如:

wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run

若出现这种情况

wget -c https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
sudo sh cuda_11.4.0_470.42.01_linux.run

第一项Enter键去掉

最后一项Install回车

gedit ~/.bashrc #添加环境变量

在弹出的编辑器拉到最下面复制下面代码然后ctrl+s保存

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
source ~/.bashrc  # 刷新环境变量

nvcc -V #显示信息

CUDA测试:

进入该文件夹后输入make

make完之后

cd 1_Utilities/deviceQuery

./deviceQuery

三、CUDNN安装

网址为:cuDNN Archive | NVIDIA Developer

下载CUDNN需要先注册一个账号

注册登陆后下载下面框选的四项“注意选择你的Ubuntu版本”(##注意如果你的CUDA安装的版本较高,可能会没有Runtime、Developer、Code测试的三项,如果没有则可以跳过CUDNN的测试步骤)。

下载好后把文件都拖到主文件夹下

解压(输入cudnn按Tab可直接补齐):

tar -xvf cudnn-11.4-linux-x64-v8.2.4.15.tgz

进入这个文件夹打开终端

sudo cp  include/cudnn* /usr/local/cuda-11.4/include/
sudo cp lib64/libcudnn* /usr/local/cuda-11.4/lib64/
sudo chmod a+r /usr/local/cuda-11.4/include/cudnn*
sudo chmod a+r /usr/local/cuda-11.4/lib64/libcudnn*

CUDNN测试:(上面如果没有那三个文件则可跳过此步)

cd ~           #回到主目录
sudo dpkg -i libcudnn8_8.2.4.15-1+cuda11.4_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.4.15-1+cuda11.4_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.4.15-1+cuda11.4_amd64.deb
cp -r /usr/src/cudnn_samples_v8/ ~     # 拷贝例程到用户目录
cd  ~/cudnn_samples_v8/mnistCUDNN
sudo make clean && make

若出现此问题

sudo apt-get install libfreeimage3 libfreeimage-dev
sudo make clean && make
./mnistCUDNN

四、安装编译能使用CUDA的opencv

1、环境准备

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

常见问题:无法定位 libjasper-dev

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2、下载源码

这边建议直接找师兄师姐拉給你。

opencv下载地址:https://opencv.org/releases/
opencv_contrib下载地址:https://github.com/opencv/opencv_contrib/tree/4.5.5

如果有opencv源码则不用上面这一步。

3、编译安装

mkdir opencv4.5.5_cuda && cd opencv4.5.5_cuda
unzip opencv-4.5.5.zip
unzip opencv_contrib-4.5.5.zip
cd opencv-4.5.5
mkdir build && cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.5/modules -D BUILD_EXAMPLES=ON -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON WITH_TBB=ON WITH_V4L=ON WITH_QT=ON -D WITH_FFMPEG=ON -D WITH_LIBV4L=ON OPENCV_GENERATE_PKGCONFIG=YES BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D OPENCV_DNN_CUDA=ON -D CUDA_ARCH_BIN=8.6 -D WITH_CUDNN=ON -D CUDNN_INCLUDE_DIR=/usr/local/cuda/include/  -D WITH_ZLIB=ON -D BUILD_PNG=ON -D BUILD_JPEG=ON -D BUILD_TIFF=ON -D BUILD_TIFF=ON -D WITH_CUDA=ON -D WITH_OPENCL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D WITH_LAPACK=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DPYTHON3_EXECUTABLE=$(which python) -DPYTHON3_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -DPYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") ..

##注意:”CUDA_ARCH_BIN=8.6“这里的数字可以去官网查看(网址:https://developer.nvidia.com/cuda-gpus#compute)按照自己电脑显卡的型号填写。如果实在不确定的可以在上面CUDA测试那一步查看。

sudo make -j6 (RTX3050显卡以上的可以j8)
sudo make install

将opencv链接到系统路径

sudo ldconfig -v  
sudo gedit /etc/ld.so.conf.d/opencv.conf  

打开之后是一个空的文件,将下面这句复制进行保存

/usr/local/lib 

使路径生效:

sudo ldconfig  

配置环境变量:

sudo gedit /etc/bash.bashrc

在最末尾添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH 

保存,执行如下命令使得配置生效

source /etc/bash.bashrc 

测试:

cd ~
 unzip opencv-test.zip
cd opencv_cuda_yolov5
mkdir build && cd build
cmake ..     (注意修改CMakeList.txt里opencv的路径)
make
./main
watch -n 1 nvidia-smi   #实时查看GPU的使用情况。

若上面代码跑不通的话可以去CMakeList.txt里把main.cpp换成test.cpp然后重新编译。

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值