centos7服务器cuda9.0深度学习环境搭建笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq965194745/article/details/84253245

硬件篇

在这里插入图片描述

NVIDIA驱动篇

首先是禁用nouveau

centos自带的显卡驱动,这不是机器学习环境想要的驱动
  1. 在配置文件中禁用nouveau
 vi /etc/modprobe.d/blacklist.conf 添加:blacklist nouveau
    CentOS 7:
     vim /usr/lib/modprobe.d/dist-blacklist.conf
    或
     vim /lib/modprobe.d/dist-blacklist.conf
     并且在加上blacklist nouveau之后还要加上一行options nouveau modeset=0
  1. 备份原来的 initramfs nouveau image镜像
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img  
  1. 创建新的 initramfs image镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)  

重新启动机器后驱动禁用完成

下载NVIDIA驱动

检测显卡驱动及型号

  ##添加ELPepo源
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
  ##安装NVIDIA驱动检测
$ sudo yum install nvidia-detect
$ nvidia-detect -v
  • 检查是否安装了GPU:
   lspci | grep -i nvidia  
  • 然后去官网下载对应的NVIDIA驱动,runfile形式
  • 安装gcc、g++编译器
   yum install gcc    
   yum install gcc-c++
  • 安装kernel-devel
    在这里插入图片描述
yum install kernel-devel kernel-headers

这里可能要重启一下才能生效
安装完后可以通过nvdia-smi查看显卡使用情况
在这里插入图片描述

cuda9.0

  • 之后去官网下载cuda9.0
    这里一定要注意,并不是越新越好,比如tensorflow的最新的版本是基于cuda9.0安装的。Cuda10没有,cuda9.2只能使用旧版的tensorflow
  • 建议下载runfile版本的cuda。亲测rpm的大坑。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 安装完成后会在/usr/local目录下生成一个软连接,cuda的路径配置都用这个软连接了。

设置全局的path,这样其他用户也能享受到cuda

vim /etc/bashrc
#gpu driver 
export CUDA_HOME=/usr/local/cuda
export PATH=/usr/local/cuda/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH="/usr/local/cuda/lib:${LD_LIBRARY_PATH}"

cudnn

  • 这个也要去官网下载对应cuda9.0的版本的cudnn
  • 然后解压,把库拷贝过去
tar -zxvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
cd cuda
cp include/* /usr/local/cuda/include/
cp lib64/lib* /usr/local/cuda/lib64/

运行cuda自带的测试可以发现更多问题

检查 CUDA Toolkit是否安装成功

nvcc -V

编译samples例子

进入到Samples安装目录,然后在该目录下终端输入make,等待十来分钟。 
编译完成后测试 
可以在Samples里面找到bin/x86_64/linux/release/目录,并切换到该目录 
运行deviceQuery程序,sudo ./deviceQuery 
查看输出结果,重点关注最后一行,Pass表示通过测试 

若出现cudaGetDeviceCount returned 30/35的错误,说明是显卡的驱动版本和cuda的版本不匹配,需要重新下载一个NVIDIA驱动的runfile重新安装显卡驱动


tensorflow

  • 这里使用tensorflow测试cuda情况
  • 只安装tensorflow-gpu版本,不安装cpu版本,这样若显卡调用失败可以看到debug信息
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页