您可以在创建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及以上版本的驱动。
- 下载GPU驱动。
- 访问NVIDIA驱动下载。说明 关于安装和配置NVDIA驱动程序的更多信息,请参见NVIDIA Driver Installation Quickstart Guide。
- 设置搜索条件后,单击搜索查找适用的驱动程序。
设置项说明如下所示:
设置项 说明 示例 - 产品类型
- 产品系列
- 产品家族
根据实例规格配备的GPU选择对应的产品类型、产品系列和产品家族。 说明 关于如何查看GPU实例的详细信息(实例ID、实例规格以及操作系统等),具体操作,请参见查看实例信息。- Data Center / Tesla
- P-Series
- Tesla P100
操作系统 根据实例使用的镜像选择对应的Linux操作系统版本。 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 说明 上表中仅列出部分常用GPU计算型实例规格的GPU信息,具有相同GPU显卡的实例,对应的GPU信息(产品类型、产品系列和产品家族)相同。例如,ebmgn7i与gn7i的GPU显卡都为NVIDIA A10,所以这两个实例对应的产品类型、产品系列和产品家族相同。 - 在搜索到的驱动程序列表下,选择需要下载的驱动版本,单击对应的驱动名称。
- 在待下载驱动的详情页面,单击下载。
- 在NVIDIA驱动程序下载页面,右键单击同意并开始下载并选择复制链接地址。
- 选择以下任一种方式远程连接GPU实例。
连接方式 操作指引 Workbench 通过密码或密钥认证登录Linux实例 VNC 通过密码认证登录Linux实例 - 使用
wget
命令,并粘贴您在步骤1中复制的驱动下载链接,执行命令下载安装包。命令示例如下所示:wget https://cn.download.nvidia.com/tesla/460.73.01/NVIDIA-Linux-x86_64-460.73.01.run
- 访问NVIDIA驱动下载。
- 安装GPU驱动。不同操作系统实例,安装GPU驱动的方法有所不同,具体操作如下所示。CentOS操作系统
- 执行以下命令,查询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-devel和kernel-headers包。重要 kernel-devel和kernel版本不一致会导致在安装driver rpm过程中driver编译出错。因此,请您确认回显信息中kernel-*的版本号后,再下载对应版本的kernel-devel。在示例回显信息中,kernel的版本号为3.10.0-1062.18.1.el7.x86_64。
- 如果回显类似如下信息,即包含了kernel-devel和kernel-headers包的版本信息,表示已安装。
- 授权并安装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
- 安装完成后,执行如下命令,查看是否安装成功。
nvidia-smi
回显信息类似如下所示,表示GPU驱动安装成功。 - 安装与驱动版本对应的nvidia-fabricmanager服务。仅当GPU实例的规格族为ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,您才需要安装与版本驱动对应的nvidia-fabricmanager服务,否则,您将无法正常使用GPU实例。重要 如果您创建的GPU实例的规格族不是ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,请跳过本步骤。
- 安装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
- 安装包方式
- 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
- CentOS 7.x
- 源码方式
- 执行如下命令,启动nvidia-fabricmanager服务。
systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager
- 执行如下命令,查看nvidia-fabricmanager服务是否安装成功。
systemctl status nvidia-fabricmanager
回显信息如下所示,表示nvidia-fabricmanager服务安装成功。
- 安装nvidia-fabricmanager服务。
Ubuntu等其他操作系统- 授权并安装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
- 安装完成后,执行如下命令,查看是否安装成功。
nvidia-smi
回显信息类似如下所示,表示GPU驱动安装成功。 - 可选:安装与驱动版本对应的nvidia-fabricmanager服务。仅当GPU实例的规格族为ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,您才需要安装与版本驱动对应的nvidia-fabricmanager服务,否则,您将无法正常使用GPU实例。重要 如果您创建的GPU实例的规格族不是ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,请跳过本步骤。
- 安装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
- Ubuntu 16.04
- 源码方式
- 执行如下命令,启动nvidia-fabricmanager服务。
systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager
- 执行如下命令,查看nvidia-fabricmanager服务是否安装成功。
systemctl status nvidia-fabricmanager
回显信息如下所示,表示nvidia-fabricmanager服务安装成功。
- 安装nvidia-fabricmanager服务。
- 执行以下命令,查询GPU实例中是否安装kernel-devel和kernel-headers包。