Centos 7.3 配置 cuda 8.0 + cudnn 6.0 记录

由于之前安装的cuda 9.2不支持tensorflow,所以需要卸载之前的cuda版本重新安装

cuda历史版本链接
cuda官方安装手册

  1. 卸载cuda 9.2 版本
    1.1 卸载cuda
    $ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
    1.2 卸载Nvidia驱动
    $ sudo /usr/bin/nvidia-uninstall

  2. pre-installation
    2.1 查看系统版本
    $ cat /etc/redhat-release
    2.2 确认有可执行的gpu
    $ lspci | grep -i nvidia
    2.3 确认linux版本正确
    $ uname -m && cat /etc/*release
    2.4 确认系统安装了gcc
    $ gcc --version
    2.5 查看内核版本
    $ uname -r

  3. Installation
    我们采用.runfile的形式安装,到cuda历史版本链接下载好符合自己版本的.runfile文件
    3.1 禁用Nouveau驱动
    输入 $ lsmod | grep nouveau 后,如果有输出,说明自带驱动仍在运行
    禁用自带驱动, 创建文件到 "/usr/lib/modprobe.d/blacklist-nouveau.conf"并写入

    blacklist nouveau
    options nouveau modeset=0
    

    然后regenerate the kernel inittramfs(第一次没有运行这条指令,安装Nvidia驱动失败
    $ dracut --force
    3.2 重启进入文本模式(Centos进入文本界面的方式跟Ubuntu不一样,这里要特别注意

    $ systemctl set-default multi-user.target
    $ init 3
    $ reboot
    

    3.3 运行CUDA安装文件
    $ sudo sh cuda__linux.run
    【注意】按照提示安装,除了询问是否安装openGL选‘否’, 其余都选默认

    3.4 重启进入图形界面

    $ systemctl set-default graphical.target
    $ init 5
    
  4. Post-installation
    4.1 环境配置

    $ cd ~ #进入用户目录, 如果以用户身份登陆,则进入到"/home/用户名/"目录下
    $ vim .bashrc
    

    打开配置文件,写入

    export PATH=$PATH:/usr/local/cuda-8.0/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
    

    退出并保存 ,然后运行
    $ source .bashrc
    4.2 确认安装成功
    4.2.1 确认Nvidia Driver:
    $ nvidia-smi
    4.2.2 确认cuda
    $ nvcc --vesion
    4.2.3 查看cudnn版本
    $ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

  5. 中途遇到的问题
    5.1 Nvidia驱动安装失败

之前是按照官方教程上来的, 由于之前有ubuntu安装成功的经验就不太在意细节。所以没有运行 $ dracut --force。而且Centos通过“ctrl + Alt + F1” 也是没有办法进入文本模式的,必须通过

$ systemctl set-default multi-user.target
$ init 3
$ reboot

这一系列指令才可以进入

5.2 都安装好后,import tensorflow出现了

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

5.2.1 去cuda的安装路径下去找这个文件:
$ find /usr -name "libcublas*"
结果是有这个文件的

5.2.2 进入路径配置文件$ vi ~/.bashrc发现路径也是没有问题的

5.2.3 保险起见又source了.bashrc文件,还是报错

5.2.4 最后发现,是因为我们的工作环境是学校利用docker技术分给我们的一个节点,我们root了以后, cd ~以后进入的是总区的目录,而不是我们用户的目录,,,,,配置了我们自己工作区的.bashrc文件之后就正常了

你可能感兴趣的:(Centos 7.3 配置 cuda 8.0 + cudnn 6.0 记录)