Ubuntu16.04安装CUDA10.2, CUDA toolkit与驱动版本的关系, anaconda中CUDA toolkit与Nvidia的CUDA toolkit的关系

安装CUDA 10.2

我的系统是Ubuntu16.04, 按照Nvidia官网的说明, 下载相应的deb包, 安装即可.
在这里插入图片描述
安装指令如下:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

如果执行sudo apt-get update的时候发生如下错误:

*** Error in `appstreamcli': double free or corruption (fasttop): 0x0000000001166b20 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fe27911e7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fe27912737a]
...

执行命令sudo apt remove appstream, 然后再进行更新操作.
说明: 安装的时候, 如果遇到其他问题, 可以参考一下详细的安装手册, 检查相应的系统要求是否满足.

安装后操作

参考详细的安装手册里面的操作, 把CUDA的路径加入到bash配置文件中, 输入如下:

# 将CUDA的相关路径加入到bash全局配置文件中
sudo vim /etc/profile
# 写入如下配置, 如果是安装其他版本的CUDA, 应该按官网的后处理提示添加路径
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

注意: 上面的export LD_LIBRARY_PATH不要写成两行, 否则容易导致source的时候错误

设置显卡的persistenced模式:

echo "/usr/bin/nvidia-persistenced --verbose" | sudo tee -a /etc/init.d/rc.local
sudo /usr/bin/nvidia-persistenced --verbose

检查是否安装成功. 重新登录一下terminal, 使得配置生效, 执行如下命令:

cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery  # 这里应该输出成功
# 看一下nvidia-smi是否成功
nvidia-smi
# 看一下nvcc的版本, 正常显示不报错就成功了
nvcc -V

安装cuDNN

cuDNN是用于神经网络的GPU库, 有些python包依赖cuDNN才能运行. 先在官网上注册账号, 下载相应的安装包.
在这里插入图片描述
安装的步骤相对简单, 可以根据官网的提示, 如下一条命令即可:

# 找到相应的文件
sudo dpkg -i ./libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb

至此, CUDA和cuDNN已经完成安装.

CUDA版本与驱动版本的关系

一般来说, CUDA版本越高, 需要的驱动越高. 如果使用deb的方式安装, 驱动会自动安装到合适的版本. 但是后续如果改动的驱动, 可能导致CUDA不能使用, 或者显卡的程序出现异常, 此时, 检查下是否驱动的版本有问题.
在这里插入图片描述

Anaconda中的CUDA toolkit

如果使用Anaconda安装python环境, 会发现, conda在安装的时候, 会自动安装cudatoolkit, 如下所示

$ conda list | grep cuda
cudatoolkit               9.0                  h13b8566_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cudnn                     7.6.0                 cuda9.0_0
nccl                      1.3.5                 cuda9.0_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
pytorch                   1.1.0           py3.6_cuda9.0.176_cudnn7.5.1_0    https://mirrors.tuna.tsinghua.edu.cn/anacond
a/cloud/pytorch

这里安装的cudatoolkit只是Nvidia安装的CUDA的部分文件, 为了让普通需要CUDA的程序能够在系统没有安装CUDA的时候也能运行, 环境在安装的时候, 自动安装了部分CUDA文件. 但是CUDA的其他文件可能没有, 比如nvcc.
因此完整的CUDA也需要安装, 另外, 如果驱动满足, 这里的cudatoolkit版本不和系统一样, 也能正常使用.
cuDNN也是一样, conda自动安装了合适的版本.

用Anaconda安装python包

参考如下

  • https://blog.csdn.net/feifei3211/article/details/88979993
  • https://blog.csdn.net/feifei3211/article/details/88367721

猜你喜欢

转载自blog.csdn.net/feifei3211/article/details/103591420