【无标题】

Centos7安装深度学习开发环境

安装docker

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

安装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

这边服务器使用的是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)

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

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

这边服务器是

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

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

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

gcc -v

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

安装GCC

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

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

sudo yum group install "Development Tools"

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

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

sudo yum install man-pages

在 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.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

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

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

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

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

开始安装

禁用nouveau

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

查看系统是否正在使用nouveau

lsmod | grep nouveau

如果有显示内容,则进行以下的步骤: 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

安装驱动

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

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

[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

原因是对应的key没有导入

先卸载安装失败的rpm包

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

查看当前系统的key文件

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

查看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

手工导入相应的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

重新执行安装

[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. 使用yum命令清除缓存

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

    yum install cuda-drivers
    

    安装过程中提示需要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
    
  3. 重启机器

    reboot
    
  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
    
  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"
    

    保存文件后执行 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
    
  3. 验证

    git clone https://github.com/li-weihua/cudnn_samples_v8.git
    cd cudnn_samples_v8/mnistCUDNN
    make clean
    make
    

    make时可能会报如下错误:

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

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

    sudo yum makecache
    sudo yum -y install freeimage-devel
    

    解决完依赖后接着重新make

    make clean && make
    ./mnistCUDNN
    

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值