双系统win10+ubuntu18.04
dell precision-5820-Tower
记录ubuntu18.04安装nvidia驱动、cuda和cudnn的过程。感谢前人的工作。
一、安装驱动
这里我不是在英伟达官网下载的驱动,而是在linux中的软件与更新中安装的。在搜索框中搜索“驱动”或“drive”,选择”software&updates”,之后选择第五个模块”additional Drivers“,根据显示的驱动版本选择自己需要的选中,”apply changes“即可等待安装。如图:
安装完毕后,重启电脑,便会在菜单栏中发现NVIDIA驱动,注意,没有重启电脑也会有它的快捷键,但是点击之后会发现无法打开,重启之后才能打开,如下图:
安装成功。
二、安装cuda
根据驱动选择需要下载的cuda版本号进行下载。
通常文件会被下载到downloads文件夹下,所以在运行下面命令进行安装之前
sudo sh cuda_10.1.105_418.39_linux.run
别忘了先cd Downloads/
定位到downloads文件夹下。
为了防止驱动冲突,这里需要禁用nouveau,装双系统的时候已被禁用,可以用lsmod | grep nouveau
查看是否禁用成功,没有输出即为禁用成功。
运行安装命令之后有个声明,accept接受,之后会有几个可选项,取消第一个”driver“驱动的安装,之前已经安装过。然后移动到“install”安装等待。安装结束之后会有一些安装信息,包括已安装的,未安装的,安装路径,卸载方法,及需要设置的环境变量。
下面就是根据提示的信息设置环境变量
export PATH="/usr/local/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH"
注意版本号的修改。
设置完成后可使用nvcc -V
查询cuda信息。
接下来编译随cuda安装时下载下来的samples例子,
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
cd ../bandwidthTest
sudo make
./bandwidthTest
如果这两个最后的结果都是Result = PASS,说明CUDA安装成功。
最后打开.bashrc文件,将cuda的bin和lib写入系统环境变量中,即在文件最后加上
export CUDA_HOME="/usr/local/cuda-10.1"
export LD_LIBRARY_PATH="/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH"
export PATH="/usr/local/cuda-10.1/bin:$PATH"
注意版本号修改。
保存退出后别忘了source ~/.bashrc
更新。
注意:
1、.bashrc文件就在/home目录下,如果看不见就是文件被隐藏了,使用ctrl+h就能看见隐藏文件。
2、这里插一句卸载方法:上面也提到安装完成的信息提示里面有关于卸载的说明,这里的说明是To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-10.1/bin
. 意思就是在/usr/local/cuda-10.1/bin目录下,运行cuda-uninstaller。注意别忘了sudo,完整命令如下:
sudo ./cuda-uninstaller
3、上面写入环境变量的三句话最好放在.bashrc文件内容的最后面。因为在我安装完成cuda10.1和对应cudnn后,又安装了anaconda,由于这也需要添加环境变量,导致cuda的环境变量设置就不在最后面了,当然这也没导致什么错误,但是当我把cuda10.1卸载,换成10.0之后,把相应环境变量添加进去或者直接把环境变量中的10.1改成10.0之后,source ~/.bashrc
更新,samples都可以成功输出,但是使用nvcc -V
就会报错。当我把那三条环境变量语句剪切到anaconda环境变量的后面,也就是文件内容最后的时候,报错就不见了。所以,如果安装完了cuda,环境变量也设置了,也source ~/.bashrc
更新了,但nvcc还是报错,可以考虑一下这方面的问题。
三、安装cudnn
找到自己需要的版本下载,注意下载”cuDNN Library for Linux“那个。解压缩后进入到该文件夹下,使用如下命令将对应文件移动到cuda相应的文件夹中。也可以从文件夹中手动复制移动。
sudo cp cuda/include/* /usr/local/cuda-10.1/include/
sudo cp cuda/lib64/* /usr/local/cuda-10.1/lib64/
之后添加可执行权限
sudo chmod +x /usr/local/cuda-10.1/include/cudnn.h
sudo chmod +x /usr/local/cuda-10.1/lib64/libcudnn*
完成后,使用如下命令进行检验
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
输出如图所示,即成功安装。
END