Ubuntu20.04安装显卡驱动、CUDA、CUDNN、opencv使用CUDA加速
Best Megumi 2024-08-09 10:37:01 阅读 55
每台电脑的环境都有差异,出现的报错可能不尽相同,博客和视频仅供参考,希望能对大家有所帮助。
本文所用到的包都在云盘上可以下载
链接: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站与博客上有演示
一、显卡驱动安装
<code>sudo apt-get update #更新
在左下角的九宫格里打开软件和更新,附加驱动里选择一个版本安装,最好不要装太高,建议安装470的,点击应用更改。
<code>reboot #重启
nvidia-smi #显示以下信息安装成功
sudo apt-get full-upgrade
二、CUDA安装
CUDA下载网址CUDA Toolkit Archive | NVIDIA Developer
选择与上面相应的CUDA版本进行下载
按照上面的选项后,下面的两行命令复制到终端执行例如:
<code>wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
若出现这种情况
<code>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回车
<code>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可直接补齐):
<code>tar -xvf cudnn-11.4-linux-x64-v8.2.4.15.tgz
进入这个文件夹打开终端
<code>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
若出现此问题
<code>sudo apt-get install libfreeimage3 libfreeimage-dev
sudo make clean && make
./mnistCUDNN
四、安装编译能使用CUDA的opencv
1、环境准备
<code>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测试那一步查看。
<code>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然后重新编译。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。