前言
前前后后一共装了3次GPU, 我太菜了以至于每次的经历都不够顺利。第三次的笔记比较详尽,还记录了自己的心情,其中每个部分也附上了相应的参考链接。如果有兄弟姐妹也需要装Nvidia的GPU,希望这篇文章能有些帮助。能力有限,欢迎指正!
硬软件环境
Geforce 1060 5G
Ubuntu 16.04_x86-64
过程,awsl
1. 下载
版本对应关系:https://blog.csdn.net/yuejisuo1948/article/details/81043962
下载nvidia-driver.run
下载cuda-9.0.deb
下载cudnn-7.tar.gz
2. 安装相关依赖
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev \
libopencv-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
3. 禁用图形界面 & 禁用 nouveau
- 禁用图形界面:
$ sudo service lightdm stop 或 sudo /etc/init.d/lightdm stop
- 禁用nouveau:
安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在/etc/modprobe.d/blacklist.conf文件中添加一条禁用命令
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
执行如下命令:
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
最后更新后重启电脑
sudo update-initramfs -u
reboot
4. 安装NVIDIA-driver:
上面一步重启之后还是会进入图形界面,所以:
sudo service lightdm stop
现在就只有命令行界面了:
给NVIDIA.run权限,然后安装:
chmod +x ***.run
./***.run # root权限下安装
Reference: https://blog.csdn.net/lgdblue/article/details/8634640
检查是否安装完毕
$ nvidia-smi # 成功!感人!
Reference: https://blog.csdn.net/u014797226/article/details/79626693
按↑这个之后会出现这种错误:Failed to initialize NVML: Driver/library version mismatch
甚至是开机没有图形界面也可以用下面的命令解决
解决办法:https://www.cnblogs.com/crackpotisback/p/9116525.html
$ sudo rmmod nvidia_drm
$ sudo rmmod nvidia_modeset
$ sudo rmmod nvidia_uvm
$ sudo rmmod nvidia
$ sudo nvidia-smi
//sudo lsof /dev/nvidia*
$ lsmod | grep nvidia
>>> you should get nothing, then confirm you can load the correct driver
$ nvidia-smi
开机没有图形界面..... 又重装了一遍, 按楼上那个
卸载用这个命令
$ sudo apt-get remove --purge nvidia*
5. 安装cuda
在下载步骤下载的是.deb格式的,按如下安装
$ sudo dpkg -i cuda-repo*.deb
$ sudo apt-get update
$ sudo apt-get install cuda
环境变量,打开~/.bashrc ,添加环境变量
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
然后:
$ source .bashrc
$ nvcc --version
6. Cudnn
根据这个链接的cudnn部分安装即可:
https://blog.csdn.net/oTengYue/article/details/79506758
下载后进行解压:
$ tar -zxvf cudnn-8.0-linux-x64-v5.0-ga.tgz
进入cuDNN5.0解压之后的include目录,在命令行进行如下操作:
$ cd cuda/include
$ sudo cp cudnn.h /usr/local/cuda/include #复制头文件
再将进入lib64目录下的动态文件进行复制和链接:
$ cd ..
$ cd lib64
$ sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
$ cd /usr/local/cuda/lib64/
$ sudo chmod +r libcudnn.so.5.0.5
$ sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig
7. Tensorflow-GPU
别忘了把tensorflow变成GPU版本
$ pip3 install tensorflow-gpu==1.12.0
搞定! :)