CentOS 7下安装CUDA 11.2.2

CentOS 7下安装CUDA 11.2.2

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 是否在其中。

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

本文安装的版本:

  • NVidia 显卡驱动:460.84
  • CUDA: 11.2.2
  • cuDNN: 8.2.1

1. 系统要求

首先要保证操作系统符合 CUDA 11.2 的要求。

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

uname -r                             
cat /etc/centos-release 

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

sudo yum clean all
sudo yum update 

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

2. 软件更新

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

  1. 验证系统内核版本和安装开发包。

    uname -r
    sudo yum install -y gcc gcc-c++ kernel-devel-$(uname -r) kernel-headers-$(uname -r) 
    
  2. 验证 gcc 的版本。

    由于 CUDA 11.3 要求 GCC 的版本是 6 以上,下面是安装 GCC7 的脚本。

    sudo yum install centos-release-scl
    sudo yum install devtoolset-7
    # launch a new shell instance using the Software Collection scl tool:
    scl enable devtoolset-7 bash
    gcc --version 
    

    如果重新登录,gcc 版本还是原先的版本,所以在 CUDA 安装前,需要执行scl enable devtoolset-7 bash

3. 安装 NVidia 显卡驱动

  1. 根据要安装 CUDA 的版本,找到合适的显卡驱动。本次安装需要满足 g e q 460.32.03 \\geq 460.32.03 geq460.32.03

  1. 下载nvidia 驱动

  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    #设置运行级别为文本模式
    sudo shutdown -r now 
    
  7. 安装驱动。

    lsmod | grep nouveau                            #查看nouveau是否已经禁用, 应该没有返回内容
    nvidia_run=NVIDIA-Linux-x86_64-460.84.run
    chmod 755 $nvidia_run
    sudo  ./$nvidia_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 
    

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),将会出现如下安装代码。

    scl enable devtoolset-7 bash
    gcc --version
       
    wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run
    sudo sh cuda_11.2.2_460.32.03_linux.run 
    

    当出现如下窗口时,按照下图勾选要安装的内容(不要勾选 Driver,因为上节已经安装了更新的版本),然后选择install

    下面是安装完后的信息。

  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. 安装验证

    head -5 /usr/local/cuda/version.json
    nvcc -V 
    

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

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

5. 安装 cuDNN

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

  2. 安装

    tar -xzvf cudnn-11.3-linux-x64-v8.2.1.32.tgz
    sudo cp cuda/include/cudnn*.h /usr/local/cuda/include 
    sudo cp -P 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_version.h | grep CUDNN_MAJOR -A 2 
    

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 

参考

更新历史

  • 2021-06-10
    • NVidia 显卡驱动:460.84
    • CUDA: 11.2.2
    • cuDNN: 8.2.1
  • 2020-05-19: 安装 nvida 显卡驱动修改了脚本
    • CUDA: 10.2.89
    • cuDNN: 7.6.5
  • 2019-11-28
    • CUDA: 10.2.89
    • cuDNN: 7.6.5

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLhuinJF-1658142063966)(https://avatars.githubusercontent.com/u/5129969?v=4)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XnQHDpdY-1658142063966)(https://avatars.githubusercontent.com/u/1285447?v=4)]
https://eipi10.cn/deep-learning/2019/11/28/centos_cuda_cudnn/

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值