Ubuntu16.04:NVIDIA cuda10.0安装

背景

之前曾说过使用sudo ubuntu-drivers devices来安装显卡驱动,这样可以保证基本上不出大问题。然而世界上的事情都是舍不得孩子套不住狼;使用这种默认方法安装的驱动版本太低,仅仅能安装cuda8.0,实在难以想象。所以我决定重新安装一次ubuntu系统,然后从头安装一次驱动,并按照cuda10。
参考教材:
https://www.cnblogs.com/fanminhao/p/8902296.html
http://www.cnblogs.com/fanminhao/p/8902378.html
https://www.cnblogs.com/gambler/p/9574596.html


流程

1、安装ubuntu后更新

非常重要!!!

sudo apt-get update
sudo apt-get upgrade

2、更新Ubuntu Kernel

在更新kernel前,首先要安装libssl1.1.0,这个链接如下:
百度网盘地址
https://pan.baidu.com/s/155rYJB2NnAvGOW65zVpCvQ 密码: 5mdr

由于我的电脑的amd64,所以从https://kernel.ubuntu.com/~kernel-ppa/mainline/上选择一个比较新的Kernel,本次选择的是kernel v4.20,下载以下文件并放到一个单独文件夹(不能保证其他核也行):

  linux-headers-4.20.0-042000_4.20.0-042000.201812232030_all.deb
  linux-headers-4.20.0-042000-generic_4.20.0-042000.201812232030_amd64.deb
  linux-image-unsigned-4.20.0-042000-generic_4.20.0-042000.201812232030_amd64.deb
  linux-modules-4.20.0-042000-generic_4.20.0-042000.201812232030_amd64.deb

最后通过sudo dpkg -i *.deb安装新的内核,最后重启后通过uname -sr查看内核是否安装成功。

3、NVIDIA最新驱动

首先屏蔽nouveau驱动

sudo chmod 666 /etc/modprobe.d/blacklist.conf
sudo gedit /etc/modprobe.d/blacklist.conf

添加

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

更新blacklist.conf文件

 sudo update-initramfs -u

关闭图像界面,准备安装显卡。
此处需要额外注意,ubuntu16.04由于gcc/g++版本较低,所以配合CUDA10.0,建议使用418.30。目前比较新版本的驱动,几乎都不能使用。
另外需要注意的是,驱动版本必须满足CUDA的要求,如下:
Ubuntu16.04:NVIDIA cuda10.0安装_第1张图片

sudo service lightdm stop
sudo chmod a+x NVIDIA-Linux-x86_64-xxx.run
sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files
sudo service lightdm start

使用nvidia-smi检查驱动是否安装成功。

4、安装CUDA10和cudnn

4.1 安装CUDA10.0

sudo chmod a+x cuda_10.0.130_410.48_linux.run
sudo ./cuda_10.0.130_410.48_linux.run

安装时一定要在安装驱动时,选择no,打开图像界面
此时一般nvcc还没有加入全局环境,打开sudo gedit ~/.bashrc添加

export PATH=$PATH:/usr/local/cuda/bin    
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/bin/lib64:$LD_LIBRARY_PATH

然后再source ~/.bashrc后,即可用nvcc --version看版本信息。

4.2 安装cudnn

解压压缩包后,执行以下命令


sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

5、验证

最后选取一个cuda程序验证一下,本文使用了https://github.com/Yannnnnnnnnnnn/cuda_cmakelists.git测试CUDA是否正常。

你可能感兴趣的:(CUDA)