当前位置: 首页 > news >正文

ubuntu安装NVIDIA显卡驱动及CUDA环境

在安装CUDA之前,需要先安装适用于您的GPU的NVIDIA显卡驱动。

一、卸载现有的CUDA

卸载CUDA的方法取决于您最初是如何安装CUDA的。通常有通过包管理器(如apt)或通过.run文件安装两种方式。

方法1:通过apt卸载(如果是通过APT安装)

  1. 移除CUDA和相关包

    sudo apt-get --purge remove "*cublas*" "cuda*"  "libcuda-*"  "nsight*" 
    
  2. 移除NVIDIA驱动(如果需要)

    如果您希望同时卸载NVIDIA驱动,可以执行:

    sudo apt-get --purge remove "nvidia-*"   "libnvidia-*"
    
  3. 清理残留的包和依赖

    sudo apt-get autoremove
    sudo apt-get autoclean
    
  4. 检查已安装的NVIDIA包

执行以下命令,确认没有残留的NVIDIA包:

dpkg -l | grep -i nvidia
dpkg -l | grep -i cuda

这些命令应无输出或仅显示与CUDA无关的包。如果仍有NVIDIA包存在,手动卸载它们:

sudo apt-get purge <包名>

<包名> 替换为实际存在的NVIDIA包名。

  1. 删除残留的NVIDIA配置文件和目录

手动删除可能残留的NVIDIA配置文件和目录:

sudo rm -rf /usr/local/cuda*
sudo rm -rf /usr/local/nvidia
sudo rm -rf /etc/modprobe.d/nvidia*
sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/video/nvidia*

方法2:通过.run文件卸载

如果您是通过NVIDIA提供的.run文件安装的CUDA,可以使用相应的卸载命令。

  1. 进入CUDA安装目录

    假设您记得run文件的位置,如果不确定,可以尝试在/usr/local/下查找。

  2. 运行卸载脚本

    sudo /usr/local/cuda-X.Y/bin/cuda-uninstaller
    

    X.Y替换为您安装的CUDA版本号。

    如果找不到卸载程序,可以重新运行run文件并选择卸载选项:

    sudo sh cuda_X.Y.Z_linux.run
    

    然后按照提示选择卸载。

方法3:通过.run文件卸载

如果您是通过NVIDIA提供的.run文件安装的CUDA,可以使用相应的卸载命令。

  1. 进入CUDA安装目录

    假设您记得run文件的位置,如果不确定,可以尝试在/usr/local/下查找。

  2. 运行卸载脚本

    sudo /usr/local/cuda-X.Y/bin/cuda-uninstaller
    

    X.Y替换为您安装的CUDA版本号。

    如果找不到卸载程序,可以重新运行run文件并选择卸载选项:

    sudo sh cuda_X.Y.Z_linux.run
    

    然后按照提示选择卸载。

二、准备工作

  1. 更新系统包

    在开始之前,建议先更新系统的包列表和已安装的软件包:

    sudo apt-get update
    sudo apt-get upgrade -y
    
  2. 禁用Nouveau驱动

    Nouveau 是开源的NVIDIA驱动,如果启用,可能会与官方驱动产生冲突。禁用Nouveau的方法如下:

    sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf"
    sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist.conf"
    sudo update-initramfs -u
    sudo reboot
    

    重启后,Nouvaue驱动将被禁用。

三、安装NVIDIA显卡驱动

有多种方法可以在Ubuntu上安装NVIDIA驱动,以下介绍两种常用方法:通过Ubuntu官方仓库安装和使用NVIDIA官方驱动PPA。

方法1:通过Ubuntu官方仓库 - 自动安装

  1. 添加图形驱动PPA(可选)

    为确保获取最新的驱动版本,可以添加官方的graphics-drivers PPA:

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    
  2. 自动安装推荐的驱动

    sudo ubuntu-drivers autoinstall
    
  3. 重启系统

    安装完成后,重启系统以使驱动生效:

    sudo reboot
    

方法2:通过Ubuntu官方仓库 - 手动安装

  1. 添加NVIDIA驱动PPA

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    
  2. 查询合适的驱动

    1. 查询所有的驱动
      查找可用的驱动版本:

      apt search nvidia-driver
      
    2. nvidia-detector - 查看推荐的驱动版本
      运行命令后,nvidia-detector 将分析系统中的 NVIDIA 硬件并输出推荐的驱动

       nvidia-detector
       nvidia-driver-530
      
    3. 查看推荐的驱动版本
      运行以下命令以查看推荐的驱动版本:

      ubuntu-drivers devices
      

      输出示例:

      == /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0 ==
      modalias : pci:v000010DEd00001E87sv000017AAsd00003919bc03sc00i00
      vendor   : NVIDIA Corporation
      model    : GP107M [GeForce GTX 1050 Ti Mobile]
      driver   : nvidia-driver-470 - third-party free
      driver   : nvidia-driver-465 - third-party free
      driver   : xserver-xorg-video-nouveau - distro free builtin
      

      注意:ubuntu-drivers devices和nvidia-detector推荐的驱动版本可能会不一致,需要实验验证。
      综合上面所有可用及推荐驱动选择合适的驱动版本。

  3. 安装驱动

    假设选择安装nvidia-driver-525

    sudo apt-get install nvidia-driver-525
    
  4. 重启系统

    sudo reboot
    

