问题与背景

在深度学习的ubuntu环境中,装机之后一开始的环境配置,需要配置好显卡驱动、cuda、cudnn的兼容性,不能随意组合,否则会造成程序无法运行的问题。

解决方案与实践

显卡驱动和cuda,是可以捆绑安装的。因为cuda版本在发布的时候会跟某个版本的驱动做适配测试之后然后发布,只需要直接安装cuda的run包就可以直接把cuda和驱动安装好,cudnn用的时候需要注意与cuda的版本匹配,安装的过程比较简单,主要是解压之后,移动到cuda的目录。

cuda 与 显卡驱动

cuda的下载地址:https://developer.nvidia.com/cuda-toolkit-archive

安装的时候,需要选择你的系统的版本,选择对应的程序。

ubuntu18.04安装显卡驱动、cuda、cudnn_ubuntu


安装的时候推荐安装run文件的版本。deb版本的也可以,但是deb版本有个问题,就是会莫名其妙的给你安装最新的cuda,尤其是在你安装过新版cuda装老版cuda的时候,这个问题的出现频率很高。

如果是全新的机器,没安装过高版本的驱动,直接装10.2,用deb是可以装上的。

在安装的过程中需要注意,有一个步骤是要求你属于文件安装位置的,你需要敲击回车键,而不是键入enter。就可以实现安装了。最后问你要不要初始化,输入no。

装完之后需要配置环境变量,在~/.bashrc

# 第一行是export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
# 第二行是export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
装好之后测试一下:
nvcc -V   #查看cuda
nvidia-smi # 查看显卡的驱动情况
cat /proc/driver/nvidia/version # 查看驱动版本

cudnn

cudnn的下载地址:https://developer.nvidia.com/rdp/cudnn-archive
下载完tar文件之后,解压,然后复制对应文件到cuda目录:

tar -xzvf  cudnn-9.0-linux-x64-v7.4.1.5.tgz
sudo cp cuda/include/* /usr/local/cuda-10.2/include
sudo cp cuda/lib64/* /usr/local/cuda-10.2/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo apt-get install libcupti-dev #安装NVIDIA CUDA 分析工具接口,此库提供高级分析支持。

如何卸载已有的cuda和驱动

deb格式卸载

$sudo apt-get remove --purge nvidia*   # 1.删除以前安装的文件
$sudo apt-get remove --purge cuda* # 2.删除以前安装的cuda文件
$sudo apt-get autoclean # 3.自动删除

1.找到cuda文件目录,删掉
2.环境变量中,去掉环境变量的配置
3.source ~/.bashrc

run模式卸载

sudo perl /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl #uninstall cuda
sudo /usr/bin/nvidia-uninstall #uninstall driver

问题总结

1.卸载重装之后,再次安装还是最新版的问题? 使用run版本安装。

2.如果下载的时候,老是参考新版的cuda,可以去你的软件与更新的附件软件里看看,看看是否勾选上了。这是一种类似源的东西。

3.如果是别的过程,直接用ubuntu自带的软件与更新,转英伟达的驱动也行,这种方法没测试过,但是搜到的方案说百分百可以装好的。