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:

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.xdnf.cn/news/17979.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于树莓派的边缘端 AI 目标检测、目标跟踪、姿态估计 视频分析推理 加速方案:Hailo with ultralytics YOLOv8 YOLOv11

文件大纲 加速原理硬件安装软件安装基本设置系统升级docker 方案Demo 测试目标检测姿态估计视频分析参考文献前序树莓派文章hailo加速原理 Hailo 发布的 Raspberry Pi AI kit 加速原理,有几篇文章介绍的不错 https://ubuntu.com/blog/hackers-guide-to-the-raspberry-pi-ai-ki…

网络工程实验一:静态路由的配置

#实验仅供参考,勿直接粘贴复制,用以学习交流# 1、实验目的: 熟悉eNSP网络仿真工具平台。 掌握静态路由配置方法。 能够配置路由器接口地址。 2、实验内容: 2.1、安装对应的软件: (1)Virtual …

基于java的宠物用品交易平台

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…

华为VPN技术

1.启动设备 2.配置IP地址 [FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip add 192.168.1.254 24 [FW1-GigabitEthernet1/0/0]int g1/0/1 [FW1-GigabitEthernet1/0/1]ip add 100.1.1.1 24 [FW1-GigabitEthernet1/0/1]service-manage ping permit [FW2]int g1/0/0 [FW2-Gi…

鸿蒙进阶篇-数组常用方法(一)

大家好,这里是鸿蒙开天组,今天咱们来学习一下数组的常用方法。 数组在编程中是非常常见的数据类型,毕竟需要用到的场合太多了,所以我们今天来使劲学习一下常用方法,在这里也没法一一列全,但是大家也可以根…

整数唯一分解定理

整数唯一分解定理,也称为算术基本定理,是由德国数学家高斯在其著作《算术研究》中首次提出的。本文回顾整数唯一分解定理以及对应的几个重要结论。 一、整数唯一分解定理 整数唯一分解定理,也称为算术基本定理,是数论中的一个重…

对Pod做一个详细了解

文章目录 01创建一个pod02删除pod03镜像拉取策略04pod的标签05pod资源限制方法06pod的重启策略 07pod中运行多个容器08对pod内的容器执行命令09 验证多个pod中多个容器网络共享10 pod的创建流程和调度的约束方式pod的声明周期介绍pod 的健康检查健康检查的方式probe的探测方式案…

LinkedHashMap实现LRU

LRU 环境:JDK11 最近接触LRU(Least Recently Used),即最近最少使用,也称淘汰算法,在JDK中LinkedHashMap有相关实现 LRU的LinkedHashMap实现 LinkedHashMap继承HashMap。所以内存的存储结构和HashMap一样,但是LinkedH…

基于rk356x u-boot版本功能分析及编译相关(三)Makefile分析

🎏技术驱动源于热爱,祝各位学有所成。 文章目录 一、Makefile简要概述二、简要流程图三、Makefile文件具体分析大家好哈,这次因工作比较忙,文章更新拖的有些久了。哈哈,话不多说,咱们接着上次继续说u-boot的Makefile。 一、Makefile简要概述 一般要了解u-boot源码的编译…

shell(1)脚本创建执行与变量使用

shell(1)脚本创建执行与变量使用 声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流&…

第5章总体设计-5.4 硬件可行性分析

5.4 硬件可行性分析 5.4.1 硬件方案评估1. 框式产品硬件可行性分析(1)机框设计可行性。(2)单板设计可行性。(3)核心功能器件选型。(4)数据流。 2. 盒式产品硬件可行性分析3. 终端产品…

TOIS24|推荐公平性的反事实解释

论文:https://arxiv.org/pdf/2307.04386 代码:https://anonymous.4open.science/r/CFairER-anony/. 关键词:可解释推荐;公平;反事实的解释;强化学习 1 动机 现有推荐系统存在的公平性问题,例如性别歧视和种族偏见等,…

week 3 - Assembly Language

Important Instructions and Syntax 此内容是以MASM编写的,你将使用Visual C/C内联汇编来编程,因此数据元素的声明有所不同,但概念和指令集(instruction sets)相同。 一、General-Purpose Registers 寄存器是CPU内的命名存储单元…

6.C操作符详解,深入探索操作符与字符串处理

C操作符详解,深入探索操作符与字符串处理 C语言往期系列文章目录 往期回顾: C语言是什么?编程界的‘常青树’,它的辉煌你不可不知VS 2022 社区版C语言的安装教程,不要再卡在下载0B/s啦C语言入门:解锁基础…

校园导航系统

关于数据结构的一个整理: 1、链式有序表的合并 2、栈 3、队列 4、二叉树、哈夫曼报文 5、图论 6、十大排序 7、校园导航系统 文章目录 校园导航系统演示示例代码示例1、弧结点和顶点节点2、Map节点3、用户 校园导航系统 采用C语言涉及了数据库相关的操作&am…

食品进出库库存管理发货开单软件下载 佳易王食品进出库管理系统操作教程

一、概述 【软件资源下载在文章最后】 食品进出库库存管理发货开单软件下载 食品进出库管理系统操作教程 商品进出库管理软件是一款操作简便的进出库管理软件,管理入库,出库,库存,同时打印发货单。 二、软件操作教程 第一步&a…

C++和OpenGL实现3D游戏编程【连载18】——加载OBJ三维模型

1、本节课要实现的内容 以前我们加载过立方体木箱,立方体的顶点数据都是在程序运行时临时定义的。但后期如果模型数量增多,模型逐步复杂,我们就必须加载外部模型文件。这节课我们就先了解一下加载OBJ模型文件的方法,这样可以让编程和设计进行分工合作,极大丰富我们游戏效…

二刷代码随想录第四天

24. 两两交换链表中的节点 设置个虚拟头节点画图理清楚节点之间的指向关系 class Solution { public:ListNode* swapPairs(ListNode* head) {ListNode* dummyHead new ListNode(0);dummyHead->next head;ListNode* cur dummyHead;while (cur->next ! nullptr &&…

【Linux】proc 文件系统详解

/proc 文件系统是 Linux 内核提供的一种特殊的文件系统,它主要用于显示内核和进程的信息。/proc 文件系统是一个虚拟文件系统,这意味着它并不占用实际的磁盘空间,而是由内核动态生成的内容。通过 /proc 文件系统,用户可以读取系统…

Linux文件系统

Linux文件系统 Linux 文件系统是 Linux 操作系统中用于存储和组织文件的结构。以下是一些关键概念和常见的 Linux 文件系统类型: 关键概念 文件系统层次结构:Linux 使用统一的文件系统层次结构,所有文件和目录都从根目录 / 开始。 目录结构…