Ubuntu系统下 Nvidia驱动 + cuda驱动 + CuDNN安装与卸载

Ubuntu系统下 Nvidia驱动 + cuda驱动 + CuDNN安装与卸载

  • 一、NVIDIA驱动与CUDA驱动的区别
  • 二、NVIDIA驱动安装与卸载
      • 1. 查看系统内核版本
      • 2. 查看显卡型号
      • 3. 查看是否有显卡驱动
      • 4. 禁用nouveau并重启
      • 5. 卸载旧版本
      • 6. 安装1:使用标准Ubuntu仓库进行自动化安装
      • 7. 安装2:使用PPA仓库进行自动化安装
      • 7. 安装3:使用官方的NVIDIA驱动进行手动安装
  • 三、CUDA工具包安装与卸载
      • 1. CUDA安装
      • 2. 安装完成后,编辑bashrc文件,设置cuda环境变量
      • 3. 测试安装成功
      • 4. 卸载
      • 5. 卸载干净检查
  • 四、CuDNN安装与卸载

一、NVIDIA驱动与CUDA驱动的区别

  • CUDA驱动与NVIDIA驱动并不是一个东西,NVIDIA驱动接入GPU,对外提供能够访问GPU的接口;CUDA驱动接入NVIDIA驱动提供的接口访问GPU,同时接入程序,将运行结果输出。
  • CUDA Toolkit包含了CUDA驱动和工具

CUDA是NVIDIA发明的并行计算平台和编程模型。它通过利用GPU的强大功能,显着提高计算性能。
CUDA 的开发考虑了以下几个设计目标:

  • 支持 CUDA 的 GPU 拥有数百个核心,可以共同运行数千个计算线程。这些内核具有共享资源,包括寄存器文件和共享存储器。片上共享内存允许在这些内核上运行的并行任务共享数据,而无需通过系统内存总线发送数据。
  • 支持应用程序同时使用 CPU 和 GPU 的异构计算。应用程序的串行部分在 CPU 上运行,并行部分则卸载到 GPU。因此,CUDA 可以增量地应用于现有应用程序。 CPU 和 GPU 被视为具有自己的内存空间的独立设备。此配置还允许在 CPU 和 GPU 上同时计算,而不会争用内存资源。
  • 提供一小组对标准编程语言(例如 C)的扩展,可以直接实现并行算法。借助 CUDA C/C++,程序员可以专注于算法并行化的任务,而不是将时间花在算法的实现上。

二、NVIDIA驱动安装与卸载

1. 查看系统内核版本

cat /proc/version
#或
uname -a

2. 查看显卡型号

lspci | grep -i nvidia
或
lspci -vnn | grep VGA

3. 查看是否有显卡驱动

nvidia-smi
#或
lshw -c video

4. 禁用nouveau并重启

安装Nvidia显卡的官方驱动和系统自带的nouveau驱动冲突

lsmod | grep nouveau
# 如果有输出,说明nouveau正在加载
sudo vim /etc/modprobe.d/blacklist.conf
# 在最后一行加入
blacklist nouveau
options nouveau modeset=0
# 更新
sudo update-initramfs -u
# 重启
reboot
# 再次查看是否禁用nouveau
lsmod | grep nouveau
# 没有输出禁用成功

5. 卸载旧版本

sudo apt-get --purge remove nvidia*
sudo apt autoremove
sudo /usr/bin/nvidia-uninstall

6. 安装1:使用标准Ubuntu仓库进行自动化安装

首先,检测你的NVIDIA显卡型号和推荐的驱动程序的模型。

ubuntu-drivers devices

如下,推荐nvidia-driver-535-server-open
在这里插入图片描述
执行自动安装,将会安装所有推荐的驱动程序

sudo ubuntu-drivers autoinstall

安装完成,重启就OK了

7. 安装2:使用PPA仓库进行自动化安装

使用图形驱动程序PPA存储库安装NVIDIA beta驱动程序,但 有时候这有可能会出现兼容性的问题
将ppa:graphics-drivers/ppa存储库添加到系统中:

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update

接下来和之前一样,检测你的NVIDIA显卡型号和推荐的驱动程序的模型。

ubuntu-drivers devices
sudo apt install nvidia-driver-535-server-open

安装完成,重启就OK了

7. 安装3:使用官方的NVIDIA驱动进行手动安装

根据之前准备工作查看的显卡型号,进入Nvidia官方下载对应型号的显卡驱动

wget -c http://us.download.nvidia.com/XFree86/Linux-x86_64/440.82/NVIDIA-Linux-x86_64-535.146.02.run
sudo chmod a+x NVIDIA-Linux-x86_64-535.146.02.run
sudo ./NVIDIA-Linux-x86_64-535.146.02.run -no-opengl-files -no-nouveau-check –no-x-check

-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件

第一个问题选择continue installation,第二个问题选择No(32位的兼容库)
安装完成,重启就OK了

三、CUDA工具包安装与卸载

1. CUDA安装

首先到官网下载CUDA Toolkit 11.3(举例)

由于我们需要安装指定版本,所以建议本地安装,最后一个选择deb(local)

在这里插入图片描述
然后按照下面的指令依次安装

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-3-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

安装cuda的时候一路确认,选择默认设置即可。但是,需要注意的是,当询问是否安装显卡驱动时,选择no,当输入nvidia-smi没问题的时候一般代表显卡驱动没问题

  • cuda默认是安装在/usr/local目录下的,可执行文件都存放在bin目录下,需要用到的库放在lib64下。
  • 安装完成后,local目录下出现了名为cuda-11.3的文件夹。由于在安装过程中选择了创建软连接,即创建了cuda目录指向cuda-11.3,故接下来添加路径只需添加cuda的路径即可。这样做,在进行不同版本的cuda切换时会方便很多。

