关于CUDA和cuDNN的安装

不得不说,安装显卡驱动和CUDA、cuDNN是深度学习工作者的必备技能。

  • CUDA(Compute Unified Device Architecture),是NVIDIA推出的运算平台。
  • cuDNN 专门针对Deep Learning框架设计的一套GPU计算加速方案。

虽然安装这不是学习的目的,但却是很多人不得不面对 deep learning 第一课。因为网上框架的不同、版本的不同,所以开发环境会经常换来换去~

就像我今天的经历,因为之前的代码是在TitanX上完成的,当时的环境是ubuntu16.04+Tensorflow 1.4+cuda 8+cudnn 6。今天换了计算机,一来是以为没什么,结果环境不对,程序无法运行。新的服务器上是1080ti,软件环境是Tensorflow 1.6+cuda 9 +cudnn 7,当时装的时候,没怎么考虑版本的问题,所以现在需要修改环境。

因为这个以后也可能常用到,所以记录下来,备查。

基本安装顺序:
0. 安装显卡驱动(这个不需要反复装,只需要第一次安装完成,以后则无需在再动)

  1. 卸载和安装 CUDA
  2. 安装 cuDNN 库

1. 卸载已安装 CUDA

# 使用apt 卸载已经安装的 CUDA
sudo apt autoremove cuda 

# 如果/usr/local/目录下,还有cuda的文件目录,删了吧
cd /usr/local/
rm -rf cuda-8.0/

2. 安装CUAN

2.1 下载

首先,前往下载:CUDA Toolkit Download,根据自己实际需要。

2.2 安装cudn

我选择了cuda_8.0.61_375.26_linux.run。按照官方给的命令进行安装:

# 安装cuda
sudo sh cuda_8.0.61_375.26_linux.run

# 安装提供的补丁
sudo sh cuda_8.0.61.2_linux-run

安装cuda的时候,注意安装过程中给你提供的选项,第一次输入accept的,接受说明条款。然后选择是是否安装显卡驱动,一般选No,因为最好还是自己去找对应的驱动安装才比较靠谱。而且,如果像我这样换环境,自然也不需要去装驱动了。其他的默认yes就行。

2. 3设置环境变量

打开~/.bashrc文件,将下面内容添加到文件的最后:

export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}bin:${PATH}

运行:

source ~/.bashrc

打开 /etc/profile文件,将下面内容添加到文件的最后:

export PATH=“/usr/local/cuda/bin:$PATH”

然后,运行:

source /etc/profile

2.4 测试是否安装成功

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery

3. 安装卸载 cuDNN

cuDNN 实际是一个库,并不存在安装过程。

下载对应的对应的版本的压缩包(需要注册登陆),下载对应版本的压缩包,解压,将对应的头文件和动态链接库文件放到对应的位置,然后配置环境变量。

  1. 下载:

    下载地址[NVIDIA cuDNN]

    找到对应版本的cudnn。我下载的是 cuDNN v6.0 Library for Linux

  2. 解压

  3. 移动文件

    # 保险起见,删除原来存在的cudnn文件
    sudo rm -rf /usr/local/cuda/include/cudnn.h
    sudo rm -rf /usr/local/cuda/lib64/libcudnn*
    # 拷贝文件到固定位置
    sudo cp include/cudnn.h /usr/local/cuda/include/
    sudo cp lib64/lib* /usr/local/cuda/lib64/
    
  4. 一些相关的修改

    cd /usr/local/cuda/lib64/
    #删除原有文件
    sudo rm -rf libcudnn.so libcudnn.so.6
    
    # 修改权限
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
    
    # ldconfig通常在系统启动时运行,安装了一个新的动态链接库时,就需要手工运行这个命令
    sudo ldconfig
    

后记

完成上面的步骤,就成功安装了环境。

在terminal上运行tensorflow 的 Demo实验,是没有问题的。

有一个小意外,我在ubuntu上用的是pycharm编辑器,在pycharm直接运行是报错的:

ImportError: libcublas.so.6.0: cannot open shared object file: No such file or directory.

没找文件?可是我的文件,明明就在那里啊!

最后检索知道,要给pycharm单独配置环境变量。

LD_LIBRARY_PATH=/usr/local/cuda/lib64


以上。

(有些截图是写博客需要,在windows上完成的,实验过程是在ubuntu 16.04下。欢迎交流。)

posted @ 2018-07-08 22:32  叶罅  阅读(6628)  评论(1编辑  收藏  举报