0 前沿
目前TensorRT已经升级到TensorRT7.2版本,开始需要Cuda11+cudnn8支持(7.1版本也有10.2版本),这里简单记录以下安装流程及个别bug处理
1 显卡驱动和CUDA安装
-
下载
笔者之前的cuda是10.2版本,驱动版本440.10,ubuntu18.04系统更新上最新的驱动号也就440(可能是系统版本有点老)
而cuda11要求驱动450以上的版本,所以需要下载独立的安装驱动 【NVIDIA-Linux-x86_64-450.57.run】
Cuda官网下载Cuda11【cuda_10.2.89_440.33.01_linux.run】
Cudnn官网下载cudnn8【cudnn-11.0-linux-ppc64le-v8.0.3.33.tgz】 -
卸载
sudo /usr/local/cuda-10.2/bin/cuda-uninstaller 卸载驱动 sudo apt-get purge nvidia* sudo apt-get autoremove sudo reboot
-
安装驱动
sudo sh ./NVIDIA-Linux-x86_64-450.57.run
根据提示选择一路确定就行,若存在如下问题:
An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel...
先关闭GPU线程和驱动
sudo -i systemctl isolate multi-user.target modprobe -r nvidia-drm
再安装驱动即可
-
安装cuda11
sudo sh ./cuda_11.0.2_450.51.05_linux.run
须知1:accept
Do you accept the above EULA? (accept/decline/quit):须知2:去掉驱动选项,Install即可
须知3:配置.bashrc系统变量export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
-
安装cudnn8
解压cudnn-11.0-linux-ppc64le-v8.0.3.33.tgz为cuda目录,配置.bashrc系统变量即可
export CPLUS_INCLUDE_PATH=/usr/local/cuda-11.0/targets/x86_64-linux/include:/home/~~yourpath~~ /cuda/include export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/~~yourpath~~/cuda/lib64
2 TensorRT
-
安装
TensorRT安装见Ubuntu1804+CUDA10.0安装TensorRT7 -
配置.bashrc系统变量
export C_INCLUDE_PATH=/home/~~yourpath~~/TensorRT- 7.1.3.4/include export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/~~yourpath~~/TensorRT- 7.1.3.4/lib:/home/~~yourpath~~/TensorRT-7.1.3.4/lib/libnvinfer.so.7:/home/~~yourpath~~/TensorRT-7.1.3.4/lib/libnvonnxparser.so.7:/home/~~yourpath~~/TensorRT-7.1.3.4/lib/libnvinfer_plugin.so.7
3 Opencv3
- 编译安装
opencv3编译安装见opencv安装 - cuda11与opencv3兼容问题
再cmake-gui configure过程中出现下述问题,相关资料显示这可能是cuda11对opencv一些库不再支持,而opencv并没有更新makefile
解决思路1:暴力的去掉WITH_CUDA选项(笔者验证可行)
解决思路2:修改opencv的CMakelist(笔者没有验证成功)
参考:https://blog.csdn.net/TH_NUM/article/details/87354065