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下。【我没有报反正】

相关推荐
Nazi633 分钟前
sealos部署k8s
运维·kubernetes·k8s
白鹭1 小时前
MySQL主从复制进阶(GTID复制,半同步复制)
linux·运维·数据库·mysql·集群
叫我Zoe就行1 小时前
MySQL集群——主从复制
linux·数据库·学习·mysql
博语小屋1 小时前
进程控制之进程等待
linux
Dobby_051 小时前
【Linux】网络安全管理:SELinux 和 防火墙联合使用 | Redhat
linux·运维·云原生·防火墙·selinux
davenian2 小时前
< 自用文 OS 有关 > (续)发现正在被攻击 后的自救 Fail2ban + IPset + UFW 工作流程详解
ubuntu·bash·fail2ban·ipset
cetcht88882 小时前
安徽某能源企业积极推进运维智能化转型,引入高压配电房机器人巡检系统
运维·人工智能·物联网·机器人·能源
wheeldown2 小时前
【Linux】Linux进程状态和僵尸进程:一篇看懂“进程在忙啥”
linux·运维·服务器·进程
jzwalliser2 小时前
关于Linux生态的补充
linux·语言暴力
半桔2 小时前
【Linux手册】动静态库:从原理到制作
linux·运维·服务器·动态库