Ubuntu安装驱动以及CUDA

2024/10/21 11:43 上午 posted in  服务器

要解决“NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver”这个问题,你需要确保在 Ubuntu 上正确安装并配置 NVIDIA 驱动。下面是步骤:

1. 确认你的 GPU 型号

在安装驱动之前,你需要知道你使用的 NVIDIA GPU 型号。可以通过以下命令查看:

lspci | grep -i nvidia

2. 清除旧的 NVIDIA 驱动

如果你之前安装了其他版本的 NVIDIA 驱动或使用其他工具安装过,请先清除它们:

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

3. 添加 NVIDIA 驱动的 PPA

为确保安装最新的驱动,可以添加 NVIDIA 官方的 PPA(个人软件包档案):

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

4. 安装 NVIDIA 驱动

接下来,安装最新的 NVIDIA 驱动。你可以通过以下命令查看推荐的驱动:

ubuntu-drivers devices

会返回

root@ai-gpu:~$ ubuntu-drivers devices
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
udevadm hwdb is deprecated. Use systemd-hwdb instead.
== /sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0 ==
modalias : pci:v000010DEd00001B38sv000010DEsd000011D9bc03sc02i00
vendor   : NVIDIA Corporation
model    : GP102GL [Tesla P40]
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-535 - distro non-free
driver   : nvidia-driver-545 - third-party non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-390 - third-party non-free
driver   : nvidia-driver-550 - third-party non-free
driver   : nvidia-driver-555 - third-party non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-560 - third-party non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

recommended 标记:在每个驱动程序信息行的末尾,如果该驱动程序是系统根据您的硬件配置推荐的,就会有一个 recommended 标记

检测到的 GPU 是 Tesla P40,并列出了多个可用的 NVIDIA 驱动本,其中 nvidia-driver-560 被推荐为适合你系统的驱动。你可以这样安装:

sudo apt-get install nvidia-driver-560

安装完成后,重新启动系统:

sudo reboot

5. 检查 NVIDIA-SMI

重启后,运行以下命令检查 NVIDIA 驱动是否正常工作:

nvidia-smi

如果一切正常,你应该能够看到 GPU 的状态信息。

6. 安装 CUDA(可选)

如果你需要使用 CUDA 进行深度学习或其他 GPU 加速任务,可以通过以下命令安装 CUDA:

sudo apt-get install nvidia-cuda-toolkit

其他注意事项:

  • 如果你使用的是特殊的硬件环境(例如笔记本的混合显卡),可能需要配置 prime-select 来切换显卡。
  • 如果问题仍然存在,尝试检查 secure boot 是否被启用,在一些系统上,启用了 secure boot 可能会导致驱动无法加载。可以在 BIOS 设置中关闭它。

这样应该可以解决你遇到的问题。如果你遇到其他安装问题或需要更详细的步骤,请告诉我。

额外提示:

  • 其他标记解释

    • distro:表示驱动程序来自发行版的软件源。
    • third-party:表示驱动程序来自第三方软件源。
    • non-free:表示驱动程序是非自由软件。
  • xserver-xorg-video-nouveau

    • builtin:表示这是系统内置的开源驱动程序。
    • free:表示这是自由软件。