提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

CentOS 7下安装显卡驱动

28 Nov 2019

本文将详述centos7环境下如何安装nvidia GPU driver, CUDA和cuDNN。这应该是第n次更新安装它们啦,总体上步骤没有太大变化,只是软件的版本有一些改变。和网上类似文章相比,本文中所有的shell命令都可以直接执行,不需要手工去修改文件,所以更加方便。下面看看要安装的内容:

  • nvidia GPU driver:英伟达公司显卡驱动。要安装CUDA, cuDNN,这是必要的。
  • CUDA(Compute Unified Device Architecture):是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务。
  • cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。

首先验证GPU是否是CUDA兼容的。执行以下命令获得显卡信息,然后对照CUDA GPUs中的列表,搜寻GPU是否在其中。

lspci | grep -i nvidia

如果显卡不在其中,下面也不用看了。

1. 操作系统

首先要保证操作系统符合下表的要求。

image-20191128130850307

在centos7下安装,内核和centos的版本分别需要是3.10和7.7。使用下面命令检查。

uname -r                             
cat /etc/centos-release
cat /proc/version
uname -a
lsb_release -a

如果版本不满足,需要执行以下命令,更新操作系统。

sudo yum clean all
sudo yum update

更新的时间可能会比较长,请耐性等待,一般都会顺利成功。万一发生错误,到网上找找方案,很快就能解决。

2. 软件更新

根据上节表格中的要求,安装或更新一些软件。

  1. 验证gcc的版本。

    gcc --version
    
  2. 验证系统内核版本和安装开发包。

    uname -r
    sudo yum install -y gcc gcc-c++ kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    

3. 安装nvida显卡驱动

  1. 下载nvidia驱动。比如:2019-11-28,1070ti对应的最新版本 440.82

    image-20191214111408934

  2. 检查当前驱动情况

    sudo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
    sudo yum install nvidia-detect      # 安装nvida-detect
    nvidia-detect -v                    # 检测能够升级到的驱动器版本
    cat /proc/driver/nvidia/version     # 查看当前驱动版本
    
  3. 卸载之前驱动。如果第一次安装,忽略。

    sudo /usr/bin/nvidia-uninstall
    
  4. 屏蔽nouveau显卡驱动,把nvidiafb从屏蔽列表中移除。

    sudo rm -rf  disable-nouveau.conf
    cat << EOF > disable-nouveau.conf
    blacklist nouveau
    options nouveau modeset=0
       
    EOF
       
    sudo chown root:root disable-nouveau.conf
    sudo chmod 644 disable-nouveau.conf
    sudo mv disable-nouveau.conf /etc/modprobe.d/
       
    cat /etc/modprobe.d/disable-nouveau.conf
    ll /etc/modprobe.d/disable-nouveau.conf
    
  5. 重建 initramfs 镜像。

    sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
    sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
    
  6. 修改运行级别为文本模式。

    sudo systemctl set-default multi-user.target    #设置运行级别为文本模式
    dracut --force  # 更新内核参数  
    sudo shutdown -r now
    
  7. 安装驱动。

    lsmod | grep nouveau                            #查看nouveau是否已经禁用, 应该没有返回内容
    chmod 755 NVIDIA-Linux-x86_64-440.82.run
    sudo  ./NVIDIA-Linux-x86_64-440.82.run
    sudo systemctl set-default graphical.target     #设置运行级别回图形模式
    sudo systemctl get-default
    sudo shutdown -r now
    

    安装选项:

    • dkms: yes
    • 32位兼容: yes
    • nvidia-xconfig: no
  8. 检查安装。

    cat /proc/driver/nvidia/version    
    nvidia-smi
    

    image-20191214104828475

CentOS 7下安装CUDA 10.2

4. 安装CUDA

  1. 卸载老版本

    sudo yum remove -y xorg-x11-drv-nvidia-libs #之前安装中,发现老版本的,删除后才正常
    sudo yum remove -y xorg-x11-drv-nvidia      #之前安装中,发现老版本的,删除后才正常
    sudo yum remove -y cuda-drivers
    sudo yum remove -y cuda
    
  2. 安装

    CUDA Download 选择合适的CUDA版本,选择了runfile(local),将会出现如下安装代码。

    image-20200605222838475

    wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
    sudo sh cuda_10.2.89_440.33.01_linux.run
    

    image-20200605222752478

  3. 在.bashrc中添加参数。

    if ! grep "/usr/local/cuda/bin" ~/.bashrc
    then 
      echo                                                                    >> ~/.bashrc
      echo export PATH="\$PATH:/usr/local/cuda/bin"                           >> ~/.bashrc
      echo export CUDA_HOME=/usr/local/cuda                                   >> ~/.bashrc
      echo export LD_LIBRARY_PATH="/usr/local/cuda/lib64:\$LD_LIBRARY_PATH"   >> ~/.bashrc
    fi
    source ~/.bashrc
    
  4. 安装验证

    cat /usr/local/cuda/version.txt 
    nvcc -V
    

    image-20191214104948843

  5. 再次检查nvidia。如果出现报错,请返回3. 安装nvida显卡驱动中第5步,再次安装显卡驱动。

    cat /proc/driver/nvidia/version    
    nvidia-smi
    

5. 安装cuDNN

  1. 下载cuDNN。打开cuDNN ,登录以后,选择最新版本后,点击cuDNN Library for Linux链接进行下载。

    image-20191129081140250

  2. 安装

    tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
    sudo cp cuda/include/cudnn.h /usr/local/cuda/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    
  3. 安装验证

    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2  
    
    # 若上面没有反应
    sudo cp cuda/include/cudnn_version.h /usr/local/cuda/include/
    cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    

    image-20191214105215224

6. 其它

修复vncserver

如果发生vncserver不能工作,可以尝试下面的方法。

如果使用vncserver进行远程桌面连接centos,当安装完nvidia驱动后,可能vncserver不能工作。其大概原因是默认的gnome和显卡驱动中opengl不兼容。所以只要在vncserver中使用另外一个桌面Xfce。

sudo yum groupinstall "Xfce" -y

cat << EOF > ~/.vnc/xstartup   
xrdb $HOME/.Xresources
startxfce4 &
EOF

#启动vncserver
vncserver :1    
Logo

更多推荐