Ubuntu 22.04 安装tensorrt

环境:ubuntu22.04

显卡:NVIDIA 1080

此前操作系统没有安装过显卡相关驱动和工具包。

没有使用deb安装包安装:原因是安装的时候校验版本一直安装不上,故使用tar手动配置。

如何是其他的显卡应该可以使用deb安装包,按照官方的操作步骤安装即可。

1. 基础安装

首先执行 nvidia-smi ,提示没有相关命令,并给出几个安装的建议,我安装的是535的那一个(不是带server的)。(个人安装的较老,可以根据自己的需求选择版本)

然后使用nvidia-smi 此时在终端有显卡的相关信息。

查看显卡cuda版本

bash 复制代码
nvcc --version
# 没有使用下面指令安装
sudo apt install nvidia-cuda-toolkit -y

安装的为11.5:

bash 复制代码
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0

如果能够正常显示,此时cuda的基本环境安装完成了,下面是开发工具的安装。

2.cudnn

安装tensorRT之前,还需要安装cudnn。

从下面链接中选择和章节1中对应的版本(版本不同安装之后会有问题)。

cuDNN Archive | NVIDIA Developer

下载tar压缩包,下载的是:

cudnn-linux-x86_64-8.3.1.22_cuda11.5-archive.tar.xz,cuda11.5,11.5是对应的版本号。

然后执行下面的指令:

bash 复制代码
tar xvf cudnn-linux-x86_64-8.3.1.22_cuda11.5-archive.tar.xz
cd cudnn-linux-x86_64-8.3.1.22_cuda11.5-archive
# 创建文件夹
sudo mkdir -p /usr/local/cuda-11.5/include/
sudo mkdir -p /usr/local/cuda-11.5/lib64/

# 复制头文件到CUDA的include目录
sudo cp include/cudnn*.h /usr/local/cuda-11.5/include/

# 复制库文件到CUDA的lib64目录
sudo cp lib/libcudnn* /usr/local/cuda-11.5/lib64/

# 设置文件权限
sudo chmod a+r /usr/local/cuda-11.5/include/cudnn*.h 
sudo chmod a+r /usr/local/cuda-11.5/lib64/libcudnn*

# 检查是否存在cuDNN库
ls /usr/local/cuda-11.5/lib64/libcudnn.so*

到此cudnn安装完成。(路径配置在3章节的步骤3)

3.安装tensorRT

步骤1:注册账号并下载安装包

tensorRT的安装需要注册nvidia账号,根据提示安装即可。

Log in | NVIDIA Developer

然后下载tensorRT版本,下载为:

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

本来想下载11.5的,没有找到,下载了11.6的,该版本根据官方解释也支持11.5。

步骤2:解压并将包移动到系统目录下

下载完成后执行下面的指令:

bash 复制代码
tar xvf TensorRT-8.4.1.5.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz
sudo mv TensorRT-8.4.1.5 /usr/local/

步骤3:环境配置

bash 复制代码
vim ~/.bashrc

# 添加下面的内容并保存
export CUDA_HOME=/usr/local/cuda-11.5
export TENSORRT_DIR=/usr/local/TensorRT-8.4.1.5
export LD_LIBRARY_PATH=$TENSORRT_DIR/lib:$CUDA_HOME/lib64:$LD_LIBRARY_PATH 
export PATH=$CUDA_HOME/bin:$TENSORRT_DIR/bin:$PATH

# 更新
source ~/.bashrc

# 验证
trtexec # 此时指令已生效,应该在终端输出命令的相关参数

注意:如果是需要使用python接口,还需要执行以下命令:

我的python版本是3.8,安装以下版本的whl包。

bash 复制代码
cd /usr/local/TensorRT-8.4.1.5/python
pip install tensorrt-8.4.1.5-cp38-none-linux_x86_64.whl

#Processing ./tensorrt-8.4.1.5-cp38-none-linux_x86_64.whl
#Installing collected packages: tensorrt
#  Attempting uninstall: tensorrt
#    Found existing installation: tensorrt 10.13.2.6
#    Uninstalling tensorrt-10.13.2.6:
#      Successfully uninstalled tensorrt-10.13.2.6
#Successfully installed tensorrt-8.4.1.5
相关推荐
SPC的存折16 小时前
10、Docker容器故障排查
linux·运维·数据库·docker·容器
liuyunshengsir16 小时前
linux 下新增用户后无法使用TAB补全功能的最佳解决方法
linux·运维·服务器
书生执笔画浮沉17 小时前
rpmrebuild
linux·centos·rpm
乌托邦的逃亡者18 小时前
Dockerfile的配置和使用
linux·运维·docker·容器
小此方18 小时前
Re:Linux系统篇(三)指令篇 · 二:十二个高频指令精讲+重定向操作+“一切皆文件“深入理解
linux·运维·服务器
十五年专注C++开发18 小时前
MobaXterm:Windows 远程工作全能工具箱
linux·windows·mobaxterm
wohehe18 小时前
Android项目工程化-Github Actions
linux·github
REDcker19 小时前
Linux disown命令详解 后台作业脱管与终端退出
linux·运维·chrome
cyber_两只龙宝19 小时前
【Oracle】Oracle之SQL的转换函数和条件表达式
linux·运维·数据库·sql·云原生·oracle
努力努力再努力wz20 小时前
【Linux网络系列】深入理解 I/O 多路复用:从 select 痛点到 poll 高并发服务器落地,基于 Poll、智能指针与非阻塞 I/O与线程池手写一个高性能 HTTP 服务器!(附源码)
java·linux·运维·服务器·c语言·c++·python