Ubuntu 22.04 英伟达开发环境 CUDA 12.4 | cuDNN 9.0.0 | TensorRT 10.1 版本安装指南

server/2025/1/16 2:54:26/

NVIDIA 驱动安装

前置

笔者近期重整服务器,计划重新安装操作系统并配置新的开发环境。服务器的主要配置如下:

Dell PowerEdge R730
Intel Xeon E5-2630v3 x2
64GB ECC DDR4
NVIDIA GeForce RTX 2080 Ti Rev. A
Ubuntu 22.04.5 LTS x86_64 (No Desktop)
Kernel 5.15.0-130-generic

笔者基于此配置和系统环境做出本篇文档的安装指南。安装完整的 CUDA + cuDNN + TensorRT 需要准备至少 30GB 的磁盘空间。

安装开始前请确保安装了 gccmake

sudo apt update && sudo apt upgrade && sudo apt install gcc make

之后笔者采用并安装下面所示的显卡驱动。

wget https://cn.download.nvidia.com/XFree86/Linux-x86_64/550.142/NVIDIA-Linux-x86_64-550.142.run
sudo chmod a+x ./NVIDIA-Linux-x86_64-550.142.run
sudo ./NVIDIA-Linux-x86_64-550.142.run
sudo reboot

安装完显卡驱动之后,重启系统。

CUDA Toolkit 12.4

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.1-550.54.15-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.1-550.54.15-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4

如果出现 Command ‘nvcc‘ not found,but can be installed with: sudo apt install nvidia-cuda-toolkit 报错,需要手动添加。

先检查 cudnn 是否安装成功,输入下面的指令查看目录,如果存在 nvcc 则证明已经安装,进行下一步。

cd /usr/local/cuda/bin && ls

content in cuda_bin file

之后进入配置文件。

vim ~/.bashrc 

在文档的最后面添加下面的这两行代码,之后保存。

export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin

更新配置。

source ~/.bashrc

再次查看 nvcc 版本,出现如下图的 nvcc 版本。

nvcc -V

nvcc version

cuDNN 9.0.0 for CUDA 12.x

wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-ubuntu2204-9.0.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.0.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2204-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn

输入下面的指令查看 cudnn 版本,出现如下图的提示。

cat /usr/include/x86_64-linux-gnu/cudnn_version_v9.h | grep CUDNN_MAJOR -A 2

cudnn version

TensorRT 10.1

首先需要去 NVIDIA 官网注册一个开发者账号,登录之后访问下面的网址。

https://developer.nvidia.com/tensorrt/download/10x

TensorRT 10.1 版本支持以下几个版本的 CUDA 工具包:

  • 12.4 update 1
  • 12.3 update 2
  • 12.2 update 2
  • 12.1 update 1
  • 12.0 update 1
  • 11.8
  • 11.7 update 1
  • 11.6 update 2
  • 11.5 update 2
  • 11.4 update 4
  • 11.3 update 1
  • 11.2 update 2
  • 11.1 update 1
  • 11.0 update 3

Pytorch 兼容 2.0 及以上版本。

ONNX-TensorRT 支持 opset 20 且官方测试验证 ONNX 1.16.0 版本的稳定性。

更详细的基础文档请访问 NVIDIA TENSORRT DOCUMENTATION 官网

TensorRT 下载界面

访问之后如上图所示,有多种安装方式:RPM, TAR 以及 DEB 格式。这里选择 DEB 格式安装。系统为 Ubuntu 22.04CUDA 版本为 12.4 。选择对应版本下载。完整的下载和安装过程接近 20 分钟。

wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/10.1.0/local_repo/nv-tensorrt-local-repo-ubuntu2204-10.1.0-cuda-12.4_1.0-1_amd64.deb
sudo dpkg -i nv-tensorrt-local-repo-ubuntu2204-10.1.0-cuda-12.4_1.0-1_amd64.deb
sudo cp /var/nv-tensorrt-local-repo-ubuntu2204-10.1.0-cuda-12.4/nv-tensorrt-local-E3A02F15-keyring.gpg /usr/share/keyrings/
sudo apt-get update 
sudo apt-get install tensorrt

