记:第一次更新服务器CUDA和GPU驱动
因有需求需要改动centos7中的CUDA(更新到10)和GUP 的driver(更新到410)的版本。
事先需要查看原版本的信息,使用nvidia-smi可以查看driver的版本信息(最新的也显示CUDA的版本信息);使用nvcc –version查看CUDA的信息。
服务器的基本配置是:CUDA的原始版本是9.1.85,driver的原始版本是390.46,GPU的型号是Tesla P4,系统是centos7。(网上的教程说是先更新CUDA再更新driver,我也是按照上述步骤来的。)
首先,打开官网,勾选配置(https://developer.nvidia.com/cuda-toolkit-archive)
图1 CUDA的下载
(PS:Installer Type的选择没有那么重要,每一个选择都给出了相关的安装步骤)
直接给定步骤安装即可。对于CUDA,我选择了直接覆盖,所以在安装完这个版本的时候系统中会存在两个版本的CUDA,一个是CUDA9.1,一个是CUDA10.0。所以多版本需要配置环境,将CUDA10.0给添加到环境中。代码如下:
####sudo vim ~/.bashrc
export PATH=$PATH:/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64/{LD_LIBRARY_PATH:+:{ LD_LIBRARY_PATH }}
export CUDA_HOME=/usr/local/cuda-10.0
#跳出
#####nvcc –version
这时候应该输出的CUDA的信息是你选定的,如果还是原版,建议####sudo reboot(不允许重启,再想辙)
更新完CUDA之后,接着可以更新driver,打开官网:https://www.nvidia.com/Download/index.aspx?lang=cn,根据自己电脑的版本勾选信息,
图2 GPU的driver的下载
(PS:重要的事情说3遍,因为我的系统是centos7的,所以我选的“操作系统”是Linux 64-bit,如果选错了,之后会报错)
我选的是后缀是.run的安装包,使用的安装命令如下:
####sudo sh ******************************.run
(PS:安装的过程我是选择了先卸载,后安装,据说直接覆盖也是可以的)
安装成功之后在命令行中输入####nvidia-smi ,有如下显示,则表示CUDA和driver升级成功!
自己遇到的坑:
1、使用nvidia-detect 命令检测,驱动发现符合的驱动版本是410.66,且不在yum中。对于不在yum中,我直接换了yum的环境,但是还是没有,最好的方法是直接下载,使用sudo wget “******(下载的链接)******” 下载的地址是(以CUDA为例),选择“下载按键”后单击右键,选择“复制链接地址”,这样即找到了下载的链接。
nvidia-detec推荐的是410.66的,官网上不一定有,一切以官网的为主。
2、 在GPU的驱动下载过程中,将操作系统(自己的操作系统是centos7)错误的选择了Linux 64-bit RHEL7(正确的应该是Linux 64-bit)。对于这个驱动,也是可以安装的,但是CUDA和驱动的版本并不匹配,所以使用####nvidia-smi命令会有如下的报错:
这样就不得不重新下载正确版本的driver,重新安装后才正确运行。