当前位置:   article > 正文

Ubuntu安装英伟达显卡驱动、Cuda和Cudnn_ubuntu安装nvidia显卡驱动

ubuntu安装nvidia显卡驱动

显卡驱动安装

1、下载对应型号显卡驱动

首先查看自己机器显卡型号

lspci | grep -i nvidia

得到如下输出,其中GeForce GTX 1080就是型号

  1. 01:00.0 VGA compatible controller: NVIDIA Corporation Device 2684 (rev a1)
  2. 01:00.1 Audio device: NVIDIA Corporation Device 22ba (rev a1)

拿后面的 2684 代码到PCI devices 查询显卡具体型号。

然后去Official Drivers | NVIDIA官网选择型号下载,得到类似NVIDIA-Linux-x86_64-450.80.02.run这样的执行文件

2、删除可能存在的Nvidia驱动

sudo apt-get remove --purge nvidia*

3、禁用原有开源显卡驱动

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

然后将下面内容添加进去[存在则追加],即将nouveau驱动拉黑

  1. blacklist nouveau
  2. options nouveau modeset=0

保存后,执行如下命令更新改动

sudo update-initramfs -u

执行sudo reboot重启电脑,nouveau驱动应该已被禁用,执行下面命令没有输出才对

lsmod | grep nouveau

4、切换至控制台

按下Ctrl+Alt+f1切换到tty1控制台,输入用户名密码进行登录。

PS: 如果是server版本的系统[无可视化桌面系统],或者是远程登录到本机,请忽略该步骤

5、关闭桌面系统

桌面系统即X Server,用于在Linux下显示桌面和其他相关可视化环境。安装显卡驱动时必须要将目前的桌面服务关闭才能成功,同理如果是server版本则无需此操作。

sudo service lightdm stop

6、安装驱动

进入之前下载驱动文件的目录,执行如下命令

  1. #安装 gcc、make 编译
  2. apt-get install gcc make
  3. # 换成自己下载的文件名
  4. sudo ./NVIDIA-Linux-x86_64-450.80.02.run

每次安装都会出现如下提示,实际上pre-install固定会失败的,目的就是为了让你知道你自己在干嘛,选择Continue installation

 The distribution-provided pre-install script failed!  Are you sure you want to continue?

 如下提示是否需要32位兼容,不需要,no即可

  1. Install NVIDIA's 32-bit compatibility libraries?

或者有时会出现如下提示,直接ok忽略即可,32位兼容的问题

Unable to find a suitable destination to install 32-bit compatibility libraries. Your system may not be set up for 32-bit compatibility. 32-bit compatibility files will not be installed; if you wish to install them, re-run the installation and set a valid directory with the --compat32-libdir option.

DKMS注册内核模块,直接no不需要

Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later

然后会有如下过程提示 

是否运行Nvidia-xconfig来配置X configuration文件,选择yes

  1. Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the
  2. NVIDIA X driver will be used when you restart X? Any pre-existing X configuration file will be backed up.

Tips: 如果提示这个Error,说明Xserver还没关,重新执行上面的第5步关闭Xserver 

  1. ERROR: You appear to be running an X server; please exit X before installing. For further
  2. details, please see the section INSTALLING THE NVIDIA DRIVER in the README available on
  3. the Linux driver download page at www.nvidia.com.

6、验证安装

执行nvidia-smi命令能看到显卡相关信息即可,其中的CUDA Version: 11.1为最高能支持到的cuda版本,并非当前系统安装的cuda版本

Cuda安装

1、从官网下载

下载地址为CUDA Toolkit 12.1 Update 1 Downloads | NVIDIA Developer,选择自己的版本,按照命令执行即可,Installer Type一般选择runfile,然后执行最下面提示的两句命令

2、按照1步骤的提示下载并执行

1步骤中的两句命令一般如下

  1. # 下载文件
  2. wget https://developer.download.nvidia.com/compute/cuda/xxx/local_installers/cuda_xxx_linux.run
  3. # 进行安装
  4. sudo sh cuda_xxx_linux.runfile