2. 安装完成后,编辑bashrc文件,设置cuda环境变量

sudo gedit ~/.bashrc在文件末尾添加:
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
保存关闭文件后,运行
source ~/.bashrc

3. 测试安装成功

nvcc -V

4. 卸载

A: 运行卸载脚本

1.运行卸载脚本
cd /usr/local/cuda/bin
sudo ./cuda-uninstaller
2.删除安装文件夹
sudo rm -rf cuda
sudo rm -r cuda-12.2

B: 卸载软件及其配置

sudo apt-get --purge remove cuda   :卸载软件及其配置
sudo apt-get autoremove cuda          :卸载软件及其依赖的安装包
sudo apt-get autoclean ubuntu          :删除残余

C: 手动卸载

sudo dpkg -P cuda  然后按Tab键补全,按两次就会弹出所有cuda开头的东西

5. 卸载干净检查

sudo dpkg -l |grep cuda         :罗列已安装cuda开头的东西,发现还是有很多没有卸载掉

四、CuDNN安装与卸载

  • 首先到CuDNN下载页面,选择合适的版本进行下载
  • 然后解压,并进入相应目录,执行一下命令
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.1/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h 
sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*
  • 通过以下命令查看CuDNN版本
cat /usr/local/cuda-10.1/include/cudnn.h | grep CUDNN_MAJOR -A 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/640205.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法打卡day39

今日任务: 1)卡码网57. 爬楼梯(70. 爬楼梯进阶版) 2)322.零钱兑换 3)279.完全平方数 4)复习day14 卡码网57. 爬楼梯(70. 爬楼梯进阶版) 题目链接:57. 爬楼梯…

C语言(扫雷游戏)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

CSS基础:浮动(float)的3种方式,清除浮动3种方式的详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

Splashtop Cloud RADIUS 解决方案入围教育技术奖

2024年4月17日 加利福尼亚州库比蒂诺 Splashtop 在简化随处办公的远程解决方案领域处于领先地位,该公司自豪地宣布最近入围了《教育技术文摘》(EdTech Digest)的“2024年教育技术奖”的“炫酷工具”决赛。教育科技奖成立于2010年&#xff0c…

vue的学习之用vue写一个hello,vue

根据以下步骤下载vue.js 介绍 — Vue.js 创建一个damo.html &#xff0c;引入vue.js即可 <body><div id"app">{{ message }}</div><!-- Vue --><!-- 开发环境版本&#xff0c;包含了有帮助的命令行警告 --><script src"js/vu…

mysql的DDL语言和DML语言

DDL语言&#xff1a; 操作数据库&#xff0c;表等&#xff08;创建&#xff0c;删除&#xff0c;修改&#xff09;&#xff1b; 操作数据库 1&#xff1a;查询 show databases 2:创建 创建数据库 create database 数据库名称 创建数据库&#xff0c;如果不存在就创建 crea…

opencv_5_图像像素的算术操作

方法1&#xff1a;调用库函数 void ColorInvert::mat_operator(Mat& image) { Mat dst; Mat m Mat::zeros(image.size(), image.type()); m Scalar(2, 2, 2); multiply(image, m, dst); m1 Scalar(50,50, 50); //divide(image, m, dst); //add(im…

Hdu1150 Machine Schedule【二分图最大匹配、最小点覆盖】

Machine Schedule 题意 有两台机器&#xff0c;机器 A A A 有 n n n 个模式&#xff0c;机器 B B B 有 m m m 个模式 有 k k k 个任务&#xff0c;第 i i i 个任务只能由机器 A A A 的模式 x x x 或机器 B B B 的模式 y y y 完成 问最少需要多少个模式才能完成所有任…

67条tips实战案例渗透测试大佬的技巧总结

67条tips实战案例渗透测试大佬的技巧总结。 Tips 1. 手动端口探测 nmap的-sV可以探测出服务版本&#xff0c;但有些情况下必须手动探测去验证 使用Wireshark获取响应包未免大材小用&#xff0c;可通过nc简单判断 eg. 对于8001端口&#xff0c;nc连接上去&#xff0c;随便输…

如何判别三角形和求10 个整数中最大值?

分享每日小题&#xff0c;不断进步&#xff0c;今天的你也要加油哦&#xff01;接下来请看题------> 一、已知三条边a&#xff0c;b&#xff0c;c能否构成三角形&#xff0c;如果能构成三角形&#xff0c;判断三角形的类型&#xff08;等边三角形、等腰三角形或普通三角形 …

AB5 点击消除

AB5 点击消除 可以用栈来解决。 当栈为空的时候&#xff0c;直接将字符入栈当栈非空的时候 当前字符与栈顶字符相同 出栈 当前字符与栈顶字符不同 入栈 重复上述2步即可。 栈在输出的时候不能从栈底开始输出&#xff0c;需要先把栈顶元素弹出并保存下来&#xff0c;在进行输…

Windows 的常用命令(不分大小写)

Net user &#xff08;查看当前系统所有的账户&#xff09; net user yourname password /add 添加新用户 net localgroup administrators yourname /add 添加管理员权限 net user yourname /delete 删除用户 net user 命令 [colorred]说明&#xff1a;以下命令仅限持管理员…