前段时间服务器的配置出了问题,只能将显卡驱动、cuda、cudnn都重新安装配置。 没想到,才过了没多久,有两台服务器又相继出现问题,需要重新安装。想到上次安装的时候临时找教程和资料的痛苦,这次决定将整个安装过程以及遇到的问题和解决方法记录下来,以后或许还会用到。
1 版本信息
系统及待安装的驱动、cuda和cudnn版本信息如下:
系统:Ubuntu 18.04显卡驱动:NVIDIA-Linux-x86_64-430.40cuda:cuda_10.0.130_410.48_linuxcudnn:cudnn-10.0-linux-x64-v7.6.2.24
2 显卡驱动安装
2.1 准备工作
在安装显卡驱动之前,需要先在系统的blacklist.conf中将nouveau驱动禁用。
打开blacklist.conf文件:
sudo vim /etc/modprobe.d/blacklist.conf
在该文件末尾添加:
blacklist nouveauoptions nouveau modeset=0
保存修改,然后退出,接着执行:
sudo update-initramfs -u
重启系统,执行以下命令:
lsmod | grep nouveau
没有输出任何信息,则nouveau被成功禁用。过程如下图所示:
2.2 驱动安装
Nvidia显卡驱动安装的过程分为三个步骤:(1) 禁用X-Windows服务;(2) 卸载原有显卡驱动;(3) 安装新的驱动。所有操作都是在命令行中进行操作,我是terminal登录的服务器,默认是命令行方式。如果是界面登录的话,需要通过以下组合快捷键登出,进入到命令行操作。
Ctrl + Alt + F1
(1) 禁用X-Windows服务
sudo service lightdm stop
在执行上述命令时,可能会出现失败的情况,报如下错误:
Failed to stoplightdm.service: Unitlightdm.service not loaded.
出现这个错误的原因是系统并没有安装lightdm,通过以下指令安装后,再stop就可以了。
sudo apt install lightdmsudo service lightdm stop
安装lightdm出现如下选项,选择lightdm。
如果未禁用X-Windows,可能出现如下错误:
如果禁用后该错误还是出现上述错误的话,则通过init 3切换到命令行,并删除X相关文件。
sudo init 3sudo rm -r /tmp/.X*
(2) 卸载原有显卡驱动
安装新的驱动前,需要将之前安装的nvidia相关的东西都删掉,命令如下:
sudo apt-get remove --purge nvidia*
(3) 安装新的驱动
首先,需要给下载的驱动.run文件可执行的权限(chmod +x),也可以直接给所有权限(chmod 777)。
sudo chmod 777 NVIDIA-Linux-x86_64-430.40.run
运行该驱动程序:
sudo ./NVIDIA-Linux-x86_64-430.40.run
安装过程中会有一些选项,默认回车即可。
显卡驱动安装完成。
查看Nvidia显卡驱动版本,可采用如下命令:
cat /proc/driver/nvidia/version
显示如下信息:
再次启动X-Windows服务,并重启系统。
sudo service lightdm startreboot
3 cuda安装
如果之前安装了cuda,老规矩,先卸载,并删除cuda-10.0文件夹。命令如下:
sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.plsudo rm -rf /usr/local/cuda-10.0/
接着,给cuda程序权限:
chmod 777 cuda_10.0.130_410.48_linux.run
运行该程序:
sudo ./cuda_10.0.130_410.48_linux.run
安装之前,有很长的阅读说明,使用空格键快速浏览完毕。之后会进入一些配置选项,下图所示选择即可。
安装完成之后,需要配置cuda环境变量,对.bashrc文件进行修改:
vim ~/.bashrc
在文件最后补充如下配置:
export CUDA_HOME=/usr/local/cuda-10.0export LD_LIBRARY_PATH=${CUDA_HOME}/lib64export PATH=${CUDA_HOME}/bin:${PATH}
最后,通过source命令使上述修改生效。
source ~/.bashrc
配置完成后,通过nvcc -V命令查看cuda的版本信息:
nvcc -V
测试cuda是否安装成功的命令如下:
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuerymake./deviceQuery
显示如下信息:
通过nvidia-smi查看GPU使用情况:
4 cudnn安装
cudnn的安装比较简单,只需要将下载的cudnn压缩包解压后复制到cuda目录中即可。
解压命令如下:
tar -zxvf cudnn-10.0-linux-x64-v7.6.2.24.tgz
复制命令如下:
sudo cp cuda/lib64/* /usr/local/cuda-10.0/lib64/sudo cp cuda/include/* /usr/local/cuda-10.0/include/
完成后,查看cudnn的版本信息。命令如下:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
至此,显卡驱动、cuda和cudnn就全部安装配置完成,可以开始欢快的炼丹之旅了。