Nouveau为linux自带驱动,非官方驱动(参考这里),若安装nvidia驱动,需将其禁掉,即将其加入黑名单:
sudo apt-get update
sudo gedit /etc/modprobe.d/blacklist.conf
在blacklist.conf最下方添加
blacklist nouveau #(在文件中添加该命令,然后保存退出)
然后执行
sudo update-initramfs -u
最后重启生效
reboot
查看是否禁用成功,输入一下命令,无输出为禁用成功
lsmod |grep nouv*
nvidia驱动安装有很多种方式,本人比较习惯ppa安装,为了安装比较快,首先更改为清华镜像源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup #备份系统文件
sudo gedit /etc/apt/sources.list #修改配置
打开后将里面内容全部删除,替换为清华开源镜像中16.04的source.list内容(如下):
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
接下来添加ppa源
sudo add-apt-repository ppa:xorg-edgers/ppa #添加ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa #添加ppa源
sudo apt-get update #更新软件包
查看合适版本的nvidia驱动
ubuntu-drivers devices
(大多数选择recommended的,但是此处我提前看了cuda版本cuda_10.1.243_418.87.00_linux.run,里面有写418,所以为了以防万一,,,,,我选择安装418【我也不确定是否合理】)
接下来,到了最重要的安装环节
首先进入命令行桌面(ctrl+f1~f6)【图形界面:ctrl+f7】
sudo service lightdm stop #关闭图形界面
sudo apt-get install nvidia-418 #安装
sudo service lightdm start
reboot #重启
重启后可以查看下是否安装成功
nvidia-smi
去官网选择合适版本,并按照指令安装(如下)
会提醒balabala,但是倔强的我依旧选择continue(滋滋滋...)
由于前面已经安装了驱动,这里把驱动部分取消,其他默认即可【上下:移动,左右:展开,回车:选择/取消,最后install】
最后安装成功如下
【注意!!!!上面有说,卸载cuda指令,即运行/usr/local/cuda-10.1/bin下面的cuda-uninstaller】
验证一下 nvcc -V ,是否安装成功,结果显示未安装,,,,,
别慌,吃口药(欸???好像暴露了什么)
因为我们还没添加环境变量,cuda还没生效
打开.bashrc文件
geit ~/.bashrc
#也可以ctrl+h显示出隐藏文件,直接双击进去
添加如下指令,并保存
export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
最后使环境变量生效
source ~/.bashrc
此时再测试就可以通过了
nvcc -V
#或者切换到samples文件夹下(以1_Utilities/deviceQuery为例)
make
./deviceQuery
nvidia-smi
去官网下载【需要注册登录】并解压
安装cudnn比较简单,简单地说,就是复制几个文件:库文件和头文件。将cudnn的头文件复制到cuda安装路径的include路径下,将cudnn的库文件复制到cuda安装路径的lib64路径下
#切换到刚刚解压出来的文件夹路径
cd cuda
#复制include里的头文件(记得转到include文件里执行下面命令)
sudo cp /include/cudnn.h /usr/local/cuda/include/
#复制lib64下的lib文件到cuda安装路径下的lib64(记得转到lib64文件里执行下面命令)
sudo cp lib* /usr/local/cuda/lib64/
#设置权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
#======更新软连接======
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件,版本号注意变化,可在cudnn的lib64文件夹中查看
sudo ln -s libcudnn.so.7.6.2 libcudnn.so.7 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
sudo ldconfig -v #立刻生效
可以使用nvcc -V测试一下,也可以使用cudnn测试样例测试一下
至此,环境配置完成
驱动安装参考:https://blog.csdn.net/qq_27009517/article/details/89631854
cudnn参考:https://www.cnblogs.com/xuliangxing/p/7575586.html