安装NVIDIA驱动
问题出现问题解决验证安装是否成功 安装CUDA Tookit
确定cuda版本降低gcc版本官网安装配置环境变量 安装cudnn
下载安装包安装查看cudnn版本 安装NVIDIA驱动
系统版本:Ubuntu20.04
问题出现终端输入 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.
如果有安装过旧的驱动,需要先删除旧的驱动:
sudo apt-get purge nvidia*
安装驱动可以有很多方式,这里选择最简单的图像界面安装:
打开设置->关于->软件与更新->附加驱动,选择相应的驱动版本->点击应用更改。
之后会有一个引导程序,需要输入密码,请记住这个密码!
完成安装后重启电脑,这时会出现一个蓝色界面(perform mok management),(一定记得要重启,我之前安装了很多次都忘记要重启,最后经过这个蓝色界面才安装成功),正确的做法如下:
选择第二个entroll mok进入entroll mok界面,选择continue进入enroll the key 界面,选择 yes接下来输入你在安装驱动时输入的密码之后会跳到蓝色背景的界面perform mok management 选择第一个 reboot 验证安装是否成功
此时可以打开terminal,输入 nvidia-smi,出现类似如下界面即安装成功。
刚刚输入nvidia -smi输出的右上角有一个 CUDA Version显示的是机器所支持的最大Cuda版本号。
此外,CUDA版本选择要看其他上层库的需求,比如TensorFlow,caffe,OpenCV,还有编译环境的需求,比如VisualStudio等。
tensorflow版本要求:https://tensorflow.google.cn/install/source_windows
操作系统和VS编译器需求:(可以在安装指导中找到)
首先Ubuntu 20.04默认g++9版本太高,会导致CUDA无法安装,因此要先降低g++版本。
sudo apt-get install gcc-7 g++-7 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 sudo update-alternatives --display gcc sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1 sudo update-alternatives --display g++
官网安装 https://developer.nvidia.con/cuda-toolkit-archive
这里展示10.0的安装 https://developer.nvidia.cn/cuda-10.0-download-archive
点击Download下载后,打开终端,按如下步骤进行:
sudo bash cuda_10.0.130_410.48_linux.run(注意替换为自己的文件名)压住回车键,直到服务条款显示到100%。接着按下面的步骤选择:acceptn(不要安装driver)yyy
配置环境变量打开终端,输入 sudo gedit ~/.bashrc文件末尾输入以下内容,保存
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64export PATH=$PATH:/usr/local/cuda-10.0/binexport CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
终端运行 source ~/.bashrc检查:nvcc --version 安装cudnn 下载安装包
按需求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive
安装解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:
sudo cp cuda/include/cudnn* /usr/local/cuda/include/sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/sudo chmod a+r /usr/local/cuda/include/cudnn*sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
查看cudnn版本在终端输入:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2