如果您在创建GPU计算型实例时没有配置自动安装GPU驱动,或者在公共镜像中没有您需要的操作系统或版本,为保证您能正常使用您创建的GPU实例,请在创建后手动安装驱动。本文为您介绍如何为Linux操作系统的GPU实例手动安装GPU驱动。

背景信息

GPU实例仅支持安装与其操作系统一致的GPU驱动。本文重点为您介绍手动安装Linux操作系统的GPU驱动的相关操作。如果您创建的GPU实例为Windows操作系统,请参见在GPU计算型实例中安装GPU驱动(Windows),根据指导安装Windows操作系统的GPU驱动。

操作步骤

  1. 访问NVIDIA驱动下载
  2. 设置搜索条件后,单击搜索查找适用的驱动程序。
    2021-07-02_18-25-40

    设置项说明如下所示:

    设置项 说明 示例
    • 产品类型
    • 产品系列
    • 产品家族
    根据实例规格配备的GPU选择对应的产品类型、产品系列和产品家族。查看实例规格信息的具体操作,请参见查看实例信息

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

    • Data Center / Tesla
    • P-Series
    • Tesla P100
    操作系统 根据实例使用的镜像选择对应的Linux操作系统版本。

    如果下拉列表中没有显示所需的操作系统,请单击下拉列表底部的选择所有操作系统。如果您未能找到与实例镜像完全匹配的Linux操作系统版本,请选择Linux 64-bit

    Linux 64-bit
    CUDA Toolkit 选择CUDA Toolkit版本。 11.2
    语言 选择驱动对应的语言。 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
  3. 在搜索到的驱动程序列表下,选择需要下载的驱动版本,单击对应的驱动名称。
  4. 在打开驱动程序下载页面,单击下载,然后在NVIDIA驱动程序下载页面,右键单击下载并选择复制链接地址
    download-linux
  5. 远程连接实例。
    选择以下任一种方式远程连接GPU实例。
    连接方式 操作指引
    Workbench 通过密码或密钥认证登录Linux实例
    VNC 通过密码认证登录Linux实例
  6. 使用wget命令,并粘贴您在步骤3中复制的驱动下载链接,执行命令下载安装包。命令示例如下所示:
    wget https://cn.download.nvidia.com/tesla/460.73.01/NVIDIA-Linux-x86_64-460.73.01.run
  7. 安装GPU驱动。
    1. 如果您的操作系统为CentOS,请执行以下命令,查询实例中是否安装kernel-devel和kernel-headers包。对于ubuntu等其他操作系统,已经在其中预装了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
  8. 如果您创建的GPU实例的规格族为ebmgn7、ebmgn7e或sccgn7ex,您需要继续执行以下操作,安装与驱动版本对应的nvidia-fabricmanager服务,否则,将无法正常使用GPU实例。
    1. 安装nvidia-fabricmanager服务。
      您可以通过源或者下载安装包两种方式安装nvidia-fabricmanager服务,并且不同操作系统对应的安装命令有所区别,以下操作均以驱动版本为460.91.03为例,您需要根据实际情况替换driver_version后的驱动版本。命令示例如下:
      • 通过源安装nvidia-fabricmanager服务。
        • 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
        • 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}-*
      • 通过下载安装包安装nvidia-fabricmanager服务。
        • 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
        • 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
  9. 如果您创建的GPU实例的规格族为gn7,目前仅支持安装Driver 510.47.03(不含510.47.03)以下版本的驱动。如果您需要使用NVIDIA A100安装CUDA 11.6、Driver 510.47.03及以上版本的驱动,请选择GPU实例的规格族为gn7e。
    GPU实例创建或选择完成后,请您手动安装GPU驱动。具体操作,请参见步骤6