Ubuntu安装CUDA工具包、cuDNN、TensorRT
简介一下这三个东西:
CUDA:是一种针对支持 CUDA 功能的 GPU(图形处理器)的 C 语言开发环境。
cuDNN:是GPU加速的用于深度神经网络的原语库。cuDNN为标准例程提供了高度优化的实现,例如向前和向后卷积,池化,规范化和激活层。
TensorRT:是nvidia家的一款高性能深度学习推理SDK。此SDK包含深度学习推理优化器和运行环境,可为深度学习推理应用提供低延迟和高吞吐量。在推理过程中,基于TensorRT的应用程序比仅仅使用CPU作为平台的应用程序要快40倍。
### 一、安装CUDA
#### 1.卸载已安装的NVIDIA驱动
安装CUDA工具包时,如果系统中有已安装过的驱动,则会无法顺利安装,所以先看一下系统是否已经安装过NVIDIA驱动
用如下命令进行查看已安装的驱动
```
dpkg -l | grep nvidia
```
如果存在已安装的驱动,用如下命令进行卸载
```
sudo systemctl stop nvidia*
sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get autoremove
sudo rm /etc/X11/xorg.conf
sudo reboot
```
#### 2. 安装CUDA工具包
首先需要得知你的显卡适配什么版本的工具包,打开你的cmd (由于你的驱动已经卸载,ubuntu下之后的命令无法使用,这里建议切换到Windows系统)
```
nvidia-smi
```
会显示你适配的CUDA版本,这里我的系统适配11.6。所以之后的安装包我以11.6为例

进入[NVIDIA官网](https://developer.nvidia.com/cuda-toolkit-archive)下载

选取合适的版本进行下载即可,我这里的命令是
```
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.runsudo sh cuda_11.6.0_510.39.01_linux.run
```
选择accept

选择install

#### 3. 配置环境变量
```
vim ~/.bashrc
```
在最后添加如下两行
```
export PATH=/usr/local/cuda-11.6/bin:LD_LIBRARY_PATH
```
#### 4.验证
最后验证一下是否正确安装
```
nvcc --version
```

### 二、安装cuDNN
#### 1.安装cuDNN包
来到我们的[官网](https://developer.nvidia.com/rdp/cudnn-archive#a-collapse805-111)
选择合适的CUDA版本下载安装包

#### 2. 安装cuDNN
(1)先将安装包解压缩,可以使用Tab键自动补全压缩包名称。(如果下载的是别的类型安装包可以参考[官方文档](https://developer.nvidia.com/nvidia-tensorrt-download))
```
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
```
(2)将cuDNN文件夹下的文件复制到CUDA安装目录下
```
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
```
#### 3.验证
```
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
```

这就OK了
### 三、安装TensorRT
#### 1.安装TensorRT包
来到我们的[下载页面](https://developer.nvidia.com/tensorrt)
这里你先要注册一个账号,具体就不细说了,注册完可以看到这个界面

选择下载与自身系统和CUDA版本适配的包,这里注意要下与自身设备匹配格式的安装,比如我需要的是x86_64,一开始下载了arm格式的,出现了很多问题,浪费了时间。安装包很大,注意一下网络的稳定性。
#### 2.安装TensorRT
```
tar -zxvf TensorRT-8.4.1.5.Ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz
```
移动TensorRT文件夹到/usr/local
```
sudo mv TensorRT-8.6.1.6 /usr/local
```
#### 3.配置环境变量
```
vim ~/.bashrc
```
最后添加一下内容
```
export LD_LIBRARY_PATH=C_INCLUDE_PATH:/usr/local/TensorRT-8.6.1.6/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/TensorRT-8.6.1.6/include
```
#### 4.验证
进入下面命令指定的文件夹
```
cd /usr/local/TensorRT-8.6.1.6/samples/sampleOnnxMNIST/
```
编译
```
sudo make
```

进入bin文件夹,运行刚刚生成的可执行文件
```
cd ../../bin
./sample_onnx_minst
```

这样就算成功了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!