Ubuntu 16.04下cuda和cudnn安装

说明:适用于没有管理员权限时的cuda安装


关于CUDA 8.0和CUDA 10.1的安装,都与本文略有不同,具体问题可以参考:
Ubuntu16.04下安装CUDA8.0
Ubuntu16.04下安装CUDA10.1

下载 CUDA

在这里插入图片描述

安装 CUDA

以安装 cuda 9.2 为例,具体需要根据自己的 cuda 版本对名称和路径进行修改。

1. 执行run文件

进入 cuda runfile 文件目录下:

chmod +x cuda_9.2.148_396.37_linux.run
./cuda_9.2.148_396.37_linux.run

按住回车,服务条款进行到 100% 以后,按下面的步骤进行选择:

  1. accept
  2. n(不要安装驱动!)
  3. y
  4. 输入安装路径:/data/usr/local/cuda-9.2
  5. y or n
  6. y or n

出现这个 warning 不用理:

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0 functionality to work.

2. 设置环境变量

安装完成后,设置环境变量:.bashrc

vi ~/.bashrc

在文件末尾加上:

export LD_LIBRARY_PATH=/data/zyy/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
export PATH=/data/zyy/usr/local/cuda-9.2/bin:$PATH
export CUDA_HOME=/data/zyy/usr/local/cuda-9.2

:wq 保存退出后更新环境变量:source ~/.bashrc

[2021-11-15更新] 注意不要在 export CUDA_HOME 最后也加一个 :$CUDA_HOME,没必要,且容易出bug!

3. 检查安装是否成功

此时查看 cuda 版本:nvcc -V
在这里插入图片描述
可同时安装多版本cuda,需要使用哪个版本只需在环境变量中修改路径即可。

4. 卸载CUDA

卸载CUDA很简单,一条命令就可以了,主要执行的是CUDA自带的卸载脚本,根据自己的cuda版本找到卸载脚本

sudo /usr/local/cuda-9.2/bin/uninstall_cuda_9.2.pl

5. 多版本CUDA的切换

切换 CUDA 版本有下面两种方法,第一种使用于安装 cuda 时创建了软链接的情况,修改比较简单,第二种是没有软链接时要直接对环境变量进行修改。

5.1 切换软链接

如果安装了多个版本的 CUDA,可以在 /usr/local/ 目录下看到自己安装了哪些版本:
在这里插入图片描述
cuda 是一个软链接,它指向我们指定的 cuda 版本(在设置环境变量时,也使用的是 cuda,而不是 cuda-具体版本,这主要是为了方便我们切换 cuda 版本,可以让我们不用每次都去改环境变量的值)

进入 local 文件夹下,使用 stat 命令查看当前 cuda 软链接指向的哪个 cuda 版本:
在这里插入图片描述
可以看到,cuda 软链接的文件类型是symbolic link,指向的目录是 /usr/local/cuda-9.0,当我们想使用 cuda-8.0 版本时,只需要删除该软链接,然后重新建立指向 cuda-8.0 版本的软链接即可(注意名称还是cuda,因为要与 bashrc 文件里设置的保持一致)

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda

需要修改的只是上面的版本号而已。

5.2 修改环境变量

vi ~/.bashrc

修改环境变量的指向:比如将 cuda-9.2 更换为 cuda-8.0

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/zyy/usr/local/cuda-8.0/lib64
export PATH=$PATH:/data/zyy/usr/local/cuda-8.0/bin
export CUDA_HOME=$CUDA_HOME:/data/zyy/usr/local/cuda-8.0

安装 CUDNN

1. 解压tgz压缩包

下载 Linux 版本的压缩包,发现是 .solitairethem8 格式的文件,需要先将其转换为 .tgz 格式的文件再进行解压:

# 转换为tgz文件
cp  cudnn-9.2-linux-x64-v7.5.1.10.solitairetheme8 cudnn-9.2-linux-x64-v7.5.1.10.tgz

# 解压tgz文件
tar -zvxf cudnn-9.2-linux-x64-v7.5.1.10.tgz -C /data/zyy/usr/local

2. 添加环境变量

将解压后的 cuda 文件夹中的 lib64 文件夹关联到环境变量中:

vi ~/.bashrc

在弹出的 .bashrc 文件的最后加入:

# 这里的 lib64 是解压的 tgz 文件下的 lib64 文件夹
export LD_LIBRARY_PATH=/data/zyy/usr/local/cuda/lib64:$LD_LIBRARY_PATH

保存更改的文件后,更新一下环境变量:

source ~/.bashrc

3. 复制头文件

进入 cuda/include 路径下,执行操作:

# 将头文件cudnn.h复制到cuda-9.2安装目录下对应的include文件中
cp cudnn.h /data/zyy/usr/local/cuda-9.2/include/

然后重置 cudnn.h 文件的读写权限:

chmod a+r /data/zyy/usr/local/cuda-9.2/include/cudnn.h

4. 检查安装是否成功

查看 cudnn 版本:

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

在这里插入图片描述


2019/7/26 更新 【问题1】

对于没有 root 权限,但需要向系统环境里添加环境变量时,不要按照常规的 vi 编辑,然后 source,这样会报 permission denied

此时可以在终端命令窗口直接输入自己想要 export 的环境变量,然后 source ~/.bashrc 即可。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃饭就会放大招

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值