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

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

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

shell 复制代码
cat /proc/version
#或
uname -a

2. 查看显卡型号

shell 复制代码
lspci | grep -i nvidia
或
lspci -vnn | grep VGA

3. 查看是否有显卡驱动

shell 复制代码
nvidia-smi
#或
lshw -c video

4. 禁用nouveau并重启

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

shell 复制代码
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. 卸载旧版本

shell 复制代码
sudo apt-get --purge remove nvidia*
sudo apt autoremove
sudo /usr/bin/nvidia-uninstall

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

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

shell 复制代码
ubuntu-drivers devices

如下,推荐nvidia-driver-535-server-open

执行自动安装,将会安装所有推荐的驱动程序

shell 复制代码
sudo ubuntu-drivers autoinstall

安装完成,重启就OK了

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

使用图形驱动程序PPA存储库安装NVIDIA beta驱动程序,但 有时候这有可能会出现兼容性的问题

将ppa:graphics-drivers/ppa存储库添加到系统中:

shell 复制代码
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update

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

shell 复制代码
ubuntu-drivers devices
sudo apt install nvidia-driver-535-server-open

安装完成,重启就OK了

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

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

shell 复制代码
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)

然后按照下面的指令依次安装

shell 复制代码
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环境变量

shell 复制代码
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. 测试安装成功

shell 复制代码
nvcc -V

4. 卸载

A: 运行卸载脚本

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

B: 卸载软件及其配置

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

C: 手动卸载

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

5. 卸载干净检查

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

四、CuDNN安装与卸载

  • 首先到CuDNN下载页面,选择合适的版本进行下载
  • 然后解压,并进入相应目录,执行一下命令
shell 复制代码
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版本
shell 复制代码
cat /usr/local/cuda-10.1/include/cudnn.h | grep CUDNN_MAJOR -A 2
相关推荐
梓仁沐白34 分钟前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
写点什么啦11 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
wellnw12 小时前
[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案
linux·ubuntu
oushaojun216 小时前
ubuntu中使用ffmpeg和nginx推流rtmp视频
nginx·ubuntu·ffmpeg·rtmp
命里有定数19 小时前
Ubuntu问题 -- 通过远程修改文件配置ubuntu服务器的静态IP (不需要到服务器现场) (通过NetworkManager)
运维·服务器·tcp/ip·ubuntu·网卡
命里有定数1 天前
Ubuntu问题 - 显示ubuntu服务器上可用磁盘空间 一条命令df -h
服务器·ubuntu·数据集
命里有定数1 天前
Ubuntu问题 -- 设置ubuntu的IP为静态IP (图形化界面设置) 小白友好
linux·tcp/ip·ubuntu·ip
基极向上的三极管1 天前
【Linux学习】【Ubuntu入门】1-8 ubuntu下压缩与解压缩
linux·ubuntu
云计算运维丁丁1 天前
Linux四剑客及正则表达式
linux·运维·服务器·ubuntu
sun0077001 天前
Ubuntu networkmanager
linux·运维·ubuntu