验证安装结果,输入下面的指令,看到如下图所示则代表安装成功。

dpkg --list | grep tensorrt

Screenshot 2025-01-09 at 01.37.23

或使用如下的指令验证安装结果,得到如下图的结果则代表正确安装。

dpkg-query -W tensorrt

Screenshot 2025-01-09 at 01.38.03

使用 dpkg 安装时会出现无法使用 trtexec 指令的问题,按照下面的步骤操作即可解决问题。

首先查找安装路径。

find /usr -name trtexec

trt安装路径

之后进入配置文件。

vim ~/.bashrc 

在文档的最后面添加下面的这行代码,之后保存。

export PATH=$PATH:/usr/src/tensorrt/bin${PATH:+:${PATH}}

更新配置。

source ~/.bashrc

问题就得到解决了。

使用 TensorRT 自带的 Sample 验证一下效果,进入下面的目录,按照如下的指令操作,可以看到下图的运行结果。

cd /usr/src/tensorrt/samples/sampleOnnxMNIST
sudo make
cd /usr/src/tensorrt/bin
./sample_onnx_mnist 

TRT Sample Result


http://www.ppmy.cn/server/158438.html

相关文章

【Docker系列】容器内目录显示异常的解决之道

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

2025网络架构

一、园区网络概述。 园区网络典型层次和区域: 核心层:是园区网骨干,是园区数据交换的核心,联接园区网的各个组成部分,如数据中心、管理中心、园区出口等。汇聚层:处于园区网的中间层次,完成数据…

Addrange的用法

效果如下&#xff1a; 附代码&#xff1a; public static void List(){List<int> list new List<int> { 1,3,5};List<int> list2 new List<int> { 2, 4,6 };"\n原始list为&#xff1a;\n".Print();list.ForEach(x>x.Print());//var li…

农业电商|基于SprinBoot+vue的农业电商服务系统(源码+数据库+文档)

农业电商服务系统 目录 基于SprinBootvue的农业电商服务系统 一、前言 二、系统设计 三、系统功能设计 5.1系统功能实现 5.2后台模块实现 5.2.1管理员模块实现 5.2.2商家模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码…

JVM实战—OOM的生产案例

1.每秒仅上百请求的系统为何会OOM(RPC超时时间设置过长导致QPS翻几倍) (1)案例背景 在这个案例中&#xff0c;一个每秒仅仅只有100请求的系统却因频繁OOM而崩溃。这个OOM问题会涉及&#xff1a;Tomcat底层工作原理、Tomcat内核参数的设置、服务请求超时时间。 (2)系统发生OOM的…

汇总统计数据--SQL中聚集函数的使用

目录 1、为什么需要汇总数据 2、聚集函数 &#xff08;1&#xff09;AVG函数 &#xff08;2&#xff09;COUNT函数 &#xff08;3&#xff09;MAX和MIN函数 &#xff08;4&#xff09;SUM函数 3、聚集不同值--DISTINCT 4、组合聚集函数 5、小结 博主用的是mysql8 DBMS…

使用sqlplus的easy connect时如何指定是链接到shared server还是dedicated process

在oracle配置了shared server的情况下 可以使用 :shared来指定链接到shared server也可以默认不指定 不指定的情况下会默认链接到shared server 如果想链接到 dedicated process 则必须显式指定链接到dedicated process server type的类型包括DEDICATED, SHARED, or POOLED. […

计算机视觉算法实战——吸烟人员检测

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​​​​ ​​​​​​​​​​​​ ​​​​​ 1. 领域介绍✨✨ 计算机视觉是人工智能的一个重要分支&#xff0c;旨在通过算法让计算机…