Ubuntu16.04安装CUDA-10.1及cuDNN-v7.6

一、CUDA-10.1安装:

说明:NVIDIA驱动版本需要与CUDA版本对应,具体参考下图。在这里插入图片描述

1. 下载cuda安装包:

2. 下载完后,用MD5检验:

  • 建议将下载的cuda_10.1.243_418.87.00_linux.run放在home目录下。
  • 用MD5检验,输入以下命令,出现类似以下信息即可。如果序号不和,得重新下载:
md5sum cuda_10.1.243_418.87.00_linux.run

在这里插入图片描述

3. 安装前,首先要禁用 nouveau驱动:

(因安装NVIDIA驱动时已经禁用),在终端运行:

lsmod | grep nouveau
  • 若无内容输出,则表示禁用成功。
  • 如果有输出则代表nouveau正在加载,需要手动禁掉nouveau,可参考上篇博客安装NVIDIA驱动时的操作。

4. 按 Ctrl+Alt+F1 至 Ctrl+Alt+F6(其中任意一个)进入命令行界面:

登录账户

5. 关闭图形化界面:

 sudo service lightdm stop

6. 进行安装:

sudo sh cuda_10.1.243_418.87.00_linux.run --no-opengl-libs

!!!重点:要么在此处加上 --no-opengl-libs 选项,要么在后面通过交互式界面进行手动选择。建议在这里加上!!!

  • 执行命令后,稍等一会儿,会出现交互界面,输入 accept;
  • 然后出现选择页面进行手动设置(如是否安装NVIDIA驱动及驱动设置),因上篇博客已安装过最新的NVIDIA驱动,所以这里不再安装NVIDIA驱动,即Driver项不勾选,类似下图!
    在这里插入图片描述
  • 若前面没有加 --no-opengl-libs 选项,则此处要在options里手动勾选do not install OpenGL项,即不安装OpenGL!最后选择 install .
    !!!注意:若不小心安装了 OpenGL,则后面会遇到循环登陆的问题,原因就是 NVIDIA 显卡的 OpenGL 库覆盖了当前 Intel 显卡的库。解决办法是再登入到文本命令行模式,用以下命令先卸载 CUDA 和 NVIDIA 驱动,再按正确的步骤重新安装 NVIDIA 驱动和 CUDA:
sudo /usr/local/cuda-10.1/bin/cuda-uninstaller 
sudo /usr/bin/nvidia-uninstall

(NVIDIA 驱动安装可参考上一篇博客)

7. 安装完成后,重启电脑,检查Device Node Verification:

输入以下命令:

ls /dev/nvidia*

可能出现a、b两种结果,请对号入座。
a. 若结果显示:

/dev/nvidia0      /dev/nvidiactl      /dev/nvidia-uvm

或显示出类似的信息,应该有三个(包含一个类似/dev/nvidia-nvm的),则表示安装成功。
b. 也可能会是这样:

ls: cannot access/dev/nvidia*: No such file or directory

或是这样的,只出现:

/dev/nvidia0     /dev/nvidiactl

即a中的一个或两个,但没有/dev/nvidia-num,表示文件显示不全,则进行如下操作:

sudo vim /etc/rc.local
  • 如果你是第一次打开这个文件,它应该是空的(除了一行又一行的#注释项外)。文件的第一行是:
#!/bin/sh -e

把-e去掉(这步很重要,否则它不会加载这文本的内容)。

  • 然后把下列内容复制到exit 0之前,保存退出。
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
#Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done

mknod -m 666 /dev/nvidiactl c 195 255

else
exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
#Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi

8. 重启,再次输入以下命令:

ls /dev/nvidia*

若显示以下三个文件,则说明安装成功;若没有,检查写入的内容是否正确,并重启后再次查看:

/dev/nvidia0       /dev/nvidiactl       /dev/nvidia-uvm

9. 设置环境变量,写入 /etc/profile 文件:

在终端中输入:

sudo gedit /etc/profile

在打开的文件末尾,添加以下两行(64位系统为lib64,32位系统为lib):

export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存文件,并重启。因为source /etc/profile是临时生效,重启电脑才是永久生效。

10. 重启电脑后,检查上述的环境变量是否设置成功:

  • 验证驱动版本,输入:
cat /proc/driver/nvidia/version 

结果显示:
在这里插入图片描述

  • 验证CUDA Toolkit,输入:
nvcc -V

结果显示:
在这里插入图片描述

11. 尝试编译cuda提供的例子:

打开终端,输入:

cd /home/xxx/NVIDIA_CUDA-10.1_Samples
make

系统就会自动进入到编译过程,整个过程大概需要十几到二十分钟,请耐心等待。(第一次运行时可能会报错,提示的错误信息可能会是系统中没有gcc,解决办法就是通过命令重新安装gcc就行,在终端输入:$ sudo apt-get install gcc 安装完gcc后, 再make就正常了。)

如果编译成功,最后会显示Finished building CUDA samples,如下图所示:
在这里插入图片描述
运行编译生成的二进制文件。编译后的二进制文件默认存放在NVIDIA_CUDA-10.1_Samples/bin中,接着在终端中输入:

cd /home/xxx/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release       #其中xxx是你自己的用户名
./deviceQuery  

结果如下图所示,看到 Result = PASS 代表 CUDA 安装且配置成功,若失败 Result = FAIL:
在这里插入图片描述
最后再检查一下系统和 CUDA-Capable device 的连接情况。在终端输入:

./bandwidthTest 

显示如下图片,则代表成功:
在这里插入图片描述

二、cuDNN-v7.6安装:

若之前安装过,需先删除旧版本的cuDNN:

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

1. 从Nvidia官网下载对应版本的安装文件:

官网:https://developer.nvidia.com/rdp/cudnn-archive
在这里插入图片描述
这里选择 Installing From A Tar File 的方式进行安装,因此点击 cuDNN Library for Linux 进行下载。

2. 解压下载的文件:

可以看到cuda文件夹:

tar -xvf cudnn-10.1-linux-x64-v7.6.3.30.tgz

在这里插入图片描述

3. 复制以下文件到 CUDA Toolkit 目录,并改变文件的权限:

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*

4. 查看cudnn版本:

在终端输入:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

出现如下图所示的版本信息,说明安装成功:
在这里插入图片描述
大功告成啦!

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值