Ubuntu安装CUDA cuDNN TensorRT

2023-05-16

CUDA cuDNN TensorRT安装

0.前言

CUDA:用于 GPU 的一组驱动程序,它让 GPU 能够运行底层编程语言来进行并行计算。

cuDNN:用于深度学习的高度优化的原语库。使用 cuDNN 并在 GPU 上运行时,通常可以将模型的训练速度提高 50% 到 100%。

1.安装包下载

windows、ubuntu均采用离线安装包安装,Windows离线安装包为“.exe”后缀格式,Ubuntu离线安装包为“.run”后缀格式,请注意不要下载错误。

注意各个版本之间的对应关系,本安装实例以CUDA11.0, cuDNN8.0,TensorRT7.2为例配置CUDA生态环境。

1.1 CUDA安装包下载

CUDA下载链接为:cuda-toolkit-archive,选择CUDA11.0

Windows如下选择,注意选择离线安装包,即可下载,推荐使用IDM全速下载

在这里插入图片描述

Ubuntu如下选择,注意选择离线安装包,即可下载

在这里插入图片描述

1.2 cuDNN安装包下载

cuDNN下载链接为:cudnn-archive。

注意CUDA版本选择cudnn,此处选择Download cuDNN v8.0.4 (September 28th, 2020), for CUDA 11.0,对应CUDA11.0。

分别下载Windows和Linux cuDNN安装包。

1.3 TensorRT安装包下载

TensorRT下载链接为:TensorRT,

注意下载版本和CUDA11.0, cuDNN版本对应,区分Windows和Ubuntu版本。

在这里插入图片描述

2.安装

2.0 NVIDIA驱动安装

  • 更新软件源及安装部分依赖
sudo apt-get update   #更新软件列表
sudo apt-get install g++ gcc make
  • 查看GPU型号
lspci | grep -i nvidia
  • 官网下载驱动

  • 卸载原有驱动

sudo apt-get remove --purge nvidia*
  • 禁用通用驱动程序(nouveau)
# 1.打开文件
sudo gedit /etc/modprobe.d/blacklist.conf
# 2.末尾添加:
blacklist nouveau
options nouveau modeset=0
# 3.更新配置文件,建议重启
sudo update-initramfs –u
# 4.重启之后查看是否禁用成功
lsmod | grep nouveau

  • 终端模式与图形模式切换:在ubuntu下按ctrl+alt+f1进入命令行界面(电脑都是黑屏哦),输入帐号密码登录(把自己的账号,密码记住),通过 Ctrl + Alt + F7 可返回图形化模式

  • 停止图形界面(可以先试试不关闭能不能安装)

# 这个是关闭图形界面
sudo service lightdm stop

  • 安装run file
sudo chmod  a+x NVIDIA-Linux-x86_64-396.18.run
sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files 
# 只有禁用opengl这样安装才不会出现循环登陆的问题
# -no-x-check:安装驱动时关闭X服务
# -no-nouveau-check:安装驱动时禁用nouveau
# -no-opengl-files:只安装驱动文件,不安装OpenGL文件

# 重要选项
1. There appears to already be a driver installed on your system (version:      
  390.42).  As part of installing this driver (version: 390.42), the existing  
  driver will be uninstalled.  Are you sure you want to continue? 
  Continue installation      Abort installation 
(选择 Coninue,如果是重装的话)
2. The distribution-provided pre-install script failed!  Are you sure you want
  to continue?                                                                 
 Continue installation      Abort installation       
(选择 Cotinue)
3. Would you like to register the kernel module sources with DKMS? This will    
  allow DKMS to automatically build a new module, if you install a different   
  kernel later.
Yes                       No  
(这里选 No)
4. Install NVIDIA's 32-bit compatibility libraries?
    Yes                       No  
(这里选 No)
5. Installation of the kernel module for the NVIDIA Accelerated Graphics Driver
  for Linux-x86_64 (version 390.42) is now complete.                           
  OK
6.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 
    Yes                       No  
(这里选 Yes)
  • 重启图形界面
sudo service lightdm start
sudo reboot
  • 查看是否安装成功
nvidia-smi

(1)可能会出现的问题

由于显卡驱动在使用过程中也会有挂掉的情况,笔者安装过很多次,遇到了很多情况,在此先总结一下,可能遇到的问题,希望给大家带来一定的帮助,遇到此类问题的朋友也好直接找到办法去解决!