一开始会让你阅读一大堆说明,直接连续按空格到最下面即可,会有如下提示:

输入accept接受协议

  1. Do you accept the previously read EULA?
  2. accept/decline/quit:

是否安装显卡驱动,由于上面我们自己安装过了,所以这里选择输入n

  1. Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
  2. (y)es/(n)o/(q)uit:

是否安装toolkit,输入y

  1. Install the CUDA 10.0 Toolkit?
  2. (y)es/(n)o/(q)uit:

输入toolkit安装目录,默认即可,按enter

  1. Enter Toolkit Location
  2. [ default is /usr/local/cuda-10.0 ]:

是否创建cuda软连接,输入y,这里一定要是y,会创建/usr/local/cuda/软链指向真正的cuda目录

  1. Do you want to install a symbolic link at /usr/local/cuda?
  2. (y)es/(n)o/(q)uit:

是否安装cuda样例,如果有测试需求可以y,当然n问题也不大,选择y的话下一步会确认安装目录,直接enter即可

  1. Install the CUDA 10.0 Samples?
  2. (y)es/(n)o/(q)uit:

3、添加环境变量

执行vi ~/.bashrc,在文件尾部追加如下内容

  1. export PATH=$PATH:$PATH:/usr/local/cuda/bin
  2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
  3. export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

保存后执行source ~/.bashrc使其生效

4、验证安装

执行下面命令会看到cuda版本

  1. nvcc --version
  2. # 如下输出
  3. nvcc: NVIDIA (R) Cuda compiler driver
  4. Copyright (c) 2005-2018 NVIDIA Corporation
  5. Built on Sat_Aug_25_21:08:01_CDT_2018
  6. Cuda compilation tools, release 10.0, V10.0.130

Cudnn安装

Cudnn安装即下载文件复制到Cuda目录的过程,故实际上并未真正安装软件

1、下载文件

下载地址为CUDA Deep Neural Network (cuDNN) | NVIDIA Developer,不过需要注册才能下载,点击Download 

勾选 I Agree 那一行之后,根据自己上面安装的Cuda版本选择对应的Cudnn版本下载,这里选择的是cuDNN Library for Linux (x86),下载后得到类似cudnn-10.0-linux-x64-v7.6.5.32.tgz的压缩文件 

执行如下命令解压,会自动解压到cuda文件夹中

  1. # 换成你下载的文件
  2. tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32.tgz

执行如下操作将头文件和so文件拷贝到cuda目录下即完成安装

  1. # 注意下面的cuda-10.0目录换成上面安装的版本号
  2. sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include
  3. sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64
  4. # 增加读取权限
  5. sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h
  6. sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*

Cuda版本切换

如果机器上安装了多个版本的cuda,则会在/usr/local/中存在多个cuda-xx的文件夹,如下: 

其中/usr/local/cuda文件夹是个软链接,链接到目前的cuda版本目录,所以如果要切换版本的话,只需要将原来cuda软链删除,重新建立指向另一个cuda-xx目录即可

关于NVIDIA-SMI失效

有时候执行nvidia-smi命令时会报错NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running,这种可能是由于最近升级内核导致的新内核无法启动驱动,如下处理:

1.查看之前安装的nvidia驱动版本

  1. ls /usr/src | grep nvidia
  2. # 得到如下输出
  3. nvidia-srv-510.47.03

2.使用dkms重新安装

  1. # 有些机器需要安装dkms,如果已安装则忽略
  2. sudo apt-get install dkms
  3. # 使用dkms重新编译
  4. # 注意 -v 后面的版本号,就是第一步中 nvidia- 后面的内容,如果上面输出是 nvidia-510.47 ,那就得 -v 510.47
  5. sudo dkms install -m nvidia -v srv-510.47.03

3.重启电脑,再执行nvidia-smi就恢复正常了

其他工作

剩下的就是去装pytorch和tensorflow等机器学习库了,也不难,本文不再赘述

pytorch: Start Locally | PyTorch tensorflow: GPU 支持  |  TensorFlow

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

闽ICP备14008679号