UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 11060)

目录

问题描述

问题原因

解决办法


问题描述

跑LLM时遇到该问题,平常跑的时候也可能会遇到该问题。

问题原因

nvidia 驱动器的版本和安装环境中的 torch和cuda版本不兼容,不匹配。nvidia driver决定着系统最高可以支持什么版本的cuda和cudatoolkit,是向下兼容的。

下面的参考来源于 这里

CUDA是显卡厂商NVIDIA推出的运算平台。CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型,该架构使GPU能够解决复杂的计算问题。CUDA英文全称是Compute Unified Device Architecture。

CUDA Toolkit可以理解成一个工具包,主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。cudatookit版本有时会被简称为cuda版本。

cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式。

pytorch是基于CUDA的深度学习框架,因此,pytorch的版本必须依赖于cuda toolkit的版本。

解决办法

首先,看一下 nvidia 驱动的版本

(llama) root@046cf2400456:~/data/zjx/Code-subject/LLaMA/llama-main# nvidia-smi
Fri Mar  8 04:16:34 2024       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| 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  NVIDIA GeForce ...  On   | 00000000:04:00.0 Off |                  N/A |
| 22%   28C    P8     3W / 250W |      0MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  On   | 00000000:05:00.0 Off |                  N/A |
| 22%   26C    P8     3W / 250W |      0MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

右上角显示安装的 nvidia 驱动版本为11.6

接下来查看当前环境安装的torch的信息

(llama) root@046cf2400456:~/data/zjx/Code-subject/LLaMA/llama-main# python 
Python 3.8.13 (default, Mar 28 2022, 11:38:47) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
2.2.1+cu121
>>> exit()

可以看到环境中安装的是 torch2.2.1+cu121,与驱动版本不一致,或者说大于驱动版本。此时可以再继续探讨一下,发现此时的GPU也是不可用的

(llama) root@046cf2400456:~/data/zjx/Code-subject/LLaMA/llama-main# python
Python 3.8.13 (default, Mar 28 2022, 11:38:47) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.is_available())
/root/anaconda3/envs/llama/lib/python3.8/site-packages/torch/cuda/__init__.py:141: UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 11060). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:108.)
  return torch._C._cuda_getDeviceCount() > 0
False

所以,需要对应nvidia 驱动版本去下载对应的torch+cuda,去pytorch官网查看所需的安装版本,例如,这里我的情况所选用的是

然后卸载之前的torch,再继续安装这个新的即可

(llama) root@046cf2400456:~/data/zjx/Code-subject/LLaMA/llama-main# pip uninstall torch
(llama) root@046cf2400456:~/data/zjx/Code-subject/LLaMA/llama-main# pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

发现GPU可用了

llama) root@046cf2400456:~/data/zjx/Code-subject/LLaMA/llama-main# python
Python 3.8.13 (default, Mar 28 2022, 11:38:47) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.is_available())
True
>>> exit()

  • 23
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
在开始回答这个问题之前,我首先要说明的是这是一条警告信息,而不是错误信息。该警告信息的意思是您的系统上安装的NVIDIA驱动程序版本太旧。下面是对此警告信息的解释和解决方法。 首先要理解的是,CUDA是一个由NVIDIA开发的并行计算平台和编程模型,用于利用GPU进行高性能计算。为了正确地使用CUDA,在您的系统上必须安装适当的NVIDIA GPU驱动程序。 当您的系统上的NVIDIA驱动程序版本过旧时,您可能会遇到一个名为"UserWarning"的警告。这是由于该版本的驱动程序不兼容最新版本的CUDA。为了避免潜在的问题,建议您更新驱动程序以使其与CUDA版本保持一致。 要解决此问题,您可以执行以下步骤: 1. 打开NVIDIA的官方网站,然后转到其驱动程序下载页面。 2. 在该页面上,通过使用提供的选项选择适合您系统的最新版本的驱动程序。您可以选择手动搜索相关信息或者使用自动检测工具下载适用于您GPU的正确版本。 3. 下载适当的驱动程序并按照指示进行安装。这可能需要一些时间,而且您的系统可能需要重新启动。 4. 在驱动程序成功安装并重新启动后,再次尝试运行CUDA相关的程序。这时候警告信息应该不再出现。 请注意,在进行驱动程序更新之前,建议您备份您的重要数据以防万一。此外,为了以后避免类似问题,您可以定期检查并更新您的NVIDIA GPU驱动程序以确保与最新版本的CUDA保持兼容。 希望这个解答对您有帮助。如果您还有其他疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

匿名的魔术师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值