ubuntu18.04安装CUDA和cuDNN

安装CUDA和cuDNN

升级驱动

首先将显卡驱动升级到最新版本。(如果没有安装驱动,可能这一步会失败,请先到Nvidia的驱动官网下载。)在shell中输入

sudo apt-get update
sudo apt-get upgrade

安装CUDA

下载CUDA,这里CUDA10.1为例子。首先进入Nvidia的CUDA官网,选择CUDA10.1版本。
ubuntu18.04安装CUDA和cuDNN
也可以复制下载的链接,直接在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
下载完成后会得到一个.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已经安装成功

卸载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/,卸载CUDA,就能成功启动啦 ~(≧▽≦)/~

上一篇:显卡+cuda+cudnn+tensorflow安装教程


下一篇:android获得屏幕高度和宽度