说在前面:
NVIDIA的显卡驱动与CUDA的版本并不是严格的一一对应关系,CUDA实际上也只是一个工具包,我们可以根据自己的需求进行安装,即可以安装多个CUDA版本。同时CUDNN是一个SDK,专门用于神经网络的加速包,它与CUDA也没有严格的一一对应关系,可以选择多个版本的CUDNN进行安装。虽然说不是严格的对应,不过还是要服从大版本的对应,即
安装之前查看GPU驱动版本与CUDA版本的对应关系,选择对应的版本进行安装,避免不兼容而报错的错误。
查看版本对应关系https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
查看服务器已经安装的显卡驱动的版本:
nvidia-smi
红框对应的即为驱动的版本 ,可以看到最大支持cuda11.2选择与之对应的cuda版本进行下载即可。
查看自己的显卡信息:
lspci | grep -i nvidia
下载cuda:
进入之后选择与服务器匹配的版本,并进行下载,我这里选择的是9.2版本进行下载,主要是显卡不行:
箭头指向的地方根据自己的需求进行选择,然后点击下载就好了,下载好以后是一个.run文件。
将下载好的文件上传至服务器节点,然后运行下面的命令,开始安装:
sudo sh cuda_9.2.148_396.37_linux.run
会有很长的输出信息,按空格阅读。
同意协议,输入同意并回车:
在选择是否需要安装Dvice时,选择no,因为原有的服务器已将安装好了驱动程序,现在再安装驱动程序就会导致CUDA安装失败,同时这个安装的驱动程序也会和你原有的驱动程序冲突。
这是安装好之后的summary,总结信息,以及下面的一些操作提示和信息确认,以及环境变量的添加方法。
添加环境变量:
vim ~/.bashrc
在文件中添加如下语句:
export PATH=/usr/local/cuda-9.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
然后激活环境变量:
source ~/.bashrc
验证是否安装成功:
nvcc -V
输出如下:
则安装成功。
下载cudnn:
cudnn下载https://developer.nvidia.com/rdp/cudnn-archive
选择对应的版本并下载,下载完成之后是一个.tgz文件。并将其上传至服务器节点。
进入cudnn的存储路径,进行解压:
tar -xzvf cudnn-9.2-linux-x64-v7.2.1.38.tgz
然后在当前路径输入命令:
复制文件:
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.2/lib64
添加读取权限:
sudo chmod a+r /usr/local/cuda-9.2/include/cudnn.h /usr/local/cuda-9.2/lib64/libcudnn*
至此全部成功安装。