时间: 2023.04.14
事件: ubuntu22.04下安装OpenCv+cuda实现图像处理加速
工控机配置
- NVIDIA Jetson AGX Orin 32GB是一款基于NVIDIA Orin芯片的嵌入式计算平台,它采用了NVIDIA Volta架构的GPU。以下是NVIDIA Jetson AGX Orin 32GB的显卡配置:
GPU:NVIDIA Volta架构,512个Tensor Cores,2560个CUDA Cores
GPU频率:930MHz
显存(和CPU共享的内存):32GB LPDDR4x
显存带宽:136.5GB/s
存储:2个M.2 NVMe SSD插槽
支持多路摄像头输入,最高可支持6路16个摄像头
支持4K 60fps硬件解码和编码
支持NVIDIA JetPack SDK和TensorRT等深度学习软件库
这些配置使NVIDIA Jetson AGX Orin 32GB成为一款非常强大的嵌入式计算平台,适用于高性能计算和深度学习应用,特别是在视觉处理和自动驾驶领域。
硬件解码
就是通过硬件进行视频的解码工作,其中硬件解码是由GPU来进行的,使用GPU解码能够降低CPU的工作负荷,降低功耗。播放出来的视频较为流畅,并且能够延长移动设备播放视频的时间;
软件解码:软件解码则是通过软件本身占用的CPU进行解码,所以会增加CPU工作负荷,提升功耗,如果CPU能力不足,则软件也将受到影响。
复杂的需要大算力运算的,通过GPU可以加速运算速度,目前OpenCV的一些算法已经集成了GPU的调用
本机电脑显卡配置:
https://detail.zol.com.cn/1165/1164567/param.shtml
NVIDIA工控机电脑目前只有GPU
显卡和GPU的区别:
https://baijiahao.baidu.com/s?id=1758827691801138947&wfr=spider&for=pc
Ubuntu 22.04安装Cuda11.7和cudnn8.6
注意:如果是通过网络的方式下载的,copy的时候路径略有不同,我自己的机器位置如下:
sudo cp ./usr/lib/x86_64-linux-gnu/libcudnn* /usr/local/cuda/lib64
sudo cp /usr/include/cudnn*.h /usr/local/cuda/include
建议还是直接下载包后解压缩复制
https://zhuanlan.zhihu.com/p/581720480
Ubuntu 安装NVIDIA显卡驱动、安装对应的CUDA
https://blog.csdn.net/qq_39779233/article/details/127203373
需要安装的东西
opencv-4.7.0
opencv_contrib-4.7.0
cuDNN: https://developer.nvidia.com/rdp/cudnn-download
CUDA Toolkit
https://developer.nvidia.com/cuda-toolkit-archive
nvdia显卡驱动
其中nvdia显卡驱动最好卸载重新安装
注意: nvdia显卡版本与CUDA Toolkit版本及opencv版本需要匹配上
opencv-4.7和opencv_contrib-4.7.0联合编译命令
cmake -DCMAKE_BUILD_TYPE=RELEASE\
-D CMAKE_INSTALL_PREFIX=/usr/local\
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.7.0/modules\
-D WITH_CUDA=1\
-D WITH_CUDNN=ON\
-D OPENCV_DNN_CUDA=True\
-D WITH_TBB=ON\
-D CUDA_ARCH_BIN='6.1'\ // 这个参数需要和自己的显卡类型匹配上
-D ENABLE_FAST_MATH=1\
-D CUDA_FAST_MATH=1\
-D WITH_CUBLAS=1\
-D BUILD_opencv_python3=ON\
-D BUILD_opencv_python2=ON\
-D WITH_V4L=ON\
-D WITH_QT=ON\
-D WITH_OPENGL=ON\
-D OPENCV_GENERATE_PKGCONFIG=1\
-D WITH_GSTREAMER=ON\
-D CUDA_GENERATION="Auto"\
-D BUILD_TESTS=OFF ..
cudnn 需要单独安装
安装cudnn方法:
参考: https://blog.csdn.net/zml194849/article/details/121832894
下载网址: https://developer.nvidia.com/rdp/cudnn-download
备注: 这里copy的时候需要copy全部头文件
sudo cp include/cudnn* /usr/local/cuda/include
sudo cp lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
GPU加速常用的环节
下图可以看出主要是在用神经网络做分类,需要大计算量的时候具有提速的功能。