您可以在创建GPU计算型实例(Linux)时自动配置Linux操作系统的GPU驱动,也可以在创建GPU计算型实例(Linux)后手动安装Linux操作系统的GPU驱动。本文为您介绍如何为Linux操作系统的GPU计算型实例手动安装GPU驱动。
背景信息
适用场景
本文操作适用于以下情况同时满足的业务场景。
-
如果您在创建GPU计算型实例时未配置自动安装GPU驱动,或者在公共镜像中没有您需要的操作系统或版本,您可以参考本文操作手动安装GPU驱动。
说明 如果您需要在创建Linux操作系统的GPU计算型实例时自动安装GPU驱动,具体操作,请参见 选择实例规格。 。
- 针对深度学习、AI等通用计算业务场景或者OpenGL、Direct3D等图形计算场景,如果您需要使用Linux操作系统的GPU计算型实例应用于该场景时,建议您安装GPU驱动(Linux)。
- 针对所有Linux操作系统的GPU计算型实例,如需安装GPU驱动(Linux),请参考本文操作。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服务。
-
执行如下命令,启动nvidia-fabricmanager服务。
systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager
-
执行如下命令,查看nvidia-fabricmanager服务是否安装成功。
systemctl status 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服务。
- 执行如下命令,启动nvidia-fabricmanager服务。
systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager
- 执行如下命令,查看nvidia-fabricmanager服务是否安装成功。
systemctl status nvidia-fabricmanager
回显信息如下所示,表示nvidia-fabricmanager服务安装成功。 -
执行以下命令,查询GPU实例中是否安装kernel-devel和kernel-headers包。