CUDA
CUDA:是Nvidia推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的,几乎无一例外。还有一个叫做cudnn,是针对深度卷积神经网络的加速库。
总而言之,为了更好的使用Nvidia的显卡进行深度学习的加速,你就要安装他的环境,接下来看看怎么安装这个环境
- Step One: 进行环境检查
ubuntu-drivers devices
用来检测你的NVIDIA图形卡和推荐的驱动程序的模型。能够显示显卡信息即可。
- Step Two: 驱动及CUDA安装
![v2-e91a08b796b8d3032a9cf169e86357b9_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=7debf932-6c2f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-e91a08b796b8d3032a9cf169e86357b9_b.jpg)
根据cuDNN的版本来选择,这里面选择的是CUDA9.2,虽然现在在CUDA上已经有cuda10.0可以选择,并且支持Ubuntu18.04,但是目前好像tensorflow和pytorch还没有支持(可能是我信息有误)。
注意一点:
在这里下载的是CUDA的runfile(local)版本(可以选择Ubuntu的16.04版本),并将其移动到 /home 文件夹,重命名为cuda_9.2.148_396.37_linux.run
- 检查是否禁用 nouveau 驱动 在终端中运行如下命令:
lsmod | grep nouveau
如果没有输出显示则证明已经认证,如果有输出显示则需要禁用 - 禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动。执行如下命令:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在文档的最后加上如下内容: blacklist nouveau
options nouveau modeset=0保存退出后执行:sudo update-initramfs -u
在经过 1 中所提到的命令进行验证是否禁用成功。如果无输出则证明禁用成功 - 安装cuda示例所需依赖。
sudo apt install libgl-dev libglu-dev libx11-dev libegl1-mesa-dev libgles2-mesa-dev libmpich-dev
- 安装CUDA9.2 重启后执行如下命令,停止X桌面服务
/etc/init.d/lightdm stop
这个时候屏幕就黑了,按下ctrl+alt+F1 输入用户名和密码进行登录(尽量避免小键盘输入)
给下载的run文件加执行权限,并运行chmod a+x cuda_9.2.148_396.37_linux.run ./cuda_9.2.148_396.37_linux.run
按提示操作。问yes/no的问题都选yes。 5. 安装完成后重启
- Step Three: 将cuda加入系统路径中
在/etc/profile文件中加入如下内容
export PATH=/usr/local/cuda/bin:$PATH
将cuda示例的所有者从root改为当前用户(默认情况示例会被自动安装在sudo用户的$HOME下)。
chown -R booksword:booksword NVIDIA_CUDA-9.2_Samples/
编译示例。
# force input macro value as linux mint is not officially supported
GLPATH="/usr/lib/x86_64-linux-gnu" GLLINK="-L/usr/lib/x86_64-linux-gnu" DFLT_PATH="/usr/lib" EGLLIB="/usr/lib/x86_64-linux-gnu" GLESLIB="/usr/lib/x86_64-linux-gnu" make -j6
- Step Four: 安装cuDNN
下载文件的方式安装CnDNN,适用于Linux的cuDNN库,并解压tgz文件得到两个文件夹
对文件夹中的文件进行权限控制
cd cuda
chmod a+x -R ./lib64
chmod a+x -R ./include
将文件移动到对应的文件夹中,这么做的好处是如果出现问题删除相应的文件即可,简单便捷
sudo cp ./include/*.h /usr/local/cuda/include/
sudo cp ./lib64/* /usr/local/cuda/lib64/
添加环境变量的路径
cd ~
sudo vim .bashrc
添加如下:
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda