【机器学习】Ubuntu系统下显卡驱动卸载及重装

目录

背景

驱动卸载

驱动安装

CUDA驱动安装

安装nvidia-smi


背景

这里包含显卡驱动和CUDA驱动,在如下场景下,我们需要卸载显卡驱动并重新安装。

  1. 在某些情况下需要对显卡驱动进行升级
  2. 某些情况下(如重启,或者调整系统配置等),系统出问题导致显卡驱动掉了,需要重新安装

在上述过程中,经常会出现一些问题导致显卡驱动安装失败,本文参考官方给定的一些方式安装。

驱动卸载

  1. 使用apt卸载相应驱动(不用care是否存在)

    复制代码
    sudo apt --purge remove nvidia*
    sudo apt --purge remove "*cublas*" "cuda*"
    sudo apt --purge remove "*nvidia*
    sudo apt autoremove
  2. 上述操作完成后,并不一定生效,还要使用安装后提供的工具卸载存在的驱动 这里的文件不一定存在,取决于一开始的cuda 安装方式,如果不存在,直接跳过即可

    复制代码
    # 这里会弹出界面让你确认卸载内容,根据提示操作即可,选择上所有组件进行卸载
    sudo /usr/local/cuda-**.*/bin/cuda-uninstaller
    
    # 完成上述操作后,可能会有残留文件需要阐述
    sudo rm -rf /usr/local/cuda*

卸载完驱动后,需要重启。

驱动安装

CUDA驱动安装

官网参考

以CUDA 12.3 为例。注意,如果使用官方run文件的形式安装可能会报错,推荐如下方式安装。

复制代码
wget <https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin>
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget <https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb>
sudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3

完成上述安装后,nvcc -V命令应该可以正常工作,但nvidia-smi无法正常工作。

安装nvidia-smi

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

sudo apt search nvidia-driver
# 选择上述内容列表中自己需要的/最新的
sudo apt install -y nvidia-driver-550

安装完成后,重启后nvidia-smi即可生效。

相关推荐
orion5721 小时前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
Lihua奏3 天前
从单核到多核:CPU为什么不能再只靠提频变快
深度学习
拾年2753 天前
大模型的"聪明"从哪来?聊聊 AI 数据集的那些事儿
人工智能·深度学习·机器学习
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux