您可以在创建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驱动前,请您了解以下信息:
  • 如果您创建的GPU实例规格族为gn7,目前仅支持安装Driver 510.47.03(不含510.47.03)以下版本的驱动。
  • 如果您创建的GPU实例的规格族为gn7e,您可以通过使用NVIDIA A100安装CUDA 11.6、Driver 510.47.03及以上版本的驱动。
  1. 下载GPU驱动。
    1. 访问NVIDIA驱动下载
      说明 关于安装和配置NVDIA驱动程序的更多信息,请参见NVIDIA Driver Installation Quickstart Guide
    2. 设置搜索条件后,单击搜索查找适用的驱动程序。
      liunx

      设置项说明如下所示:

      设置项说明示例
      • 产品类型
      • 产品系列
      • 产品家族
      根据实例规格配备的GPU选择对应的产品类型、产品系列和产品家族。
      说明 关于如何查看GPU实例的详细信息(实例ID、实例规格以及操作系统等),具体操作,请参见查看实例信息
      • Data Center / Tesla
      • P-Series
      • Tesla P100
      操作系统根据实例使用的镜像选择对应的Linux操作系统版本。Linux 64-bit
      CUDA Toolkit选择CUDA Toolkit版本。11.2
      语言选择驱动对应的语言。Chinese (Simplified)
      最新默认项为全部,保持默认选项即可。全部
      各GPU计算型规格的GPU信息如下所示:
      信息项gn4gn5gn5ign6vgn6ign6egn7gn7ign7e
      产品类型Data Center / TeslaData Center / TeslaData Center / TeslaData Center / TeslaData Center / TeslaData Center / TeslaData Center / TeslaData Center / TeslaData Center / Tesla
      产品系列M-ClassP-SeriesP-SeriesV-SeriesT-SeriesV-SeriesA-SeriesA-SeriesA-Series
      产品家族M40Tesla P100Tesla P4Tesla V100Tesla T4Tesla V100NVIDIA A100NVIDIA A10NVIDIA A100
      说明 上表中仅列出部分常用GPU计算型实例规格的GPU信息,具有相同GPU显卡的实例,对应的GPU信息(产品类型、产品系列和产品家族)相同。例如,ebmgn7i与gn7i的GPU显卡都为NVIDIA A10,所以这两个实例对应的产品类型、产品系列和产品家族相同。
    3. 在搜索到的驱动程序列表下,选择需要下载的驱动版本,单击对应的驱动名称。
    4. 在待下载驱动的详情页面,单击下载linux下载页面
    5. NVIDIA驱动程序下载页面,右键单击同意并开始下载并选择复制链接地址驱动程序下载
    6. 选择以下任一种方式远程连接GPU实例。
    7. 使用wget命令,并粘贴您在步骤1中复制的驱动下载链接,执行命令下载安装包。命令示例如下所示:
      wget https://cn.download.nvidia.com/tesla/460.73.01/NVIDIA-Linux-x86_64-460.73.01.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. 安装完成后,执行如下命令,查看是否安装成功。
      nvidia-smi
      回显信息类似如下所示,表示GPU驱动安装成功。kernel
    4. 安装与驱动版本对应的nvidia-fabricmanager服务。
      仅当GPU实例的规格族为ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,您才需要安装与版本驱动对应的nvidia-fabricmanager服务,否则,您将无法正常使用GPU实例。
      重要 如果您创建的GPU实例的规格族不是ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,请跳过本步骤。
      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. 安装完成后,执行如下命令,查看是否安装成功。
      nvidia-smi
      回显信息类似如下所示,表示GPU驱动安装成功。kernel
    3. 可选:安装与驱动版本对应的nvidia-fabricmanager服务。
      仅当GPU实例的规格族为ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,您才需要安装与版本驱动对应的nvidia-fabricmanager服务,否则,您将无法正常使用GPU实例。
      重要 如果您创建的GPU实例的规格族不是ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,请跳过本步骤。
      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/7fa2af80.pub
          apt-key add 7fa2af80.pub
          rm 7fa2af80.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