Ubuntu22.04 安装TensorRT教程
1.安装NVIDIA驱动
1.1查看驱动与显卡型号
打开命令行,输入以下命令:
nvidia-smi
若出现以下信息则说明没有安装nvidia驱动。
首先查看自己的显卡型号:
lspci | grep NVIDIA
我对应的显卡型号如下,对应的是4060 Laptop型号
并在该链接中,下载与自己显卡型号匹配的驱动程序:NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA
1.2 安装驱动的准备
1.2.1 禁用nouveau
打开禁用配置文件
sudo vim /etc/modprobe.d/blacklist.conf
按 i 进入插入模式,并在最后一行插入:
blacklist nouveau
按esc退回命令行模式,按shfit + : 进入末行模式,输入 :wq 回车退出。
修改完成之后更新以下文件配置:
sudo update-initramfs -u
执行完毕需要进行电脑重启,重启电脑之后,命令行输入以下命令:
lsmod | grep nouveau
没有输出则表示禁用成功。
1.2.2 BIOS禁用 secure boot
根据电脑的品牌的不同,进入到bios模式中,将secure boot 设置为disable
1.3 NVIDIA驱动安装
给刚才下载的驱动程序加上可执行权限
sudo chmod a+x ./NVIDIA-Linux-xxxxxxxxxx.run // 文件名因下载的驱动程序区别而不同
接下来执行该驱动程序
sudo sh ./NVIDIA-Linux-xxxxxxxxxxxxxxxx.run
根据提示安装即可,过程中若提示进入纯命令行模式安装的话,可不予理会。
1.4 NVIDIA驱动安装验证
输入
nvidia -smi
出现以下内容,即视为安装成功:
2. 安装CUDA和cudnn、cudaToolkit
2.1cuda、cudnn、cudaToolkit的检查和理论支持
2.1.1 检查cuda和cudnn、cudaToolkit 是否存在
若出现以下输出,则说明系统中没有cuda
2.1.2cuda的理论与安装步骤
理论:
- 定义: CUDA 驱动程序是 NVIDIA 显卡驱动程序的一部分,负责管理 GPU 的硬件资源,并为运行 CUDA 程序提供支持。
- 作用: 驱动程序与 GPU 硬件直接交互,确保应用程序可以利用 GPU 进行并行计算。CUDA 驱动程序负责在 GPU 上执行 CUDA 内核,并为 CUDA 程序提供运行时支持。
- 关系: CUDA 驱动程序支持一定范围内的 CUDA Toolkit 版本。例如,较新的驱动程序通常能够向后兼容较老的 CUDA Toolkit 版本。
安装步骤:
1. 查看nvida驱动支持的最大的CUDA版本号。如1.4中,我的最大版本号为:12.2。
2. 进入官网下载对应的cuda安装包(可低于最大版本号)。
3.安装后修改环境变量,可让系统找到cuda的头文件以及nvcc编译器。
2.1.3cudaToolKit的理论与安装
cudnn的安装更加简单,因为我们一般是在编程的时候引用cudnn中的库文件。
理论:
- 定义: CUDA Toolkit 是为开发人员提供的一套工具包,包含开发、编译、调试、优化和运行 CUDA 程序所需的所有工具和库。
- 内容: CUDA Toolkit 包含,nvcc 编译器: 将 CUDA C/C++ 代码编译为 GPU 可以执行的代码。CUDA 库: 例如 cuBLAS(线性代数库)、cuDNN(深度学习库)等,用于简化 GPU 编程。工具: 如 cuda-gdb(调试器)、nsight(性能分析工具)等。
- 作用: CUDA Toolkit 是开发 CUDA 应用程序的必要工具,开发人员使用它来编写、编译和优化 CUDA 程序。
安装步骤:
安装cuda后,cudatoolkit就会包括在里面。
2.1.4 cudnn的理论与安装
2.2 cuda的下载与安装
转到cuda的官网:CUDA Toolkit Archive | NVIDIA Developer
2.2.1选择版本
虽然我支持的最高cuda版本是12.2,但我选择了12.1版本的cuda进行了安装了。
根据自己的系统选择:我的选择linux、x86_64、Ubuntu、22.04。
Installer Type:runfile(local)
2.2.2 cuda的正式安装
在安装之前需要安装一些依赖项,防止cuda在安装过程中出错:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
根据cuda官网的提示下载cuda的.run文件,并在下载的目录下执行如下指令运行.run文件。
sudo sh cuda_12.1.1_530.30.02_linux.run // 注意此处为自己安装的cuda程序名
打开后如图所是:
输入accept之后,进入安装选项,不要勾选NVIDIA driver因为我们之前已经安装过了。
这是安装完成后的信息,因为没有安装驱动,这里会有一个WARNING。
2.2.3 cuda的环境变量配置
打开配置文件
vim ~/.bashrc
按 i 切换到插入模式,在文件的末尾插入以下三行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64
export PATH=$PATH:/usr/local/cuda-12.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.1
这里的路径名需要根据安装时的具体名称来更改,可以在本地的路径下查看具体的名称:
使用以下命令更新你的环境变量:
source ~/.bashrc
验证环境变量是否配置成功:
nvcc -V
出现以下信息,说明cuda12.1的安装已经完成了。
2.3 cudnn的下载与安装
转到cudnn的官网下载链接:cuDNN Archive | NVIDIA Developer
***注意***:下载的cudnn版本一定要与cuda的版本匹配。
在其中选择和自己的cuda版本对应的cudnn
选择当前系统对应的压缩包文件进行下载,并使用以下命令解压:
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
解压之后将对应的头文件和.so动态库文件全部拷贝到安装的cuda中
sudo cp include/cudnn* /usr/local/cuda-12.1/include
sudo cp lib/libcudnn* /usr/local/cuda-12.1/lib64
//打印cudnn版本信息
cat /usr/local/cuda-12.1/include/cudnn.h | grep CUDNN_MAJOR -A 2
// 如果无显示,可能是版本信息被移动到cudnn_version.h中了
cat /usr/local/cuda-12.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
出现以下消息,说明安装成功。
3.TensorRT的安装
3.1 安装包选择与下载
首先进入官网:Log in | NVIDIA Developer,选择对应的cuda版本的安装包进行下载。
(建议选择较新的TensorRT的版本),如图所示,本次安装的是10.8版本的tar Package。
尽量下载tar,因为deb的安装包在使用dpkg的过程中可能会有很多坑。
3.2解压安装与环境变量配置
利用解压命令解压到指定文件夹:
sudo tar -xzvf TensorRT-10.8.0.43.Linux.x86_64-gnu.cuda-12.8.tar.gz -C /usr/local
在~/.bashrc中添加环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-10.8.0.43/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/TensorRT-10.8.0.43/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/TensorRT-10.8.0.43/include
重启环境变量使其生效:
source ~./bashrc
3.3 验证TensorRT安装是否正确
使用指令进入到TensorRT提供的sample中:
cd /usr/local/TensorRT-10.8.0.43/samples/sampleOnnxMNIST
使用make重新编译当前sample
sudo make
根据最后一行的提示,可执行文件在此路径下:
跳转到可执行文件的路径下,执行之后,得到以下结果:
到此,说明TensorRT的安装就圆满完成了!!!
本文地址:https://www.vps345.com/10379.html