Ubuntu22.04 下配置CUDA、cudnn和TensorRT环境

        前段时间在Ubuntu18下配置了CUDA、cudnn和TensorRT环境,后来又安装了ros2。Ubuntu18.04对应的ROS2版本为dashing,已经停止维护,使用过程中发现dashing好多命令都不支持,所以就干脆将系统升级为Ubuntu20,所以有配置了一遍环境。

        一开始,在Ubuntu20系统上安装完cuda11.3和cudnn8.2.1后(虽然cuda和cudnn版本和Ubuntu版本不对应,但也能用18.04的版本安装),安装tensorRT遇到一些问题,主要是因为Ubuntu版本太新导致的,所以从新安装了别的版本的cuda和cudnn,如下表所示。 

cuda        cudnn tensorRT
cuda_11.7.0_515.43.04_linux.run cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz TensorRT-8.4.3.1.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz

目录

安装驱动 

安装cuda

安装cudnn

安装tensorRT

安装pytorch

安装过程中的一些错误

参考


安装驱动 

         先查看显卡硬件型号,再安装推荐的驱动

ubuntu-drivers devices
sudo ubuntu-drivers autoinstall

        安装完成后重启。 

安装cuda

        在官网下载离线cuda安装包。目前只有cuda11.7支持Ubuntu22.04。我是在windows系统上把上表的三个离线包下好后,放到Ubuntu系统下安装的。进入cuda安装包的目录,安装cuda:

sudo sh cuda_11.7.0_515.43.04_linux.run

        按照提示操作,先输入 accept ,由于已经装了NVIDIA驱动,所以在选择是否安装 nvidia 驱动时把该选项反选,选择install开始安装,安装完成后重启。然后配置cuda的环境变量,打开配置文件~/.bashrc,在文件最后添加:

export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH

安装cudnn

         在官网下载下载与cuda11.7对应的cudnn压缩包(for 11.x)。解压缩:

tar -xvf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz

解压后,再将解压后的文件拷如cuda安装目录:

cp cuda/lib/* /usr/local/cuda-11.7/lib64/
cp cuda/include/* /usr/local/cuda-11.7/include/

然后,使用下面命令查看cuDNN版本信息:

cat /usr/local/cuda-11.7/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

安装tensorRT

        在官网下载下载与cuda11.7对应的tensorRT压缩包,然后解压。

tar -xvf TensorRT-8.4.3.1.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz

配置tensorRT环境变量,在文件~/.bashrc最后添加:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/bao/Softwares/TensorRT-8.4.3.1/lib
source ~/.bashrc

测试是否安装成功 

cd TensorRT-8.4.3.1/samples/sampleMNIST
make -j4
TensorRT-8.4.3.1/bin/sample_mnist

执行成功就表示安装成功。

进入TensorRT目录TensorRT-8.4.3.1/python,里面有多个版本的python包。我的Python是3.7.10,所以选择37对应的版本安装。

pip install --force-reinstall tensorrt-8.4.3.1-cp37-none-linux_x86_64.whl

安装pytorch

目前pytorch支持cuda 11.6,所以使用的cudatookit是11.6。安装时要注意安装的pytorch是不是gpu版本。也可以下载pytorch离线包。

conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c conda-forge

检查是否安装gpu版本

python
import torch
print(torch.cuda.is_available())

安装过程中的一些错误

1. libnvinfer.so.8: cannot open shared object file: No such file or directory

在动态链接库环境配置/etc/ld.so.conf中添加 TensorRT lib 的路径,

sudo gedit /etc/ld.so.conf

在文件末尾添加一行:

/home/bao/Softwares/TensorRT-8.4.3.1/lib

执行下面命令使系统能够找到新的动态链接库。 

sudo ldconfig

2.  找不见libnvinfer_builder_resource.so.8.4.3

sudo cp ./TensorRT-8.4.3.1/lib/libnvinfer_builder_resource.so.8.4.3 /usr/lib

参考

1. Ubuntu22.04 下安装驱动、CUDA、cudnn以及TensorRT

2. cuda11.7+python3.7+pytorch GPU

你可能感兴趣的:(环境配置,linux,ubuntu)