在配置环境的过程中我多次重装系统,我有一个u盘专门做系统盘使用,系统盘的制作以及具体的系统安装过程参考如下。
参考:https://blog.csdn.net/weixin_44623637/article/details/106723462
最近想要复现一篇slam文章SuMa++: Efficient LiDAR-based Semantic SLAMsuma++根据git要求配置环境,环境配置过程复杂,在此以记录。因为本文需要安装tensorrt5,根据安装手册,tensorrt与cuda,cudnn的安装方式保持一致,且经过尝试我的系统在都用deb安装时tensorrt才能正常安装。系统环境配置过程中最重要的是版本的匹配(cuda、驱动、cudnn、tensorrt)
最终系统:Ubuntu 18.04, GeForce RTX 2060, Cuda V10.1.243, Cudnn 7.6.3, Driver 460,
nv-tensorrt-repo-ubuntu1804-cuda10.1-trt5.1.5.0-ga-20190427_1-1_amd64.deb
卸载已有cuda:
本文先装cuda,因为有些cuda在安装时会默认一起安装驱动,如果提前安装驱动可能会导致驱动冲突,在安装完cuda后再确认系统有没有驱动,没有再安装驱动。
1.卸载runfile安装的cuda
cd /usr/local/cuda/bin/
sudo ./uninstall_cuda_10.0.pl
cd /usr/local/
sudo rm -r cuda-10.0/
2.卸载deb方式安装的cuda
sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" \
"*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*"
sudo apt-get remove cuda
sudo rm -r cuda-10.1
确认卸载:终端输入nvidia-smi
,若没有卸载干净我一般重装系统………………
下载cuda10.1的deb安装包CUDA Toolkit 10.1 update2 (Aug 2019), Versioned Online Documentation
按照页面的installer instraction一步步执行
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-1-local-10.1.243-418.87.00/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
第三条语句实际是下载deb包,网速不好的时候可以把链接贴到网址栏手动下载,安装完成之后验证。
3.添加环境变量
sudo gedit ~/.bashrc
export PATH="/usr/local/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda-10.1/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc
nvcc -V
reference
驱动可以向下兼容,所以我安装的系统推荐版本,安装指定版本时,注意最小驱动要求。
cuda与驱动的版本对应关系
安装过程:
1.检查自己电脑的gpu是否CUDA-capable
lspci | grep -i nvidia
#没有lspci就安装
apt install pciutils
2.禁用nouveau并重启(安装Nvidia显卡的官方驱动和系统自带的nouveau驱动冲突)
lsmod | grep nouveau
#没有lsmod就安装
apt install module-init-tools
打开禁用列表
sudo gedit /etc/modprobe.d/blacklist.conf
在打开文本的最后一行添加
blacklist nouveau
options nouveau modeset=0
更新并重启,再次查看是否禁用nouveau
sudo update-initramfs -u
reboot
lsmod | grep nouveau
若没有输出则正常禁用
3.安装编译工具gcc与安装驱动
sudo apt install build-essential
删除旧的nvidia驱动
$sudo apt-get remove nvidia-*
更新软件仓库
~$ sudo apt-get update
使用下面的命令查看系统推荐安装驱动
ubuntu-drivers devices
带recommand字样的就是推荐驱动,我的系统推荐驱动是460。nvidia-460安装步骤如下。
$ sudo apt-get install nvidia-settings nvidia-driver-460 nvidia-prime
$ sudo ubuntu-drivers autoinstall
4.安装双显卡切换指示器
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator
sudo reboot
新启动后会在右上角看到一个显卡指示器,默认情况下是Nvidia图标,说明现在使用的是N卡,点击这个图标选择"Quick switch graphics…",按下确认后会自动重启桌面,此时就会切换到Intel显卡了,图标也变成了Intel。
大家可以尝试着在两个显卡之间切换,并使用下面的命令查看是否切换成功,然后测试其性能
切换到Intel卡后,查看N卡是否关闭,如果N卡末尾是(rev ff),则表示成功关闭了N卡,现在使用的是I卡,如果末尾不是ff,则说明现在使用的是N卡
~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation .... (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation .... (rev ff)
5.验证驱动安装
nvidia-smi
在终端运行以下命令,出现Result = PASS则表示安装成功通过!!
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
以上cuda10.1与驱动460安装成功
reference
https://developer.nvidia.com/rdp/cudnn-download下载对应cudnn的deb压缩包一共三个,并安装,需要注册账号。
sudo dpkg -i libcudnn7_7.6.3.30-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.3.30-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.3.30-1+cuda10.1_amd64.deb
验证:
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
去官网下载对应deb安装包https://developer.nvidia.com/nvidia-tensorrt-5x-download,本文安装版本为tensorrt5.1.5.0
根据官网安装指南安装install guide
sudo dpkg -i nv-tensorrt-repo-ubuntu1x04-cudax.x-trt5.x.x.x-ga-yyyymmdd_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-cudax.x-trt5.x.x.x-ga-yyyymmdd/7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt
If using Python 2.7:
$ sudo apt-get install python-libnvinfer-dev
The following additional packages will be installed:
python-libnvinfer
If using Python 3.x:
$ sudo apt-get install python3-libnvinfer-dev
The following additional packages will be installed:
python3-libnvinfer
If you plan to use TensorRT with TensorFlow:
$ sudo apt-get install uff-converter-tf
The graphsurgeon-tf package will also be installed with the above command.
验证与sampleMNIST测试
dpkg -l | grep TensorRT
sampleMNIST测试
在usr/src目录下把 tensorrt 文件夹拷贝到用户目录下,执行以下命令运行测试案例
$ cd TensorRT-XXX/samples/sampleMNIST
$ make clean
$ make
$ cd /TensorRT-XXX/bin(转到bin目录下面,make后的可执行文件在此目录下)
$ ./sample_mnist