如果有没有提及的错误,也希望大家在评论区指出,一起交流

成功进入安装程序不代表一帆风顺,会遇到各种报错

  1. Error: the distribution-provided pre-install script failed.

  2. Error: Unable to find the development tool ‘cc’ in your path.

  3. Error: Unable to find the development tool ‘make’ in your path.

  4. Error: The kernel module failed to load. Secure boot is enabled on this system.

  5. The signed kernel module failed to load.

  6. Error: Unable to load the kernel module ‘nvidia.ko’.

  7. Error: An NVIDIA kernel ‘nvidia-drm’ appears to already be loaded in your kernel.

  8. Error: An NVIDIA kernel module ‘nvidia-modeset’ appears to already be loaded in your kernel.

  9. WARNING: Unable to find a suitable destination to install 32-bit compatibility libraries.

  10. WARNING: Unable to determine the path to install the libglvnd EGL vendor library config files.

遇到了报错不要担心,正常情况,让我们逐一解决

(2)解决方法

第一个错误,继续安装即可,这个错误只是确认你是否要安装这个驱动

第二个、第三个错误产生的原因是Ubuntu环境缺少所需要的依赖

解决:

sudo apt-get install gcc
sudo apt-get install make 

第四个错误第五个错误产生的原因是BIOS没有关闭 Secure boot

解决:

  1. 重启电脑在主板信息界面,按F2Del进入BIOS界面

  2. F7进入高级设置菜单

  3. 在菜单栏中点击进入启动分页

  4. 快速启动设置为 Disabled

  5. 点击 安全启动菜单

  6. 操作系统类型如果是双系统依旧保持UEFI模式,如果不是双系统,设置为其他操作系统

  7. 点击 密钥管理

  8. 点击 清除安全启动密钥,再点击确认清除

  9. 保存设置并退出

第六个错误,证明准备工作没有做好

  1. 输入命令reboot重启电脑

  2. 在用户登录界面,按 Alt + Ctrl + F2 进入命令行

  3. 输入命令:sudo systemctl isolate multi-user.target进入无窗口界面

  4. 输入用户名与密码进行登录

  5. 输入命令:sudo modprobe -r nvidia_drmsudo modprobe -r nvidia_modeset

  6. 重新进入驱动安装

  7. 退出无窗口界面:sudo systemctl start graphical.target

第七个错误第八个错误,首先要确保关闭了Secure Boot,然后删除已经安装的显卡驱动:

sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo reboot 

再到第六个错误的部分解决准备工作的问题

最后两个警告,不影响安装,如果有需要,可以自己安装需要的依赖

2.1 安装CUDA

由于下载CUDA版本为离线版本,直接点击安装,点击下一步即可。

注意:可修改安装路径。

2.2 cuDNN安装

下载完成cuDNN安装包后,将其解压,复制到CUDA的安装目录即可。

注意:可能需要管理员权限

