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

devtools/2024/11/20 19:17:06/

我说实话,这个环境安装真的要了老命,太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:

tar -xf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz

命令2:

sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/include/* /usr/local/cuda-11.8/include

命令3:

sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64

命令4:

sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.3/lib64/libcudnn*

别问为啥,大家都是小菜

测试是否安装好

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 后面换成你自己的安装包名,不要傻傻直接复制哈】

① 

dpkg -i nv-tensorrt-local-repo-ubuntu2004-8.5.3-cuda-11.8_1.0-1_amd64.deb

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

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

③ 

sudo apt-get update
sudo apt-get install tensorrt

④ 检测是否安装成功

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


http://www.ppmy.cn/devtools/135559.html

相关文章

在 Ubuntu 上使用 Traefik Proxy 为 Docker 容器设置反向代理

简介 Traefik(发音为"traffic")是一个开源的反向代理和负载均衡器。它为微服务架构提供了网络入口,特别是在动态、服务密集的环境中(如容器、微服务架构)。由于其设计灵活且易于实施,Traefik 成…

EMall实践DDD模拟电商系统总结

目录 一、事件风暴 二、系统用例 三、领域上下文 四、架构设计 (一)六边形架构 (二)系统分层 五、系统实现 (一)项目结构 (二)提交订单功能实现 (三&#xff0…

flex布局样式 类名化scss(sass)

sass 和less 语法有差异需要转化一下 $directionList: row, row-reverse, column, column-reverse; $justifyContentList: flex-start, flex-end, center, space-between, space-around, space-evenly; $alignItemsList: flex-start, flex-end, center, baseline, stretch;mixi…

数据挖掘英语及概念

分类 classify 上涨或跌 回归 regression 描述具体数值 分类模型评估 1.混淆(误差)矩阵 confusion matrix 2.ROC曲线 receiver operating characteristic curve 接收者操作特征曲线 3.AUC面积 area under curve ROC曲线下与坐标轴围成的面积&#x…

安宝特分享 | 如何利用AR技术革新医疗实践:从远程急救到多学科协作

AR技术在国内外医院的应用 在现代医疗环境中,患者面临的挑战依然严峻:看病难、看病远、看病急。这些问题不仅影响了患者的治疗效果,也让医务工作者倍感压力。幸运的是,随着增强现实(AR)技术的发展&#xf…

【NodeJS】Node.js是什么?能做什么?

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 中级 🙉八股文专题:剑指大厂,手撕 J…

HarmonyOs鸿蒙开发实战(10)=>状态管理-对象数组的属性数据变更刷新UI,基于@Observed 和@ObjectLink装饰器

1.条件:基于HarmonyOs5.0.0版本. 2.功能要求:横向列表中每个景点的名称(eg: 第二项 “灵隐寺” ), 在通过天气接口拿到对应天气后,拼接到名称后面 > 变成(“灵隐寺” 天气)) 3.老规矩先看…

Spring Boot 整合 Minio

一、导入依赖 <!-- MinIO 客户端 --> <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.7</version> </dependency><!-- OkHttp 是一个高效的网络库 --> <dependency>…