全部产品
Search
文档中心

GPU 云服务器:在GPU计算型实例中安装GPU驱动(Linux)

更新时间:Sep 05, 2023

您可以在创建GPU计算型实例(Linux)时自动配置Linux系统的GPU驱动,也可以在创建GPU计算型实例(Linux)后手动安装Linux系统的GPU驱动。本文为您介绍如何为Linux操作系统的GPU计算型实例手动安装GPU驱动。

背景信息

GPU计算型实例仅支持安装与其操作系统一致的GPU驱动,本文重点为您介绍手动安装Linux操作系统的GPU驱动的相关操作。

说明

如果您创建的GPU计算型实例为Windows操作系统,需要安装Windows操作系统的GPU驱动,具体操作,请参见在GPU计算型实例中安装GPU驱动(Windows)

适用场景

本文操作适用于以下情况同时满足的业务场景。

  • 如果您在创建GPU计算型实例时未配置自动安装GPU驱动,或者在公共镜像中没有您需要的操作系统或版本,您可以参考本文操作手动安装GPU驱动。

    说明

    如果您需要在创建Linux操作系统的GPU计算型实例时自动安装GPU驱动,具体操作,请参见创建配备GPU驱动的GPU实例(Linux)

  • 针对深度学习、AI等通用计算业务场景或者OpenGL、Direct3D等图形计算场景,如果您需要使用Linux操作系统的GPU计算型实例应用于该场景时,建议您安装GPU驱动(Linux)。

  • 针对所有Linux操作系统的GPU计算型实例,如需安装GPU驱动(Linux),请参考本文操作。GPU计算型实例规格的更多信息,请参见GPU计算型

说明

如需了解GPU驱动的其他适用场景和安装方式,更多信息,请参见不同实例驱动安装指引

操作步骤

