• 【无标题】


    Centos7安装深度学习开发环境

    安装docker

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    
    • 1

    安装nvidia驱动(废弃,cuda10.2版本不需要先装nvidia驱动,安装cuda时同时安装nvidia驱动)

    注:新版的cuda tookit自带nvidia驱动,所以不需要先装nvidia驱动再装cuda tookit,这一步可以省略(可以先安装GCC、禁用nouveau)

    如何查看cuda tookit能否同时安装nvidia驱动,可以登录cuda tookit的网站 ,选择你要安装的版本,查看安装指导建议,如果让你安装cuda-drivers(即nvidia驱动),那就不需要先安装nvidia驱动(否则会产生依赖冲突):

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YHEkLYdj-1655869305966)(D:\notes\AI环境安装部署.assets\image-20220622110120265.png)]

    安装准备

    前提机器上面有支持CUDA的Nvidia GPU,查看支持CUDA的GPU列表: https://developer.nvidia.com/cuda-gpus

    lspci | grep -i nvidia
    
    • 1

    这边服务器使用的是Tesla P100

    18:00.0 3D controller: NVIDIA Corporation GP100GL [Tesla P100 PCIe 16GB] (rev a1)
    af:00.0 3D controller: NVIDIA Corporation GP100GL [Tesla P100 PCIe 16GB] (rev a1)
    
    • 1
    • 2

    验证系统是否是受支持的Linux版本

    uname -m && cat /etc/redhat-release
    
    • 1

    这边服务器是

    [root@jerry ~]# uname -m && cat /etc/redhat-release
    x86_64
    CentOS Linux release 7.9.2009 (Core)
    
    • 1
    • 2
    • 3

    到这里查看受支持的Linux版本:http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements

    验证系统是否有GCC编译环境

    gcc -v
    
    • 1

    没有的话需要先安装GCC,Centos7的最小化安装一般勾选上开发软件都会自动安装GCC

    安装GCC

    默认的 CentOS 软件源上包含一个名称为Development Tools的软件包组,这个组合包含了 GCC 编译器以及一系列库文件,还有其他编译软件需要用到的工具。

    想要安装 Development Tools 包含 GCC 编译器,运行:

    sudo yum group install "Development Tools"
    
    • 1

    这个命令安装了一组新的软件包,包括gccg++,和make

    你可能还想安装关于使用 GNU/Linux 进行开发的用户手册:

    sudo yum install man-pages
    
    • 1

    在 CentOS 7 软件源上,默认 GCC 可用版本是 4.8.5:

    [root@jerry ~]# gcc --version
    gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
    Copyright © 2015 Free Software Foundation, Inc.
    本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
    包括没有适销性和某一专用目的下的适用性担保。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    GCC 已经在你的系统上安装成功,你可以开始使用它了。

    验证系统是否安装了正确的内核头文件和开发包

    sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    
    • 1

    没有安装的话会提示你安装

    开始安装

    禁用nouveau

    nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前应先禁用nouveau

    查看系统是否正在使用nouveau

    lsmod | grep nouveau
    
    • 1

    如果有显示内容,则进行以下的步骤: Centos7禁用方法

    #新建一个配置文件
    sudo vim /etc/modprobe.d/blacklist-nouveau.conf
    #写入以下内容
    blacklist nouveau
    options nouveau modeset=0
    #保存并退出
    :wq
    #备份当前的镜像
    sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
    #建立新的镜像
    sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
    #重启
    sudo reboot
    #最后输入上面的命令验证
    lsmod | grep nouveau
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    安装驱动

    GPU 云服务器正常工作需安装正确的基础设施软件,对 NVIDIA 系列 GPU 而言,有两个层次的软件包需要安装:

    • 驱动 GPU 工作的硬件驱动程序。
    • 上层应用程序所需要的库。

    若把 NVIDIA GPU 用作通用计算,需要安装 Tesla Driver + CUDA。

    rpm 包安装

    1. 打开 NVIDIA 驱动下载链接 http://www.nvidia.com/Download/Find.aspx 。 选择对应的版本下载

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vie9NqWP-1655869305968)(D:\notes\AI环境安装部署.assets\image-20220620155947744.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XXUrPE2j-1655869305968)(D:\notes\AI环境安装部署.assets\image-20220620160003434.png)]

    1. 使用rpm命令安装 rpm 包。
    rpm -i nvidia-driver-local-repo-rhel7-440.118.02-1.0-1.x86_64.rpm
    
    • 1

    这里我的环境报了如下错误:

    [root@jerry tcx]# rpm -i nvidia-driver-local-repo-rhel7-440.118.02-1.0-1.x86_64.rpm
    警告:nvidia-driver-local-repo-rhel7-440.118.02-1.0-1.x86_64.rpm: 头V3 RSA/SHA512 Signature, 密钥 ID 7fa2af80: NOKEY
    
    • 1
    • 2

    原因是对应的key没有导入

    先卸载安装失败的rpm包

    rpm -e nvidia-driver-local-repo-rhel7-440.118.02
    
    • 1

    查看当前系统的key文件

    [root@jerry tcx]# rpm -q gpg-pubkey-*
    gpg-pubkey-f4a80eb5-53a7ff4b
    gpg-pubkey-621e9f35-58adea78
    gpg-pubkey-b6792c39-53c4fbdd
    gpg-pubkey-8fae34bd-538f1e51
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看nvidia驱动对应的repo文件

    [root@jerry yum.repos.d]# cat /etc/yum.repos.d/nvidia-driver-local-rhel7-440.118.02.repo
    [nvidia-driver-local-rhel7-440.118.02]
    name=nvidia-driver-local-rhel7-440.118.02
    baseurl=file:///var/nvidia-driver-local-repo-rhel7-440.118.02
    enabled=1
    gpgcheck=1
    gpgkey=file:///var/nvidia-driver-local-repo-rhel7-440.118.02/7fa2af80.pub
    obsoletes=0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    手工导入相应的key文件

    [root@jerry tcx]# rpm --import /var/nvidia-driver-local-repo-rhel7-440.118.02/7fa2af80.pub
    [root@jerry tcx]# rpm -q gpg-pubkey-*
    gpg-pubkey-f4a80eb5-53a7ff4b
    gpg-pubkey-621e9f35-58adea78
    gpg-pubkey-b6792c39-53c4fbdd
    gpg-pubkey-8fae34bd-538f1e51
    gpg-pubkey-7fa2af80-576db785
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    重新执行安装

    [root@jerry tcx]# rpm -i nvidia-driver-local-repo-rhel7-440.118.02-1.0-1.x86_64.rpm
            软件包 nvidia-driver-local-repo-rhel7-440.118.02-1.0-1.x86_64 已经安装
    
    • 1
    • 2
    1. 使用yum命令清除缓存

      yum clean all
      
      • 1
    2. 使用yum命令安装驱动

      yum install cuda-drivers
      
      • 1

      安装过程中提示需要dkms

      centos系统安装dkms:

      (1)安装dkms时提示“没有可用软件包”,安装EPEL(Extra Packages for Enterprise Linux)

      命令: yum install -y epel-release

      (2)安装kernel-headers, kernel-devel,dkms

      命令:yum install -y kernel-headers kernel-devel dkms

      安装完dkms后重新执行

      yum install cuda-drivers
      
      • 1
    3. 重启机器

      reboot
      
      • 1
    4. 运行nvidia-smi能输出正确信息代表驱动安装成功。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mGv2Lwsp-1655869305969)(D:\notes\AI环境安装部署.assets\image-20220620175824761.png)]

    安装CUDA

    CUDA (Compute Unified Device Architecture) 是显卡厂商 NVIDIA 推出的运算平台。 CUDA™ 是一种由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。 它包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。 开发人员现在可以使用 C 语言, C++ , FORTRAN 来为 CUDA™ 架构编写程序,所编写出的程序可以在支持 CUDA™ 的处理器上以超高性能运行。

    GPU 云服务器采用 NVIDIA 显卡,需要安装 CUDA 开发运行环境。

    1. CUDA驱动下载https://developer.nvidia.com/cuda-toolkit-archive ,根据你的cuda驱动版本进行选择。

    2. 选择操作系统和安装包。以 CentOS 7 64 位为例,可按如下方式进行选择:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vl4AON3B-1655869305970)(D:\notes\AI环境安装部署.assets\image-20220621155824095.png)]

      需要下载 Base 以及 Patch

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQaJ4dpP-1655869305971)(D:\notes\AI环境安装部署.assets\image-20220621155904532.png)]

    3. 在 CUDA 安装包所在目录下运行上图所示的如下命令:

      wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-rhel7-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm
      sudo rpm -i cuda-repo-rhel7-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm
      sudo yum clean all
      sudo yum -y install nvidia-driver-latest-dkms cuda
      sudo yum -y install cuda-drivers
      
      • 1
      • 2
      • 3
      • 4
      • 5
    4. 在/usr/local/cuda/samples/1_Utilities/deviceQuery目录下,执行make命令,可以编译出deviceQuery程序。

    5. 执行deviceQuery正常显示如下设备信息,此刻认为CUDA安装正确。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-awKUBUDP-1655869305971)(D:\notes\AI环境安装部署.assets\image-20220621110122575.png)]

      也可以通过直接执行nvcc -V来验证cuda tookit是否安装成功

      如果出现如下错误:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zOon8lqo-1655869305971)(D:\notes\AI环境安装部署.assets\image-20220622111538178.png)]

      那可能是没有把cuda的相关命令添加到环境变量中,需要vim /etc/bashrc添加:

      export PATH="/usr/local/cuda-8.0/bin:$PATH"
      export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
      
      • 1
      • 2

      保存文件后执行 source /etc/bashrc即可,接着重新验证:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rAWEa0qh-1655869305972)(D:\notes\AI环境安装部署.assets\image-20220622111918873.png)]

      表示验证成功

      cuda tookit和nvidia驱动的卸载教程可以参考:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#removing-cuda-tk-and-driver

    安装CUDNN

    下载 cudnn:https://developer.nvidia.com/rdp/cudnn-archive

    (需要注册为开发者方可下载。)

    这里我选择的是rpm方式安装,安装方式可以参考: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installlinux-rpm

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rxMEk34s-1655869305972)(D:\notes\AI环境安装部署.assets\image-20220622112259559.png)]

    1. 下载rpm包到安装路径

    2. 执行安装

      # Enable the local repository.
      sudo rpm -i cudnn-local-repo-rhel7-8.4.0.27-1.0-1.x86_64.rpm
      # Refresh the repository metadata.
      sudo yum clean all
      # Install the runtime library.
      sudo yum install libcudnn8-8.4.0.27-1.cuda10.2
      # Install the developer library.
      sudo yum install libcudnn8-devel-8.4.0.27-1.cuda10.2
      # Install the code samples and the cuDNN library documentation.
      sudo yum install libcudnn8-samples-8.4.0.27-1.cuda10.2
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
    3. 验证

      git clone https://github.com/li-weihua/cudnn_samples_v8.git
      cd cudnn_samples_v8/mnistCUDNN
      make clean
      make
      
      • 1
      • 2
      • 3
      • 4

      make时可能会报如下错误:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eVrKhjf7-1655869305973)(D:\notes\AI环境安装部署.assets\image-20220622113152358.png)]

      这是因为缺少依赖,安装freeimage-devel就可以了

      sudo yum makecache
      sudo yum -y install freeimage-devel
      
      • 1
      • 2

      解决完依赖后接着重新make

      make clean && make
      ./mnistCUDNN
      
      • 1
      • 2

      控制台打印出Test passed!信息表明cudnn安装成功

  • 相关阅读:
    在vue项目中iconfont 图标组件的使用方法(详细步骤)
    【Linux详解】冯诺依曼架构 | 操作系统设计 | 斯坦福经典项目Pintos
    java计算机毕业设计旅游景点展示平台的设计与实现源程序+mysql+系统+lw文档+远程调试
    关于Maven的笔记
    BUUCTF [BJDCTF2020]just_a_rar 1
    【RPC】前传
    blade-build如何创建和使用动态库(.so)
    OpenCV4-图像像素操作处理
    2023年网络安全竞赛—内存取证解析
    python接口自动化测试(六)-unittest-单个用例管理
  • 原文地址:https://blog.csdn.net/tcx1992/article/details/125406433