背景
之前曾說過使用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文件(better reboot the ubuntu16.04)
sudo update-initramfs -u
關閉圖像界面
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
安裝時一定要在安裝驅動時,選擇no
,打開圖像界面
sudo service lightdm start
使用nvidia-smi
檢查驅動是否安裝成功。
4、安裝CUDA10和cudnn
sudo chmod a+x cuda_10.0.130_410.48_linux.run
sudo sh cuda_10.0.130_410.48_linux.run
sudo dpkg -i libcudnn7_7.5.1.10-1+cuda10.0_amd64.deb
5、驗證
最後選取一個cuda程序驗證一下,本文使用了https://github.com/Yannnnnnnnnnnn/cuda_cmakelists.git測試CUDA是否正常。