(推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包

【(推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包】操作场景
使用P1型、P2v型、Pi1型弹性云服务器时,需确保云服务器已安装GPU驱动和CUDA工具包,否则无法实现计算加速功能。
? 已创建弹性云服务器。
? 使用公共镜像创建的云服务器,默认已安装GPU驱动和CUDA工具包。
? 使用私有镜像创建云服务器,需检查是否已安装GPU驱动和CUDA工具包,详细操作请参考检查是否已安装GPU驱动和CUDA工具包。
如果使用的镜像中没有安装GPU驱动和CUDA工具包,您可以在云服务器创建成功后,手动安装所需的驱动和工具包。具体操作请参见安装指引。
本节内容主要解决如下问题:
? 检查GPU驱动和CUDA工具包是否安装成功?
? 云服务器是否已安装GPU驱动和CUDA工具包?
? 如何手动安装所需的GPU驱动和CUDA工具包?
安装须知
? 本节内容仅适用于P1型、P2v型、Pi1型弹性云服务器。
安装指引

  1. 检查弹性云服务器是否已安装GPU驱动和CUDA工具包。具体操作请参见检查是否已安装GPU驱动和CUDA工具包。
    o 是,结束。
    o 否,执行2。
  2. 安装GPU驱动和CUDA工具包。
    不同操作系统的弹性云服务器,安装方法不同,如表1所示。(推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    检查是否已安装GPU驱动和CUDA工具包
    对于已创建弹性云服务器,您可以通过如下操作检查云服务器是否已安装GPU驱动和CUDA工具包。如果创建云服务器时已勾选“自动安装GPU驱动”,您也可以通过如下操作检查所需的GPU驱动、CUDA工具包是否安装成功。
    ? Windows弹性云服务器
    查看C:\nvidia_install_log.txt,如果安装失败,请根据日志文件中指定的driver和cuda进行手动安装。
    ? Linux弹性云服务器
    查看/var/log/nvidia_install_log.txt,如果安装失败,请根据日志文件中指定的driver和cuda进行手动安装。
    安装GPU驱动和CUDA工具包(Windows)
  3. 从内源下载Windows弹性云服务器所需的GPU驱动和CUDA工具包。
    下载地址:
    打开该地址后,能够看到“win2008r2”、“win2012r2”、“win2016”三个版本的文件夹,每个文件夹下包括了“cuda”和“driver”两个文件夹,这两个文件夹中的文件即为不同版本的cuda和driver安装包。
    请根据您的弹性云服务器操作系统版本,打开对应的文件夹,并根据实际需要获取对应版本的cuda和driver安装包。
    示例:
    假设您的弹性云服务器操作系统为Windows 2016,则GPU驱动和CUDA工具包的获取方式为:
    打开链接
    可以看到三个文件夹:win2008r2、“win2012r2”和“win2016”
    b. 打开文件夹“win2016”。
    可以看到两个文件夹:“cuda”和“driver”
    c. 根据实际需要,选择所需版本的cuda和driver,例如:
    cuda:cuda_9.0.176_windows.exe
    driver:385.08-tesla-desktop-winserver-international.exe
  4. 安装GPU驱动和CUDA工具包。
    双击.exe文件,并根据提示进行安装。
    安装GPU驱动和CUDA工具包(CentOS 7.x &RHEL 7.x &EulerOS 2.x)
    该操作指导适用于如下操作系统的弹性云服务器:
    ? CentOS 7.x系列
    ? Red Hat Enterprise Linux 7.x系列
    ? EulerOS 2.x系列
    对于Linux弹性云服务器,建议采用Repo进行安装。
  5. CentOS 7.x &RHEL 7.x &EulerOS 2.x CUDA repo配置
    a. (可选)如果是CentOS 7.x、EulerOS 2.x系统的弹性云服务器,需执行以下命令,清理当前系统的repo文件。
    mv /etc/yum.repos.d/* /tmp/
    b. 执行以下命令,新建nvidia-centos7.repo文件。
    vi /etc/yum.repos.d/nvidia-centos7.repo
    c. 在新建文件nvidia-centos7.repo中添加如下内容:
    d. [ecs-cuda]
    e. name=ecs-cuda- b a s e a r c h f . b a s e u r l = h t t p : / / m i r r o r s . m y h u a w e i c l o u d . c o m / e c s / l i n u x / r p m / c u d a / 7 / basearch f. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/cuda/7/ basearchf.baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/cuda/7/basearch
    g. enabled=1
    h. gpgcheck=0
    i. [ecs-driver]
    j. name=ecs-driver- b a s e a r c h k . b a s e u r l = h t t p : / / m i r r o r s . m y h u a w e i c l o u d . c o m / e c s / l i n u x / r p m / d r i v e r / 7 / basearch k. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/driver/7/ basearchk.baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/driver/7/basearch
    l. enabled=1
    m. gpgcheck=0
    n. [ecs-package]
    o. name=ecs-package- b a s e a r c h p . b a s e u r l = h t t p : / / m i r r o r s . m y h u a w e i c l o u d . c o m / e c s / l i n u x / r p m / p a c k a g e / 7 / basearch p. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/package/7/ basearchp.baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/package/7/basearch
    q. enabled=1
    gpgcheck=0
    r. 执行以下命令,安装对应版本的repo文件。
    yum install http://mirrors.myhuaweicloud.com/epel/epel-release-latest-7.noarch.rpm -y
    s. 执行以下命令,清理无用的repo文件。
    rm -rf epel-testing.repo
    t. 执行以下命令,更新epel-7版本的repo文件。
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.myhuaweicloud.com/repo/epel-7.repo
    u. 执行如下命令,更新CentOS系统repo文件。
    ? 如果是CentOS 7系统软件仓库
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.myhuaweicloud.com/repo/CentOS-Base-7.repo
    ? 如果是EulerOS系统软件仓库
    curl -o /etc/yum.repos.d/EulerOS-Base.repo http://mirrors.myhuaweicloud.com/repo/euler/EulerOS_2_2_base.repo
    curl -o /etc/yum.repos.d/EulerOS-Base.repo http://mirrors.myhuaweicloud.com/repo/euler/EulerOS_2_3_base.repo
    ? Red Hat Enterprise Linux已经有系统RHUI软件仓库了。
  6. CentOS 7.x &RHEL 7.x &EulerOS 2.x CUDA安装
    a. 执行如下命令,安装与内核版本匹配的kernel-devel。
    yum install -y kernel-devel-uname -r
    b. (可选)如果是CentOS系统的弹性云服务器,需执行如下命令安装dkms。
    yum install -y dkms
    c. 执行如下命令,查询driver版本。
    yum list | grep nvidia | grep driver | grep rhel7
    d. 执行如下命令,安装2.c中查询的driver版本repo文件。
    yum install -y nvidia-diag-driver-local-repo-rhel7-.x86_64
    e. 执行如下命令,安装driver。
    yum install -y cuda-drivers
    f. 执行如下命令,查询cuda版本。
    yum list | grep cuda | grep rhel7
    图1 查询cuda版本
    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    g. 安装对应版本的cuda。
    yum install -y cuda-repo-rhel

    *表示查询到2.f的cuda版本号,同一个版本有几个文件,就安装几个文件。
    h. 执行如下命令,安装cuda。
    yum install -y cuda
    i. 执行如下命令,重启弹性云服务器。
    reboot
    安装GPU驱动和CUDA工具包(CentOS 6.x &RHEL 6.x)
    该操作指导适用于如下操作系统的弹性云服务器:
    ? CentOS 6.x系列
    ? Red Hat Enterprise Linux 6.x系列
    对于Linux弹性云服务器,建议采用Repo进行安装。
  7. CentOS 6.x &RHEL 6.x CUDA repo配置
    a. (可选)如果是CentOS 6.x系统的弹性云服务器,需执行以下命令,清理当前系统的repo文件。
    mv /etc/yum.repos.d/* /tmp/
    b. 执行如下命令,新建nvidia-centos6.repo文件。
    vi /etc/yum.repos.d/nvidia-centos6.repo
    c. 在新建文件nvidia-centos6.repo中添加如下内容:
    d. [ecs-cuda]
    e. name=ecs-cuda- b a s e a r c h f . b a s e u r l = h t t p : / / m i r r o r s . m y h u a w e i c l o u d . c o m / e c s / l i n u x / r p m / c u d a / 6 / basearch f. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/cuda/6/ basearchf.baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/cuda/6/basearch
    g. enabled=1
    h. gpgcheck=0
    i. [ecs-driver]
    j. name=ecs-driver- b a s e a r c h k . b a s e u r l = h t t p : / / m i r r o r s . m y h u a w e i c l o u d . c o m / e c s / l i n u x / r p m / d r i v e r / 6 / basearch k. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/driver/6/ basearchk.baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/driver/6/basearch
    l. enabled=1
    m. gpgcheck=0
    n. [ecs-package]
    o. name=ecs-package- b a s e a r c h p . b a s e u r l = h t t p : / / m i r r o r s . m y h u a w e i c l o u d . c o m / e c s / l i n u x / r p m / p a c k a g e / 6 / basearch p. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/package/6/ basearchp.baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/rpm/package/6/basearch
    q. enabled=1
    gpgcheck=0
    r. 执行如下命令,安装对应版本的repo文件。
    yum install http://mirrors.myhuaweicloud.com/epel/epel-release-latest-6.noarch.rpm -y
    s. 执行如下命令,清理无用的repo文件。
    rm -rf epel-testing.repo
    t. 执行如下命令,更新epel-6版本的repo文件。
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.myhuaweicloud.com/repo/epel-6.repo
    u. 执行如下命令,更新CentOS系统repo文件。
    ? 如果是CentOS 6系统软件仓库
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.myhuaweicloud.com/repo/CentOS-Base-6.repo
    ? Red Hat Enterprise Linux已经有系统RHUI软件仓库了。
  8. CentOS 6.x &RHEL 6.x CUDA安装
    a. 执行如下命令,安装与内核版本匹配的kernel-devel。
    yum install -y kernel-devel-uname -r
    b. 执行如下命令,查询driver版本。
    yum list | grep nvidia | grep driver | grep rhel6
    c. 执行如下命令,查询driver版本对应的repo文件版本。
    图2 查询repo文件版本
    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    d. 执行如下命令,安装所需的driver repo版本。
    yum install nvidia-diag-driver-local-repo-rhel6-*.x86_64
    表示2.c中查询到的driver repo版本。
    e. 执行如下命令,安装driver。
    yum install -y cuda-drivers
    f. 执行如下命令,查询cuda版本。
    yum list | grep cuda | grep rhel6
    图3 查询cuda的版本
    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    g. 安装对应版本的cuda。
    yum install cuda-repo-rhel

    *表示2.f查询到的cuda版本号,同一个版本有几个文件,就安装几个文件。
    h. 执行如下命令,安装cuda。
    yum install -y cuda
    i. 执行如下命令,重启弹性云服务器。
    reboot
    安装GPU驱动和CUDA工具包(Ubuntu 14.04 &Ubuntu 16.04)
    该操作指导适用于如下操作系统的弹性云服务器:
    ? Ubuntu 14.04
    ? Ubuntu 16.04
    对于Linux弹性云服务器,建议采用Repo进行安装。
  9. Ubuntu 14.04 &Ubuntu 16.04 repo配置
    o 对于Ubuntu 14.04系统的弹性云服务器,执行以下命令进行repo配置。
    o cp -fp /etc/apt/sources.list /etc/apt/sources.list.back
    o cat > /etc/apt/sources.list < o deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-security main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-updates main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-proposed main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ trusty-backports main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-security main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-updates main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-proposed main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ trusty-backports main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs cuda
    o deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs driver
    o EOF
    o apt-get update --fix-missing
    o wget -O - http://mirrors.myhuaweicloud.com/ecs/linux/apt/huaweicloud.ubuntu.gpg.key | apt-key add -
    apt update
    o 对于Ubuntu 16.04系统的弹性云服务器,执行以下命令进行repo配置。
    o cp -fp /etc/apt/sources.list /etc/apt/sources.list.back
    o cat > /etc/apt/sources.list < o deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-security main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-updates main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-proposed main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ubuntu/ xenial-backports main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-security main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-updates main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-proposed main restricted universe multiverse
    o deb-src http://mirrors.myhuaweicloud.com/ubuntu/ xenial-backports main restricted universe multiverse
    o deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs cuda
    o deb http://mirrors.myhuaweicloud.com/ecs/linux/apt ecs driver
    o EOF
    o apt-get update --fix-missing
    o wget -O -
    o http://mirrors.myhuaweicloud.com/ecs/linux/apt/huaweicloud.ubuntu.gpg.key |
    o apt-key add -
    apt update
  10. Ubuntu 14.04 &Ubuntu 16.04 CUDA安装
    a. 执行如下命令,安装与内核版本匹配的kernel-devel。
    apt-get install -y --allow-unauthenticated linux-headers-uname -r
    b. 执行如下命令,安装查询driver版本。
    apt-cache search nvidia | grep driver | grep ubuntu
    图4 查询驱动版本
    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    c. 执行如下命令,安装需求版本的driver repo文件。
    apt-get install -y nvidia-diag-driver-local-repo-ubuntu*
    表示2.b查询到的driver版本号,只能安装一个指定的版本。
    d. 执行如下命令,安装driver。
    apt-get update && apt-get install -y --allow-unauthenticated cuda-drivers
    e. 执行如下命令,查询cuda版本。
    apt-cache search cuda | grep ubuntu
    图5 cuda版本查询
    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    f. 执行如下命令,安装需求版本的cuda repo文件。
    apt-get install -y cuda-repo-ubuntu

    *表示2.g查询到的driver版本号,同一个版本有几个文件,就安装几个文件。
    g. 执行如下命令,安装cuda。
    pt-get update && apt-get install -y --allow-unauthenticated cuda
    安装GPU驱动和CUDA工具包(OpenSUSE 42.x)
    该操作指导适用于如下操作系统的弹性云服务器:
    ? OpenSUSE 42.x系列
  11. 执行以下命令,配置opensuse_source4202系统软件仓库。
  12. mv /etc/zypp/repos.d/* /tmp/
  13. sudo zypper ar -fcg
  14. http://mirrors.myhuaweicloud.com/opensuse/distribution/leap/42.2/repo/oss
  15. HWCloud:42.2:OSS
  16. sudo zypper ar -fcg
  17. http://mirrors.myhuaweicloud.com/opensuse/distribution/leap/42.2/repo/non-oss
  18. HWCloud:42.3:NON-OSS
  19. sudo zypper ar -fcg
  20. http://mirrors.myhuaweicloud.com/opensuse/update/leap/42.2/oss
  21. HWCloud:42.2:UPDATE-OSS
  22. sudo zypper ar -fcg
  23. http://mirrors.myhuaweicloud.com/opensuse/update/leap/42.2/non-oss
    HWCloud:42.2:UPDATE-NON-OSS
  24. 执行以下命令,配置CUDA repo。
    a. 执行如下命令,新建HWnvidia-cudo.repo文件。
    vi /etc/zypp/repos.d/HWnvidia-cudo.repo
    b. 在新建文件HWnvidia-cudo.repo中添加如下内容:
    c. [HWnvidia-cuda]
    d. enabled=1
    e. autorefresh=1
    f. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/zypper/opensuse422/cuda
    g. type=rpm-md
    gpgcheck=0
    h. 执行如下命令,新建HWnvidia-driver.repo文件。
    i. 在新建文件HWnvidia-driver.repo中添加如下内容:
    j. [HWnvidia-driver]
    k. enabled=1
    l. autorefresh=1
    m. baseurl=http://mirrors.myhuaweicloud.com/ecs/linux/zypper/opensuse422/driver
    n. type=rpm-md
    gpgcheck=0
  25. 执行以下命令,安装CUDA。
    a. 执行如下命令,安装kernel-devel。
    zypper install -y kernel-default-devel=uname -r|awk -F'-' '{print $1"-"$2}'
    b. 执行如下命令,查询driver版本。
    zypper se nvidia | grep driver | grep opensuse
    图6 查询driver版本
    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    c. 执行如下命令,安装需求版本driver repo。
    zypper install -y nvidia-diag-driver-local-repo-opensuse422-*
    d. 执行如下命令,安装driver。
    zypper --gpg-auto-import-keys refresh && zypper install -y cuda-drivers
    e. 执行如下命令,查询cuda版本。
    zypper se cuda | grep opensuse
    图7 cuda版本的查询
    (推荐使用)安装NVIDIA|(推荐使用)安装NVIDIA GPU驱动和CUDA工具包
    文章图片

    f. 执行如下命令,安装需求版本cuda repo。
    zypper --no-gpg-checks install -y cuda-repo-opensuse*
    *表示查询到的cuda版本号。
    g. 执行如下命令,安装cuda。
    zypper --gpg-auto-import-keys refresh && zypper install -y cuda

    推荐阅读