【环境】ubuntu18.04安装CUDA和cuDNN

安装CUDA和cuDNN

安装驱动

安装驱动可以到Nvidia的驱动官网下载,然后按照提示安装。
当在服务器上没有图形用户界面时,一般的方法比较繁琐。此时可以使用如下方法,该方法参考自Github上这个库中的方法。

添加驱动到source list

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt upgrade

使用如下命令查看什么驱动会被安装

ubuntu-drivers devices

输入如下命令可以自动安装最新的驱动

sudo ubuntu-drivers autoinstall

重启后输入如下命令即可查看显卡的状态

nvidia-smi

安装CUDA

下载CUDA,这里CUDA10.1为例子。首先进入Nvidia的CUDA官网,选择CUDA10.1的update 2版本下载。
【环境】ubuntu18.04安装CUDA和cuDNN_第1张图片
也可以复制下载的链接,直接在Google Chrome里面下载。下载好以后进入到文件所在的路径下面,输入如下命令

sudo sh cuda_10.1.243_418.87.00_linux.run --override --silent --toolkit

安装cuDNN

进入到cuDNN官网,选择和CUDA版本相匹配的版本,这里以cuDNN v8.0.5为例,选择cuDNN Library for Linux下载。注意这里需要登录,没有账号的需要注册一个。
【环境】ubuntu18.04安装CUDA和cuDNN_第2张图片
下载完成后会得到一个.tgz的压缩包,解压得到一个名为cuda的目录,进入目录所在路径,执行以下命令

sudo cp cuda/include/* /usr/local/cuda-10.1/include
sudo cp cuda/lib64/* /usr/local/cuda-10.1/lib64
sudo chmod a+r -R /usr/local/cuda-10.1/include/* /usr/local/cuda-10.1/lib64/*

添加环境变量

输入以下命令

vim ~/.bashrc

在末尾添加如下内容

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

保存后退出,在terminal中输入如下命令,使得添加的内容生效

source ~/.bashrc
sudo ldconfig

在terminal中输入如下命令,查看是否添加成功。

echo $CUDA_HOME

如果成功输出路径,则表明添加成功。

添加链接

一般情况下,安装CUDA的时候,会在cuda-10.1文件夹同级的路径下面添加其链接文件,也就是在/etc/local/下会有名为cuda的链接文件。我们在环境变量中添加的路径也就是链接文件的路径。环境变量设置为链接文件的路径有一些好处。首先链接文件只是一个链接,需要制定指向的内容,其本身不占据什么硬盘的空间。其次,我们只需修改链接文件,即可实现CUDA版本的切换。

在相同的路径下我们新建一个脚本,用于创建cuda链接文件。代码如下

#!/bin/bash
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda

命名为install_cuda_10_1.sh。以后执行该脚本即可完成cuda链接文件的创建。

如果安装了别的版本的CUDA,可以编写其它的链接文件,此时只需将上面代码中的cuda-10.1改为别的cuda文件夹名称,然后保存为另外的脚本即可。需要切换CUDA版本时只需要执行相应的脚本。

在terminal中输入

nvcc --version

输出
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
则表示CUDA已经安装成功

在pytorch1.6.0中测试以下能否使用CUDA,执行以下代码

import torch
print(torch.cuda.is_available())

如果输出True,则表明已经可以正常使用了。

添加pip源

Ubuntu添加pip源

查看有没有~/.pip/pip.conf文件夹,如果没有需要建立

cd ~ && mkdir .pip
cd .pip && vim pip.conf

pip.conf中写到

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

一些源的地址如下

地址
清华 https://pypi.tuna.tsinghua.edu.cn/simple
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学 http://pypi.hustunique.com/
山东理工大学 http://pypi.sdutlinux.org/
豆瓣 http://pypi.douban.com/simple/

windows添加pip源

按住win+E打开文件夹,在路径上输入%appdata%进入目录。如果没有pip文件夹需要创建,然后在文件夹里面创建pip.ini
在这里插入图片描述
在文件中写入上述pip.conf一样的配置即可。

卸载CUDA

进入cuda-10.1文件夹,进入bin目录,找到带有uninstall名称的文件执行即可,本人为cuda-10.1/bin/cuda-uninstaller。进入后勾选卸载的内容,执行即可。

执行完成后,可能保留有cuDNN和其它的残余文件,直接将cuda-10.1目录都删除即可。此时会发现,cuda的链接文件已经被删除了,否则自己手动删除该链接文件。

安装时遇到空间不够问题

安装CUDA时空间不够

如果安装CUDA时显示
terminate called after throwing an instance of ‘boost::filesystem::filesystem_error’ what(): boost::filesystem::copy_file: No such file or directory: “./builds/cuda-toolkit/nvml/example/supportedVgpus.c”, “/usr/local/cuda-10.1/nvml/example/supportedVgpus.c” Aborted (core dumped)
则表明根目录不够大,则无法安装。可以删除一些系统日志文件或者安装在/opt下没用的应用,以扩大空间,最后保证起码有8G的空间。

安装cuDNN时发现空间不够

此时不会报错,只是你的根目录已经没有多余的空间了,此时很可能tab键的补全都用不了了。此时如果贸然重启电脑,会陷入开不了机的情况。

如果没有重启,则于上一种情况一样,将cuda卸载,然后清理一些空间再安装。

如果真的重启了,此时不能正确启动,因为没有空间留给系统需要创建的临时文件。解决方法是在grub页面进入recovery mode,选择root。在安全模式下可以进入/usr/local/,执行如下命令

sudo du -cks * | sort -rn | head -10

查看当前目录下最大的10个文件,降序排序,发现果然是CUDA太大了。按上述方法卸载CUDA后,就能成功启动啦 ~(≧▽≦)/~

你可能感兴趣的:(DeepLearning,ubuntu,cuda,cudnn)