四、验证驱动安装

  1. 检查NVIDIA驱动是否正确安装

    使用nvidia-smi命令查看驱动信息:

    nvidia-smi
    

    预期输出应显示您的GPU信息和驱动版本,例如:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.60.11    Driver Version: 525.60.11    CUDA Version: 12.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  GeForce GTX 1050 Ti    Off  | 00000000:01:00.0  On |                  N/A |
    | 30%   50C    P8    N/A /  75W |    500MiB /  4096MiB |      5%      Default |
    +-------------------------------+----------------------+----------------------+
    
  2. 检查驱动模块

    确认驱动模块已加载:

    lsmod | grep nvidia
    

    应该能看到nvidia相关的模块信息。

五、解决常见问题

  • 黑屏或无法启动图形界面

    如果在安装驱动后遇到黑屏或无法启动图形界面的问题,可以尝试以下步骤:

    1. 切换到TTY终端(使用Ctrl + Alt + F3)。

    2. 停止显示管理器,例如对于gdm

      sudo systemctl stop gdm
      

      或者对于lightdm

      sudo systemctl stop lightdm
      
    3. 重新安装驱动或检查驱动配置。

    4. 重启系统:

      sudo reboot
      
  • 驱动版本与CUDA不兼容

    确保安装的NVIDIA驱动版本与您计划安装的CUDA版本兼容。可以参考NVIDIA官方CUDA兼容性表。

六、安装CUDA

在成功安装并验证NVIDIA显卡驱动后,您可以按照之前提供的步骤继续安装CUDA。如果需要进一步指导,请参考以下简要步骤:

  1. 下载CUDA安装包

    前往NVIDIA CUDA下载页面,下载最新Ubuntu版本的CUDA安装包。
    前往UDA Toolkit Archive,下载Ubuntu版本的以前的CUDA安装包。

  2. 添加CUDA仓库并安装CUDA

    示例(以Ubuntu 20.04和CUDA 12.2为例):

    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/12.2.0/local_installers/cuda-repo-ubuntu2004-12-2-local_12.2.0-470.57.02-1_amd64.deb
    sudo dpkg -i cuda-repo-ubuntu2004-12-2-local_12.2.0-470.57.02-1_amd64.deb
    sudo cp /var/cuda-repo-ubuntu2004-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
    sudo apt-get update
    sudo apt-get -y install cuda
    
  3. 配置环境变量

    echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
    echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
    source ~/.bashrc
    
  4. 验证CUDA安装

    nvcc --version
    nvidia-smi
    

    编译并运行CUDA样例以确保安装成功:

    cuda-install-samples-12.2.sh ~
    cd ~/NVIDIA_CUDA-12.2_Samples/1_Utilities/deviceQuery
    make
    ./deviceQuery
    

    输出应显示Result = PASS

七、参考资料

  • NVIDIA 官方驱动下载
  • NVIDIA CUDA 官方安装指南
  • Ubuntu 官方文档
  • NVIDIA 驱动兼容性文档

相关文章:

  • 【MySQL】关闭外键约束检查
  • python-leetcode 47.组合总和
  • Redis 面试思路
  • 深度学习-148-langchain之如何使用with_structured_output()从模型中返回结构化数据
  • 机试准备第19天
  • 4.angular 服务
  • 5.3《凸透镜成像的规律》——先于5.2《生活中的透镜》讲
  • Windows 部署 RuoYi 前后端分离项目
  • Mac下Ollama安装全攻略:开启本地大模型之旅
  • Qt Creator入门
  • 蓝桥杯[每日一题] 模拟题:蚂蚁感冒(java版)
  • Java面试黄金宝典1
  • 笔记本运行边缘计算
  • 使用React和google gemini api 打造一个google gemini应用
  • 【数据挖掘】Python基础环境安装配置
  • 卸载conda,poetry常用命令,vscode使用poetry虚拟环境
  • 【万字总结】前端全方位性能优化指南(三)——GPU渲染加速、WebGPU、OffscreenCanvas多线程渲染
  • 电商项目Ts版本
  • 【HarmonyOS Next】鸿蒙中自定义弹框OpenCustomDialog、CustomDialog与DialogHub的区别详解
  • 标准卡尔曼滤波
  • “五一”前两日湖北20多家景区实施限流
  • 消费持续升温,这个“五一”假期有何新亮点?
  • 韩国代总统、国务总理韩德洙宣布辞职
  • 涉嫌严重违纪违法,57岁证监会副主席王建军被查
  • 七部门联合发布《终端设备直连卫星服务管理规定》
  • 湖北鄂城:相继4所小学有学生腹泻呕吐,供餐企业负责人已被采取强制措施