ubuntu16.04安装cuda10.1(自测有效)和cudnn

1. 前言

这里直接用 cuda安装文件同时安装 NVIDIA 驱动和 CUDA,没有单独安装更高版本的 NVIDIA 驱动;
此安装是在 Intel 集显下的图形化界面,即用集显做 display,用 NVIDIA 独显做计算;循环登陆问题是因为安装时没有加 --no-opengl-libs 参数,默认安装了 OpenGL,覆盖掉了原来显卡的 OpenGL 库
若事先单独安装了 NVIDIA 驱动,且在 NVIDIA 显卡下的图形化界面安装 cuda(即用 NVIDIA 显示同时做显示和计算),则在安装 cuda 时,取消安装 NVIDIA 驱动的选项
关于自己的电脑 GPU,Linux内核等是否满足安装 cuda的要求,请参考官方安装指南

2. 下载安装文件和官方指南

登陆官网 https://developer.nvidia.com/cuda-downloads,下载相应版本的安装文件,注意安装文件类型选择 runfile(local)

3. 禁用 nouveau 驱动(nouveau是 ubuntu16.04 默认安装的第三方开源驱动,安装cuda会跟nouveau冲突,需要先禁用)

先查看 nouveau 是否被禁用,输入以下命令,若有输出,则说明 nouveau 在运行中

lsmod | grep nouveau

修改 /etc/modprobe.d/blacklist.conf 文件

sudo vim /etc/modprobe.d/blacklist.conf

在末尾加入

blacklist nouveau
options nouveau modeset=0

执行以下命令,并重启

sudo update-initramfs –u

再执行以下命令,查看 nouveau 是否已被禁用,若无任何输出,说明禁用成功

lsmod | grep nouveau

4. 文本命令行模式运行 runfile 文件安装CUDA
按 Ctrl + Alt + F1 键进入文本命令行模式,输入用户名和密码
先关闭图形化界面

sudo service lightdm stop

cd 到 runfile 文件保存的路径,进行安装(重点!!! 要么在此处加上 --no-opengl-libs 选项,要么在后面通过交互式界面进行手动选择)

sudo sh cuda_10.1.168_418.67_linux.run --no-opengl-libs

执行命令后,稍等一会儿,会出现交互界面,输入 accept,过一会儿会出来选择页面进行手动设置(如是否安装 nvidia 驱动及驱动设置),最后选择 install

注意:若不小心安装了 OpenGL,则后面会遇到循环登陆的问题,原因就是 NVIDIA显卡 的 OpenGL 库覆盖了当前 Intel 显卡的库,解决办法是再登入到文本命令行模式,用以下命令先卸载 cuda 和 NVIDIA驱动,再按正确的步骤重新安装

sudo /usr/local/cuda-10.1/bin/cuda-uninstaller
sudo /usr/bin/nvidia-uninstall

若能重新进入图形化界面,则基本安装成功

sudo service lightdm start
  1. 检查 Device Node Verification
ls /dev/nvidia*

若结果显示 /dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm,则说明安装成功;若显示类似 No such file or directory等信息,则进行如下操作

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在这里插入代码片

重启后,再次输入以下命令,此时应该会出现 /dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm,说明安装成功

ls /dev/nvidia*

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

sudo vim /etc/profile

在最后加入两行(64位系统为lib64,32位系统为lib)

export PATH="/usr/local/cuda-10.1/bin:$PATH"

export LD_LIBRARY_PATH="/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH"

重启,检查环境变量是否设置成功

验证驱动版本

cat /proc/driver/nvidia/version

验证CUDA Toolkit

# 设置环境变量后,重启生效
nvcc -V

7. 编译 cuda 提供的 samples

cd /home/xxx/NVIDIA_CUDA-10.1_Samples
make

等待一段时间,编译 成功后,二进制文件会存放在 NVIDIA_CUDA-10.1_Samples/bin 中,执行下面的二进制文件,看是否成功

cd /home/lxxx/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release
./deviceQuery

在这里插入图片描述

./bandwidthTest

若出现以下信息,则说明成功
在这里插入图片描述

第二步:安装cudnn
1.官网下载cudnn
按需求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive

2.安装cudnn
解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:

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
 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

3.查看cudnn
终端输入:

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

如果出现下图所示版本信息,说明安装成功。
在这里插入图片描述

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值