1 ubuntu18.04
1.1 win10安装ubuntu18.04双系统
参考这个安装教程,大概可以分为以下三步:
1.1.1 磁盘管理
创建空白分区,留出ubuntu系统要使用的空间。
1.1.2 制作u盘启动盘
下载ubuntu desktop。
下载软碟通。
写入硬盘映像。
1.1.3 u盘安装
进入bios设置usb启动,不同计算机的快捷键不同,自行搜索。
插入u盘,重启计算机。
安装ubuntu,并搞定基本设置。
1.2 卸载ubuntu
这一步本来可以没有,但在之后安装cuda的过程中,出过许多错误踩过太多的坑(sad),把系统搞得乱七八糟,一气之下就重装ubuntu了。
网上教程很多,比较高级的是在命令行里搞,但我水平不行呀,就偷懒找了个最简单的,看这里。
1.2.1 EasyUEFI
免费版的就可以。进入管理EFI启动项,选中ubuntu并点击删除。
这个软件真的不错,可以把usb启动搞到windows之前,这样就不用再去bios设置了,方便之后重装双系统。
1.2.2 磁盘管理
把之前所分配的空间“删除卷”进行释放。
这么简单几步就能卸载ubuntu系统了,然后又可以愉快的重新安装双系统了呢。之后遇到的坑太多,我在卸载和重装之间搞了好几轮,简直不想再回忆了(哇哇大哭)。
2 cuda10.2
一开始根据官方指南,但是不成功。
在网上看了许多教程,发现方法挺多的,试了一些,但也不行,还搞不清楚原因。
最后成功的步骤大多数是参考这一篇。
2.1 bios禁用secure boot
这一步挺重要的,即使官方指南没有。
同样地,不同计算机的设置方式不同,自行搜索。
2.2 相关信息查询
这个跟着官方指南来就行了。我查了以下几项:
lspci | grep -i nvidia
uname -m && cat /etc/*release
gcc --version
uname -r
有什么不对劲的地方要补救。比如我遇到的情况是缺gcc,就根据提示自己装了gcc。
2.3 安装nvidia驱动
打开终端,输入lshw -c video
。
在configuration那里的driver可以看到目前的显卡驱动,默认的是nouveau。
2.3.1 卸载之前的驱动
第一次安装不需要这一步,如果之后安装的版本不对或者有问题,重新安装之前需要先卸载。
sudo apt-get remove --purge nvidia*
2.3.2 禁用nouveau
一定要先禁用默认驱动:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
填写禁用内容并保存:
blacklist nouveau
options nouveau modeset=0
更新配置文件:
sudo update-initramfs -u
reboot
重启计算机,检查禁用是否生效:
lsmod | grep nouveau
若无输出,则说明生效。
或者lshw -c video
,发现driver不见了。
2.3.3 安装nvidia
安装方法很多,我见过的就有三种,但最后成功的是ppa。
添加ppa
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
查询合适的版本
ubuntu-drivers devices
在末尾带有recommended的版本就是要安装的版本。目前我这里的情况是440。
安装并重启
sudo apt-get install nvidia-driver-440
sudo reboot
查看安装情况
sudo nvidia-smi
sudo nvidia-settings
或者lshw -c video
。
2.4 安装cuda
2.4.1 下载cuda
根据系统信息,去官网下载runfile:
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
2.4.2 安装依赖库
为什么要下载这个我也不清楚,我看的教程也不是很清楚(禁止套娃),反正下载就是了。
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
2.4.3 运行runfile
sudo sh cuda_10.2.89_440.33.01_linux.run
重要!!!!在安装过程中会提示是否需要安装显卡驱动,在这里要选择n,其他的选择y。
2.4.4 环境配置
sudo gedit ~/.bashrc
打开了一个配置文件,在末尾添加信息并保存:
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
最后执行:
source ~/.bashrc
2.5 测试
查看安装版本:
nvcc -V
cat /usr/local/cuda/version.txt
还可以用例子来测试,这是其中之一。
cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
最后的result是pass,则说明成功!!
3 cudnn7.6.5
cudnn是一个常见的神经网络层加速库文件,其能够很大程度的把加载到显卡上的网络层数据进行优化计算。
GPU, CUDA,cuDNN三者的关系总结
这个就比较简单了,下载安装即可,看这里。
- 进入官网并注册登录。
- 选择合适的版本,并下载cuDNN Library for Linux。
- 解压tgz文件。
- 进入目录打开终端:
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 /usr/local/cuda/lib64/libcudnn*
- 查看版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2