解决ubuntu系统突然出现的RuntimeError: No CUDA GPUs are available问题

代码运行的好好的突然有一天打开发现显卡用不了了,一跑模型显示RuntimeError: No CUDA GPUs are available

1.首先对显卡是否能用进行检测,在python console界面依次输入:

import torch
print(torch.cuda.device_count()) // 或者print(torch.cuda.is_available())

如果输出不为0或true,说明显卡是可用的,检查代码调用显卡序号是否有问题或者cuda环境安装是否正确。

如果输出为0或者false,或者在终端输入nvidia-smi报错,则说明显卡不能用,是linux内核升级导致显卡驱动不匹配的问题,可以将显卡驱动降为原先的版本。打开软件和更新的附加驱动也可以看出驱动自动升级了,原先我安装的是530版本,先降降驱动版本试试看。

2.从官网中查找以前的驱动版本,在下方驱动程序下的试用版驱动程序中搜索可用驱动,

我下载的是NVIDIA-Linux-x86_64-530.41.03.run(因为记得之前的版本就是这个)

3.卸载之前的驱动并重启,一定要保证卸载,卸载不干净安装过程中会报错。

sudo apt-get remove --purge nvidia*
reboot

3.在下载文件夹打开终端输入

sudo ./NVIDIA-Linux-x86_64-530.41.03.run

踩坑记录:

第3步安装的时候报错,如果显示ERROR: An error occurred while performing the step: “Building kernel modules则需要降低内核版本,终端输入uname -r查看内核版本,查看已安装的内核镜像,我这里显示linux-image-5.15.0-87-generic是install,故将内核版本将为5.15.0-87

//查看已安装的内核镜像
dpkg --get-selections | grep linux-image

linux-image-5.15.0-1039-nvidia			deinstall
linux-image-5.15.0-1043-intel-iotg		deinstall
linux-image-5.15.0-1045-gcp			deinstall
linux-image-5.15.0-1046-oracle			deinstall
linux-image-5.15.0-1048-aws			deinstall
linux-image-5.15.0-1050-azure			deinstall
linux-image-5.15.0-43-generic			deinstall
linux-image-5.15.0-87-generic			install
linux-image-5.15.0-87-lowlatency		deinstall
linux-image-5.17.0-1035-oem			deinstall
linux-image-5.19.0-41-generic			deinstall
linux-image-5.19.0-42-generic			deinstall
linux-image-5.19.0-43-generic			deinstall
linux-image-5.19.0-45-generic			deinstall
linux-image-5.19.0-46-generic			deinstall
linux-image-6.1.0-1024-oem			deinstall
linux-image-6.2.0-1010-nvidia			deinstall
linux-image-6.2.0-1014-aws			deinstall
linux-image-6.2.0-1014-oracle			deinstall
linux-image-6.2.0-1015-azure			deinstall
linux-image-6.2.0-1015-lowlatency		deinstall
linux-image-6.2.0-1017-gcp			install
linux-image-6.2.0-34-generic			deinstall
linux-image-6.2.0-35-generic			install
linux-image-6.5.0-1004-oem			install
linux-image-generic				install
linux-image-generic-hwe-22.04			install
//查看制指定版本内核包
apt-cache search linux | grep 5.15.0-87-generic
linux-buildinfo-5.15.0-87-generic - Linux kernel buildinfo for version 5.15.0 on 64 bit x86 SMP
linux-cloud-tools-5.15.0-87-generic - Linux kernel version specific cloud tools for version 5.15.0-87
linux-headers-5.15.0-87-generic - Linux kernel headers for version 5.15.0 on 64 bit x86 SMP
linux-image-5.15.0-87-generic - Signed kernel image generic
linux-image-unsigned-5.15.0-87-generic - Linux kernel image for version 5.15.0 on 64 bit x86 SMP
linux-modules-5.15.0-87-generic - Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP
linux-modules-extra-5.15.0-87-generic - Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP
linux-modules-iwlwifi-5.15.0-87-generic - Linux kernel iwlwifi modules for version 5.15.0-87
linux-tools-5.15.0-87-generic - Linux kernel version specific tools for version 5.15.0-87
linux-modules-nvidia-390-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-418-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-450-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-470-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-470-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-525-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-525-open-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-525-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-535-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-535-open-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-535-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-modules-nvidia-535-server-open-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87
linux-objects-nvidia-390-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-418-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-450-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-470-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-470-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-525-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-525-open-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-525-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-535-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-535-open-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-535-server-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-objects-nvidia-535-server-open-5.15.0-87-generic - Linux kernel nvidia modules for version 5.15.0-87 (objects)
linux-signatures-nvidia-5.15.0-87-generic - Linux kernel signatures for nvidia modules for version 5.15.0-87-generic
//安装指定版本
sudo apt-get install linux-headers-5.15.0-87-generic linux-image-5.15.0-87-generic
//执行下列命令可以看到当前内核和刚安装的内核
grep menuentry /boot/grub/grub.cfg
//指定系统中内核启动顺序
sudo vim /etc/default/grub
将GRUB_DEFAULT=0修改为GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-87-generic"
//更新配置并重启
sudo update-grub
reboot

重启之后可以输入uname -r查看内核版本,可以看到已经更改成功。

更改成功之后重新执行第3步,安装显卡驱动,在其他cuda环境没有改变的情况下,显卡可以被重新调用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您在Ubuntu上遇到了一个运行时错误,错误信息显示没有可用的CUDA GPU。这个错误通常出现在您的系统上没有安装或配置正确的NVIDIA驱动程序和CUDA工具包时。 要解决这个问题,您可以按照以下步骤进行操作: 1. 检查您的系统是否安装了适当版本的NVIDIA驱动程序。您可以通过在终端中运行以下命令来验证: ```bash nvidia-smi ``` 如果该命令显示了关于NVIDIA GPU的信息,则表示驱动程序已正确安装。如果未找到此命令或显示错误信息,则需要安装适当的驱动程序。 2. 如果您尚未安装NVIDIA驱动程序,请按照以下命令安装: ```bash sudo apt-get update sudo apt-get install nvidia-driver-<version> ``` `<version>`应替换为适用于您的GPU型号和Ubuntu版本的驱动程序版本。您可以在NVIDIA官方网站上找到适合您系统的驱动程序版本。 3. 安装NVIDIA CUDA工具包。您可以通过以下命令安装: ```bash sudo apt-get install nvidia-cuda-toolkit ``` 这将安装CUDA工具包以及相关的库和工具。 4. 安装完驱动程序和CUDA工具包后,重新启动系统以使更改生效。 5. 在重新启动后,再次运行您的代码或应用程序,应该不再出现"No CUDA GPUs are available"的错误。 请注意,上述步骤假设您的系统中已经安装了适当版本的NVIDIA GPU。如果您的系统中没有任何NVIDIA GPU,您将无法使用CUDA进行GPU加速。在这种情况下,您可能需要考虑使用CPU进行计算。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值