ubuntu安装cuda、cudnn和TensoRT【分步安装】

我说实话,这个环境安装真的要了老命,太tm恶心了。

因为遇到了很多问题,非常之恶心

问题一:版本对应

问题二:下载具慢

问题三:上NVIDIA有时候上不去

问题四:找到对应版本点不了

问题五:我人麻了

那就来吧,一个一个来,首先先看看驱动,驱动都装不上的小菜们可以劝退了

本机配置:ubuntu20.04、显卡是3060

第一步:查CUDA最高支持版本【命令:nvidia-smi】

我的的驱动最高支持11.7的CUDA版本,所有后面我下载cuda不能高于11.7,【我选择下载cuda11.3】

第二步:下载CUDA【其实是下载cuda Toolkit,我之前有篇文章有写】

对应链接:https://developer.nvidia.com/cuda-toolkit-archive,找到相应的版本,我选择【cuda11.3】

然后选择你对应的系统,然后按照它给的命令一步步来就可以了。当然我这里提供一下,我之前下载好了的,放百度网盘了,需要自取吧【因为这斯有时候要用魔法才能去】

然后安装一下nvcc【命令:sudo apt install nvidia-cuda-toolkit】,查看cuda版本【这逼下载的巨慢,建议换源,换源在我上篇文章有写-->换源

有些小菜说要设置环境变量,我没有!设置!环境!变量!

第三步,下载cudnn【这个我搞了好久好久,安装包下不下来,惨啊】

来到官网:下载CUDNN

然后你会得到下面的界面

直接点下面这个链接吧:https://developer.nvidia.com/cudnn-downloads?target_os=Linux&target_arch=x86_64&Distribution=Debian&target_version=12&target_type=deb_local

然后我是这样选的

这里我觉得主要函数看你的版本能不能对应哈,如果你的cuda也是11.3,那我和一样没毛病,这里大家如果觉得找不到,那就多找几个看看

下载完之后

命令1:

bash 复制代码
tar -xf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz

命令2:

bash 复制代码
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/include/* /usr/local/cuda-11.8/include

命令3:

bash 复制代码
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64

命令4:

bash 复制代码
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.3/lib64/libcudnn*

别问为啥,大家都是小菜

测试是否安装好

bash 复制代码
cat /usr/local/cuda-11.3/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

第四步,下载TensorRT

查看对应版本,我直接给链接吧

Documentation Archives :: NVIDIA Deep Learning TensorRT Documentation

② 点进去

③ 再点进去

说明TensorRT:8.0.3是ok的,那就下载呗,下载链接:Log in | NVIDIA Developer

然后点进去之后

下载完之后,用下面的命令【-i 后面换成你自己的安装包名,不要傻傻直接复制哈】

bash 复制代码
dpkg -i nv-tensorrt-local-repo-ubuntu2004-8.5.3-cuda-11.8_1.0-1_amd64.deb

② 这一步我没有执行,如果你可以执行,那你就去执行,没有可以先跳过

bash 复制代码
 cp /var/nv-tensorrt-local-repo-${os}-${tag}/*-keyring.gpg /usr/share/keyrings/

bash 复制代码
sudo apt-get update
sudo apt-get install tensorrt

④ 检测是否安装成功

bash 复制代码
dpkg -l | grep TensorRT

这里就ok了

如果遇到unmet dependencies的问题, 一般是cuda cudnn没有安装好。TensorRT的INCLUDE 路径是 /usr/include/x86_64-linux-gnu/, LIB路径是/usr/lib/x86_64-linux-gnu/,Sample code在/usr/src/tensorrt/samples, trtexec/usr/src/tensorrt/bin下。【我没有报反正】

相关推荐
AOwhisky2 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
c238563 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白663 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
2401_834636993 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
aosky4 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
云登指纹浏览器5 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz5 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
凡人叶枫5 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan6 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
信创工程师-小杨6 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器