如果您创建的GPU实例规格族为gn7,目前仅支持安装Driver 510.47.03(不含510.47.03)以下版本的驱动。

  1. 下载GPU驱动。

    1. 访问NVIDIA驱动下载

      说明

      关于安装和配置NVDIA驱动程序的更多信息,请参见NVIDIA Driver Installation Quickstart Guide

    2. 设置搜索条件后,单击搜索查找适用的驱动程序。

      驱动下载.png

      设置项说明如下所示:

      设置项

      说明

      示例

      • 产品类型

      • 产品系列

      • 产品家族

      根据实例规格配备的GPU选择对应的产品类型、产品系列和产品家族。

      说明

      关于如何查看GPU实例的详细信息(实例ID、实例规格以及操作系统等),具体操作,请参见查看实例信息

      • Data Center / Tesla

      • A-Series

      • NVDIA A10

      操作系统

      根据实例使用的镜像选择对应的Linux操作系统版本。

      Linux 64-bit

      CUDA Toolkit

      选择CUDA Toolkit版本。

      11.4

      语言

      选择驱动对应的语言。

      Chinese (Simplified)

      最新

      默认项为全部,保持默认选项即可。

      全部

      各GPU计算型规格的GPU信息如下所示:

      信息项

      gn4

      gn5

      gn5i

      gn6v

      gn6i

      gn6e

      gn7

      gn7i

      gn7e

      产品类型

      Data Center / Tesla

      Data Center / Tesla

      Data Center / Tesla

      Data Center / Tesla

      Data Center / Tesla

      Data Center / Tesla

      Data Center / Tesla

      Data Center / Tesla

      Data Center / Tesla

      产品系列

      M-Class

      P-Series

      P-Series

      V-Series

      T-Series

      V-Series

      A-Series

      A-Series

      A-Series

      产品家族

      M40

      Tesla P100

      Tesla P4

      Tesla V100

      Tesla T4

      Tesla V100

      NVIDIA A100

      NVIDIA A10

      NVIDIA A100

      说明

      上表中仅列出部分常用GPU计算型实例规格的GPU信息,具有相同GPU显卡的实例,对应的GPU信息(产品类型、产品系列和产品家族)相同。例如,ebmgn7i与gn7i的GPU显卡都为NVIDIA A10,所以这两个实例对应的产品类型、产品系列和产品家族相同。

    3. 在搜索到的驱动程序列表下,选择需要下载的驱动版本(例如驱动版本为470.161.03),单击对应的驱动名称。

    4. 在待下载驱动的详情页面,单击下载

      下载页面.png
    5. NVIDIA驱动程序下载页面,右键单击同意并开始下载并选择复制链接地址

      复制下载地址.png
    6. 选择以下任一种方式远程连接GPU实例。

    7. 使用wget命令,并粘贴您在步骤1中复制的驱动下载链接,执行命令下载安装包。

      命令示例如下所示:

      wget https://us.download.nvidia.com/tesla/470.161.03/NVIDIA-Linux-x86_64-470.161.03.run
  2. 安装GPU驱动。

    不同操作系统实例,安装GPU驱动的方法有所不同,具体操作如下所示。

    CentOS操作系统

    1. 执行以下命令,查询GPU实例中是否安装kernel-devel和kernel-headers包。

      rpm  -qa | grep $(uname -r)
      • 如果回显类似如下信息,即包含了kernel-devel和kernel-headers包的版本信息,表示已安装。

        kernel-3.10.0-1062.18.1.el7.x86_64
        kernel-devel-3.10.0-1062.18.1.el7.x86_64
        kernel-headers-3.10.0-1062.18.1.el7.x86_64
      • 如果在回显信息中,您没有找到kernel-devel-*kernel-headers-*内容,您需要自行下载并安装kernel对应版本的kernel-develkernel-headers包。

        重要

        kernel-devel和kernel版本不一致会导致在安装driver rpm过程中driver编译出错。因此,请您确认回显信息中kernel-*的版本号后,再下载对应版本的kernel-devel。在示例回显信息中,kernel的版本号为3.10.0-1062.18.1.el7.x86_64。

    2. 授权并安装GPU驱动。

      以操作系统是Linux 64-bit的驱动为例,您下载的GPU驱动为.run格式,例如:NVIDIA-Linux-x86_64-xxxx.run。分别执行以下命令,授权并安装GPU驱动。

      chmod +x NVIDIA-Linux-x86_64-xxxx.run
      sh NVIDIA-Linux-x86_64-xxxx.run
    3. 执行以下命令,查看GPU驱动是否安装成功。

      nvidia-smi

      回显信息类似如下所示,表示GPU驱动安装成功。

      off状态.png
    4. (可选)通过NVIDIA Persistence Daemon方式开启Persistence-M属性。

      GPU驱动安装完成后,Persistence-M默认为关闭(off)状态,GPU驱动在开启Persistence-M属性状态下性能更稳定。为了业务更稳定地进行,建议您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。更多信息,请参见Persistence Daemon

      说明
      • Persistence-M(即Persistence Mode)是用户可设置的驱动程序属性术语,该属性可以使目标GPU保持初始化状态。

      • NVIDIA先前通过Persistence Mode(Legacy)方式开启Persistence-M(即通过执行nvidia-smi -pm 1命令的方式),该方式即将到达使用期限,最终将被弃用,取而代之的是NVIDIA Persistence Daemon方式。

      1. 执行以下命令,运行NVIDIA Persistence Daemon。

        sudo nvidia-persistenced --user username 
        # username为您的用户名。
      2. 执行以下命令,查看Persistence-M属性状态。

        nvidia-smi

        回显信息类似如下所示,表示Persistence-M为开启(on)状态。

        2023-08-11_18-02-33.png
    5. (可选)重启系统后开启Persistence-M属性。

      如果系统重启,则会导致Persistence-M开启(on)状态失效,您可以按照以下操作重新开启Persistence-M属性。

      通过安装NVIDIA GPU驱动安装包,将NVIDIA提供的安装脚本(例如示例脚本和安装程序脚本)安装到 /usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2路径下。

      1. 执行以下命令,解压并安装NVIDIA提供的安装脚本。

        cd  /usr/share/doc/NVIDIA_GLX-1.0/samples/
        tar xf nvidia-persistenced-init.tar.bz2
        cd  nvidia-persistenced-init
        sh install.sh
      2. 执行以下命令,查看NVIDIA Persistence Daemon是否正常运行。

        systemctl status nvidia-persistenced

        回显信息类似如下所示,表示NVIDIA Persistence Daemon正常运行。

        已安装.png
        说明

        您可以根据您的操作系统适配NVIDIA Persistence Daemon安装脚本以保证其正常工作。

      3. 执行以下命令,再次确认Persistence-M属性为开启(on)状态。

        nvidia-smi
      4. (可选)执行以下命令,关闭NVIDIA Persistence Daemon。

        如果目前无需运行NVIDIA Persistence Daemon,您可以选择关闭NVIDIA Persistence Daemo。

        systemctl stop nvidia-persistenced
        systemctl disable nvidia-persistenced
    6. (条件必选)如果您的GPU实例规格族为ebmgn7、ebmgn7e时,安装与驱动版本对应的nvidia-fabricmanager服务。

      重要
      • GPU实例规格族为ebmgn7、ebmgn7e时,如果未安装与版本驱动对应的nvidia-fabricmanager服务,则您将无法正常使用GPU实例。

      • GPU实例规格族不是ebmgn7、ebmgn7e时,请跳过本步骤。

      1. 安装nvidia-fabricmanager服务。

        您可以通过源码或者安装包两种方式安装nvidia-fabricmanager服务,以下操作以CentOS 7.x和CentOS 8.x操作系统为例,驱动版本(driver_version)以460.91.03为例,命令示例如下。其中,driver_version替换为步骤1中下载的驱动版本号。

        • 源码方式

          • CentOS 7.x

            driver_version=460.91.03
            yum -y install yum-utils
            yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
            yum install -y nvidia-fabric-manager-${driver_version}-1
          • CentOS 8.x

            driver_version=460.91.03
            driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
            distribution=rhel8
            ARCH=$( /bin/arch )
            dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/$distribution/${ARCH}/cuda-$distribution.repo
            dnf module enable -y nvidia-driver:${driver_version_main}
            dnf install -y nvidia-fabric-manager-0:${driver_version}-1
        • 安装包方式

          • CentOS 7.x

            driver_version=460.91.03
            wget http://mirrors.cloud.aliyuncs.com/nvidia-cuda/rhel7/x86_64/nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
            rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
          • CentOS 8.x

            driver_version=460.91.03
            wget http://mirrors.cloud.aliyuncs.com/nvidia-cuda/rhel8/x86_64/nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
            rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
      2. 执行如下命令,启动nvidia-fabricmanager服务。

        systemctl enable nvidia-fabricmanager
        systemctl start nvidia-fabricmanager
      3. 执行如下命令,查看nvidia-fabricmanager服务是否安装成功。

        systemctl status nvidia-fabricmanager

        回显信息如下所示,表示nvidia-fabricmanager服务安装成功。2021-09-28_15-09-52

    Ubuntu等其他操作系统

    1. 授权并安装GPU驱动。

      以操作系统是Linux 64-bit的驱动为例,您下载的GPU驱动为.run格式,例如:NVIDIA-Linux-x86_64-xxxx.run。分别执行以下命令,授权并安装GPU驱动。

      chmod +x NVIDIA-Linux-x86_64-xxxx.run
      sh NVIDIA-Linux-x86_64-xxxx.run
    2. 执行以下命令,查看GPU驱动是否安装成功。

      nvidia-smi

      回显信息类似如下所示,表示GPU驱动安装成功。

      off状态.png
    3. (可选)通过NVIDIA Persistence Daemon方式开启Persistence-M属性。

      GPU驱动安装完成后,Persistence-M默认为关闭(off)状态,GPU驱动在开启Persistence-M属性状态下性能更稳定。为了业务更稳定地进行,建议您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。更多信息,请参见Persistence Daemon

      说明
      • Persistence-M(即Persistence Mode)是用户可设置的驱动程序属性术语,该属性可以使目标GPU保持初始化状态。

      • NVIDIA先前通过Persistence Mode(Legacy)方式开启Persistence-M(即通过执行nvidia-smi -pm 1命令的方式),该方式即将到达使用期限,最终将被弃用,取而代之的是NVIDIA Persistence Daemon方式。

      1. 执行以下命令,运行NVIDIA Persistence Daemon。

        sudo nvidia-persistenced --user username 
        # username为您的用户名。
      2. 执行以下命令,查看Persistence-M属性状态。

        nvidia-smi

        回显信息类似如下所示,表示Persistence-M为开启(on)状态。

        2023-08-11_18-02-33.png
    4. (可选)重启系统后开启Persistence-M属性。

      如果系统重启,则会导致Persistence-M开启(on)状态失效,您可以按照以下操作重新开启Persistence-M属性。

      通过安装NVIDIA GPU驱动安装包,将NVIDIA提供的安装脚本(例如示例脚本和安装程序脚本)安装到 /usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2路径下。

      1. 执行以下命令,解压并安装NVIDIA提供的安装脚本。

        cd  /usr/share/doc/NVIDIA_GLX-1.0/samples/
        tar xf nvidia-persistenced-init.tar.bz2
        cd  nvidia-persistenced-init
        sh install.sh
      2. 执行以下命令,查看NVIDIA Persistence Daemon是否正常运行。

        systemctl status nvidia-persistenced

        回显信息类似如下所示,表示NVIDIA Persistence Daemon正常运行。

        已安装.png
        说明

        您可以根据您的操作系统适配NVIDIA Persistence Daemon安装脚本以保证其正常工作。

      3. 执行以下命令,再次确认Persistence-M属性为开启(on)状态。

        nvidia-smi
      4. (可选)执行以下命令,关闭NVIDIA Persistence Daemon。

        如果目前无需运行NVIDIA Persistence Daemon,您可以选择关闭NVIDIA Persistence Daemo。

        systemctl stop nvidia-persistenced
        systemctl disable nvidia-persistenced
    5. (条件必选)如果您的GPU实例规格族为ebmgn7、ebmgn7e时,安装与驱动版本对应的nvidia-fabricmanager服务。

      重要
      • GPU实例规格族为ebmgn7、ebmgn7e时,如果未安装与版本驱动对应的nvidia-fabricmanager服务,则您将无法正常使用GPU实例。

      • GPU实例规格族不是ebmgn7、ebmgn7e时,请跳过本步骤。

      1. 安装nvidia-fabricmanager服务。

        您可以通过源码或者安装包两种方式安装nvidia-fabricmanager服务,以下操作以Ubuntu 16.04、Ubuntu 18.04或Ubuntu 20.04操作系统为例,驱动版本(driver_version)以460.91.03为例,命令示例如下。其中,driver_version替换为步骤1中下载的驱动版本号。

        • 源码方式

          Ubuntu 16.04、Ubuntu 18.04或Ubuntu 20.04

          driver_version=460.91.03
          driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
          distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
          wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin
          mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600
          wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub
          apt-key add 3bf863cc.pub
          rm 3bf863cc.pub
          echo "deb http://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list
          apt-get update
          apt-get -y install nvidia-fabricmanager-${driver_version_main}=${driver_version}-*
        • 安装包方式

          • Ubuntu 16.04

            driver_version=460.91.03
            driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
            wget http://mirrors.cloud.aliyuncs.com/nvidia-cuda/ubuntu1604/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
            dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
          • Ubuntu 18.04

            driver_version=460.91.03
            driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
            wget http://mirrors.cloud.aliyuncs.com/nvidia-cuda/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
            dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
          • Ubuntu 20.04

            driver_version=460.91.03
            driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
            wget http://mirrors.cloud.aliyuncs.com/nvidia-cuda/ubuntu2004/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
            dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
      2. 执行如下命令,启动nvidia-fabricmanager服务。

        systemctl enable nvidia-fabricmanager
        systemctl start nvidia-fabricmanager
      3. 执行如下命令,查看nvidia-fabricmanager服务是否安装成功。

        systemctl status nvidia-fabricmanager

        回显信息如下所示,表示nvidia-fabricmanager服务安装成功。2021-09-28_15-09-52