cudnn               cuda
include/*   -->    include
lib/*.dll   -->    bin
lib/*lib    -->    lib/x64/*    lib64/*

2.3 TensorRT安装

下载完成TensorRT安装包后,将其解压,复制到CUDA的安装目录即可。

注意:可能需要管理员权限

TensorRT            CUDA
include/*   -->    include
lib/*.dll   -->    bin
lib/*lib    -->    lib/x64/*    lib64/*

2.4 添加环境变量

由于cuDNN、TensorRT都安装在CUDA目录下,只需添加其动态库目录到系统环境变量中即可。

注意:Windows在安装CUDA时会默认将环境变量添加;Ubuntu需要手动添加环境变量,如下为Ubuntu添加环境变量:

$ vim ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64
export PATH=$PATH:/usr/local/cuda-11.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.0

3.测试是否安装成功

3.1 CUDA测试

打开终端,输入以下命令,显示CUDA版本即可安装成功

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:48_Pacific_Daylight_Time_20
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.relgpu_drvr445TC445_37.28540450_0

3.2 cuDNN测试

Ubuntu打开终端,输入以下命令,即可看到cuDNN版本。

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5

#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

3.3 TensorRT测试

$ cd <TensorRT root directory>/samples/sampleMNIST
$ make
$ cd ../../bin
$ ./sample_mnist
[I] Building and running a GPU inference engine for MNIST
[I] Input:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#-:.-=@@@@@@@@@@@@@@
@@@@@%=     . *@@@@@@@@@@@@@
@@@@% .:+%%%  *@@@@@@@@@@@@@
@@@@+=#@@@@@# @@@@@@@@@@@@@@
@@@@@@@@@@@%  @@@@@@@@@@@@@@
@@@@@@@@@@@: *@@@@@@@@@@@@@@
@@@@@@@@@@- .@@@@@@@@@@@@@@@
@@@@@@@@@:  #@@@@@@@@@@@@@@@
@@@@@@@@:   +*%#@@@@@@@@@@@@
@@@@@@@%         :+*@@@@@@@@
@@@@@@@@#*+--.::     +@@@@@@
@@@@@@@@@@@@@@@@#=:.  +@@@@@
@@@@@@@@@@@@@@@@@@@@  .@@@@@
@@@@@@@@@@@@@@@@@@@@#. #@@@@
@@@@@@@@@@@@@@@@@@@@#  @@@@@
@@@@@@@@@%@@@@@@@@@@- +@@@@@
@@@@@@@@#-@@@@@@@@*. =@@@@@@
@@@@@@@@ .+%%%%+=.  =@@@@@@@
@@@@@@@@           =@@@@@@@@
@@@@@@@@*=:   :--*@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@

[I] Output:
0:
1:
2:
3: **********
4:
5:
6:
7:
8:
9:

&&&& PASSED TensorRT.sample_mnist # ./sample_mnist
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu安装CUDA cuDNN TensorRT 的相关文章

  • 更改“/usr/bin/”的所有权:不允许操作

    我刚刚改变了我的所有者 犯了一个巨大的错误 usr bin from root对一个普通人user 每当我尝试执行时 sudo chown root usr bin这给了我 chown changing ownership of usr b
  • 简单的openGL程序无法在ubuntu中链接

    我正在尝试进入 opengl 编程 但无法编译我的第一个非常非常简单的程序 链接过程每次都会失败 我发现这个答案 https stackoverflow com questions 859501 learning opengl in ubu
  • rustup install stable 下载过程中出现错误

    我使用命令安装 Rust curl sSf https static rust lang org rustup sh sh 当我跑步时 rustc main rs 这出现了 error no default toolchain config
  • uWSGI 皇帝权限被拒绝,除非 root

    我尝试使用二进制文件本身的标志 uid www data gid www data 并将其设置在我的配置中 uid www data gid www data 但套接字总是由我正在使用的帐户生成 因此我从 nginx 收到权限被拒绝的错误
  • cudaDeviceScheduleBlockingSync 和 cudaDeviceScheduleYield 之间有什么区别?

    正如这里所说 如何减少 CUDA 同步延迟 延迟 https stackoverflow com questions 11953722 how to reduce cuda synchronize latency delay 等待设备结果有
  • 在 Ubuntu 中与未编译的着色器链接

    我需要加载 glsl 来绘制一些东西 我的环境是Ubuntu 13 04 因此它不存在GLuint InitShader GLuint GLuint 这是我的对象创建 预链接步骤和链接的配置 不幸的是 它仍然出现错误 该错误与未编译的着色器
  • ubuntu 的 CSS 更少(并且自动编译)? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我尝试过 simples 但现在 l
  • 云或烟雾的粒子系统

    我正在尝试使用 OpenGL 和 CUDA 制作一个简单的用于云和烟雾模拟的粒子系统 如何使粒子系统中的粒子表现得像真正的云或烟雾在低湍流风中的表现 我现在遇到的一些问题是 颗粒聚集成一个大球 粒子扩散到无限远 粒子突然弹射离开 我已经完成
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • Eclipse Kepler 在 64 位 ubuntu 上冻结

    几天前我刚刚将 Ubuntu 升级到 14 04 并在此过程中从 32 位切换到 64 位 从那时起 Eclipse 就变得非常不稳定 运行几分钟后 它将开始随机冻结越来越长的时间 特别是在代码完成时 已经必须禁用它 而且在剪切 粘贴时 偶
  • 我可以在 Ubuntu 上使用 Homebrew 吗?

    我只是尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包 但都失败了 这就是我尝试安装它们的方法 sudo apt get install build essential curl git m4 r
  • 如何使用 PHP 更改文件的标题属性

    用户使用我的 PHP 应用程序上传 PDF 文件 我将它们存储在 S3 上 稍后 其他用户会查看这些文件 我会在他们的浏览器中 内联 显示这些文件 问题在于 PDF 的 标题 属性显示在通常显示网站标题的浏览器选项卡中 由于它是由原始上传的
  • CUDA计算能力2.0。全局内存访问模式

    CUDA 计算能力 2 0 Fermi 全局内存访问通过 768 KB L2 缓存进行 看起来 开发人员不再关心全局内存库 但全局内存仍然非常慢 因此正确的访问模式很重要 现在的重点是尽可能多地使用 重用 L2 我的问题是 如何 我将感谢一
  • 如何为 Python 2 安装 pip

    I run python version and get Python 2 7 3 I run pip version and get pip 1 5 from usr local lib python3 2 dist packages p
  • 早于 0.4.12 的 Node.js 无法在 AWS EC2 上正常工作。为什么?

    我无法在 AWS EC2 Ubuntu 或 CentOs 没关系 上安装 node js v0 6 1 安装后我输入node 处理器负载达到100 但 v0 4 12 工作正常 可能只有我有这个问题 那不好意思了 请告诉我我做错了什么 提前
  • CUDA 添加矩阵的行

    我试图将 4800x9600 矩阵的行加在一起 得到一个 1x9600 的矩阵 我所做的是将 4800x9600 分成 9 600 个矩阵 每个矩阵长度为 4800 然后我对 4800 个元素进行缩减 问题是 这真的很慢 有人有什么建议吗
  • 在 Ubuntu 上使用 Python 获取显示器分辨率

    对于 Ubuntu win32api 中是否有与 GetSystemMetrics 相当的代码 我需要获取显示器的宽度和高度 以像素为单位 我可以建议一些可以使用的方法 不过我还没有使用过 xlib 版本 1 xlib Python 程序的
  • GPU上动态分配内存

    是否可以在内核内的 GPU 全局内存上动态分配内存 我不知道我的答案有多大 因此我需要一种方法为答案的每个部分分配内存 CUDA 4 0 允许我们使用 RAM 这是一个好主意还是会降低速度 可以在内核中使用 malloc 检查以下内容 摘自
  • 如何从 Linux 命令行打开 Sublime Text 2 文件到选项卡,而不是新窗口

    我有 ST2 设置 这样我就可以执行 sublime file txt 它将在 ST2 窗口中打开 但是我怎样才能让它在当前打开的窗口的新选项卡中打开呢 尝试 Sublime 命令行帮助 subl 帮助 Sublime Text 2 内部版
  • 什么是海湾合作委员会 4.1.3?

    根据 gcc 发布页面 http www gnu org software gcc releases html http www gnu org software gcc releases html 版本4 1 3不存在 不过 我在很多地方

随机推荐

  • git 命令

    1 打patch xff08 git format patch xff09 git format patch HEAD 生成最近的1次commit的patch git format patch HEAD 生成最近的2次commit的patc
  • gitlab使用

    参考https blog csdn net justlpf article details 80681853 一 基本操作 1 登录 xff1a 2 修改密码 xff1a 二 项目管理 1 新建项目 2 编辑或删除项目 三 用户管理 xff
  • wsl不能启动解决方法

    wsl不能启动解决方法 admin 权限打开termianl 执行下面的命令 xff1a Dism Online Cleanup Image CheckHealth 是检查映像以查看是否有检测到损坏 Dism Online Cleanup
  • 偷偷爆料下2022年各公司年终奖情况,也就亿点点羡慕.....

    偷偷爆料下2022年各公司年终奖情况 xff0c 也就亿点点羡慕 不少公司已经陆陆续续有年终奖的消息传了出来 xff0c 这里给大家汇总了截止到1月 30 日 xff0c 互联网爆料的包括字节 腾讯 百度等公司在内年终奖情况 在默默羡慕的同
  • Ubuntu下使用QtCreator编译出现collect2: ld terminated with signal 9 [Killed] 解决方法

    定位问题是 xff0c 由于交换分区不足 xff0c 导致编译出错 解决思路就是增加交换分区空间 xff0c 然后重新启动交换分区 方法如下 默认使用的是root用户 xff1a 1 创建用于交换分区的文件 xff1a dd if 61 d
  • python使用清华源镜像安装包

    pip install i https pypi tuna tsinghua edu cn simple packages
  • 使用xrdp实现Windows 远程桌面linux

    一般情况下我们用ssh客户端远程登陆Linux系统 xff0c 至于图形界面下的Linux远程登陆工具 xff0c 我们一般都会想到vnc xff0c 但它的安全性不够 xff0c 在这里 xff0c 我将介绍XRDP的安装配置方法 我们可
  • 百度云debian9服务器配置

    首先添加debian国内镜像站https www debian org mirror list 中国大陆 ftp2 cn debian org debian amd64 arm64 armel armhf hurd i386 i386 ia
  • 长江游艇俱乐部算法题

    长江游艇俱乐部在长江上设置了n个游艇出租站1 xff0c 2 xff0c xff0c n 游客可在这些游艇出租站租用游艇 xff0c 并在下游的任何一个游艇出租站归还游艇 游艇出租站i到游艇出租站j之间的租金为r i j 1 lt 61 i
  • [汇编语言]立即数寻址和寄存器寻址

    1 什么是立即数 xff1f 操作数从指令代码中得到 xff0c 即立即数 xff08 Immediate xff09 xff0c 也可以说就是指令的一部分了 xff0c 例如 xff1a MOV EAX span class token
  • git---Git中merge、stash、reset进行版本控制、回退以及暂存修改

    取消某次合并 git span class hljs built in merge span span class hljs comment abort 如果Git版本 gt 61 1 7 4 span git reset span cla
  • iOS 之UIImageView实现图片的移动和缩放

    因为种种原因 xff0c 需要在iphone应用中实现图片查看功能 xff0c 由于iphone屏幕支持多点触摸 xff0c 于是是想到用 手势 来实现图片的实时缩放和移动 借鉴无所不在的internet网络资料之后 xff0c 终于实现此
  • ASCII-Generator.site在线生成ASCII艺术字符图

    什么是 ASCII Generator site ASCII Generator site 是一个 Django 网站 xff0c 用于从图像或文本中生成 ASCII 艺术字符图 x1f3a8 什么是 Django xff1f Django
  • 使Apache服务器URL支持中文

    文章地址https blog csdn net wc250025 article details 110822265 基本法 想要Apache的URL中支持中文 xff0c 需要安装mod encoding模块 网上大部分文章都是在用老的版
  • W: GPG 错误:http://ppa.launchpad.net lucid Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY FAF69C646FF368B7的问题

    在安装更新时 xff0c 即在运行 xff0c 命令行sudo apt get update 或者运行更新管理器的时候 xff0c 出现W GPG 错误 xff1a http ppa launchpad net lucid Release
  • WEEK8 周记 作业——kosaraju模拟&DFS序_班长竞选

    WEEK8 周记 作业 kosaraju模拟 amp DFS序 班长竞选 一 题意 1 简述 大学班级选班长 xff0c N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适 xff0c 意见具有传递性 xff0c 即 A
  • WEEK11 周记 作业——DP0-1背包问题_东东开车了

    一 题意 1 简述 东东开车出去泡妞 在梦中 xff0c 车内提供了 n 张CD唱片 xff0c 已知东东开车的时间是 n 分钟 xff0c 他该如何去选择唱片去消磨这无聊的时间呢 假设 CD数量不超过20张 没有一张CD唱片超过 N 分钟
  • c语言结构体嵌套的对齐方式

    1 xff1a 在代码中有结构体嵌套的方式 xff0c 又需要获取每个变量的地址 那么需要了解结构体嵌套和单一结构体的一些对齐方面的规则 2 xff1a 对于嵌入式的设备来说 xff0c 对齐很重要 xff0c 有些cpu不支持不对齐的访问
  • Cloudreve自建云盘实站:容量和速度自己来决定

    一 前言 为啥要用自建网盘 xff0c 市面上的云盘不香了 xff1f 每一个用户需求的背后都是因为有场景存在 xff0c 而这些差异化的场景也都是因为不同的用户类型产生的 就像我作为技术号主想分享一些自己总结的资料 xff0c 放到一些云
  • Ubuntu安装CUDA cuDNN TensorRT

    CUDA cuDNN TensorRT安装 0 前言 CUDA xff1a 用于 GPU 的一组驱动程序 xff0c 它让 GPU 能够运行底层编程语言来进行并行计算 cuDNN xff1a 用于深度学习的高度优化的原语库 使用 cuDNN