当前位置:   article > 正文

GPU驱动安装,CUDA安装相关问题_there appears to already be a driver installed on

there appears to already be a driver installed on your system (version: 535.

一、GPU驱动相关

  • 安装新驱动

新装系统或出现以下提示可以重新安装驱动

Failed to initialize NVML Driver library version mismatch

先卸载旧驱动

  1. sudo /usr/bin/nvidia-uninstall
  2. sudo apt-get --purge remove nvidia-*
  3. sudo apt-get purge nvidia*
  4. sudo apt-get purge libnvidia*

查看是否卸载干净

  1. sudo dpkg --list | grep nvidia-*
  2. 如果还有关于nvidia的则用
  3. sudo apt-get remove --purge 文件名

卸载过程出现

  1. If you plan to no longer use the NVIDIA driver, you should make sure that no
  2. X screens are configured to use the NVIDIA X driver in your X configuration
  3. file. If you used nvidia-xconfig to configure X, it may have created a
  4. backup of your original configuration. Would you like to run `nvidia-xconfig
  5. --restore-original-backup` to attempt restoration of the original X
  6. configuration file?
  7. NO

 禁用nouveau驱动

  1. Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,为了让用户安装完系统即可进入桌面,因此很多Linux发行版默认集成了Nouveau驱动。但是Nouveau驱动会影响安装NVIDIA官方驱动,因此在安装前要先禁用Nouveau驱动。
  2. sudo gedit /etc/modprobe.d/blacklist.conf
  3. 在文本后添加
  4. blacklist nouveau
  5. 重启机器

 开始安装

下载链接 

https://www.nvidia.cn/Download/index.aspx

$ sudo sh NVIDIA-Linux-x86_64-440.44.run -no-x-check -no-nouveau-check -no-opengl-files

 安装过程的选择

  1. 1. There appears to already be a driver installed on your system (version:
  2. 390.42). As part of installing this driver (version: 390.42), the existing
  3. driver will be uninstalled. Are you sure you want to continue?
  4. Continue installation Abort installation
  5. (选择 Coninue,如果是重装的话)
  6. 2. The distribution-provided pre-install script failed! Are you sure you want
  7. to continue?
  8. Continue installation Abort installation
  9. (选择 Cotinue)
  10. 3. Would you like to register the kernel module sources with DKMS? This will
  11. allow DKMS to automatically build a new module, if you install a different
  12. kernel later.
  13. Yes No
  14. (这里选 No)
  15. 4. Install NVIDIA's 32-bit compatibility libraries?
  16. Yes No
  17. (这里选 No)
  18. 5、Would you like to run the nvidia-xconfig utility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
  19. 选择NO
  20. 6. Installation of the kernel module for the NVIDIA Accelerated Graphics Driver
  21. for Linux-x86_64 (version 390.42) is now complete.
  22. OK
  •  内核更新出现驱动问题

 NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver

  1. 重启时ubuntu的内核进行了更新,更新后的内核指向的是最新的显卡驱动,导致之前安装的显卡驱动虽然在,但是新内核不知道它在。
  2. DKMS是一个维护内核外的驱动的程序,可以在内核指向改变后自动生成新的导向模块
  3. 可以重新安装驱动适应新的内核版本,也可以以下简单方式。
  4. 查看已安装驱动的版本信息
  5. ls /usr/src | grep nvidia
  6. 安装dkms并执行引导,后面的驱动版本是上面查看出来的版本
  7. sudo apt-get install dkms
  8. sudo dkms install -m nvidia -v 470.94

 二、CUDA安装相关

CUDA下载链接 

https://developer.nvidia.com/cuda-toolkit-archive

第一行命令是下载

第二行是安装

若第1步提示Existing package manager installation of the driver found. It is strongly recommended that you remove this before continuing.,选择continue,后面会询问是不是accept,输入accept即可,但在下一步中要去除driver项,不安装GPU驱动。

CUDA 有两种API,分别是 运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。所以nvidia-smi 中的CUDA 版本与 nvcc -V显示的版本可能不一致。nvidia-smi 显示的版本大于nvcc --version 的版本一般不会出现大问题。下面来自chatGPT4.0

  1. Runtime API:这是大多数CUDA开发人员使用的高级API。它更加简洁,对开发者友好,用于常见的任务和操作。大多数深度学习框架,如TensorFlow、PyTorch等,在进行训练时主要使用这个API。由CUDA Toolkit installer安装 。

  2. Driver API:这是一个较为底层的API,提供了更多的控制能力。使用Driver API进行开发要求开发者更加熟悉CUDA内部的工作机制。这种API主要用于那些需要特定、精细控制CUDA的应用中。由GPU driver installer安装。

  3. 对于大多数深度学习训练和应用,主要是使用Runtime API。Runtime API简化了很多CUDA的操作,使得在深度学习框架中容易进行集成。

环境变量配置

vim ~/.bashrc文件末添加:

export PATH="$PATH:/usr/local/cuda-11.3/bin" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64"

上面cuda-11.3要根据自己安装的版本修改

执行source ~/.bashrc或重启终端以应用更改

nvcc -V 查看是否成功

三、cudnn安装

下载cudnn

cuDNN Archive | NVIDIA Developer

sudo tar -zxvf ./cudnn-linux-x86_64-8.9.3.28_cuda12-archive.tar

进入解压之后的include目录,在命令行进行如下操作:

sudo cp * /usr/local/cuda/include  #复制头文件

再将进入lib64目录下的动态文件进行复制和链接:

sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/649425
推荐阅读
相关标签
  

闽ICP备14008679号