在深度学习、AI等通用计算业务场景或者OpenGL、Direct3D、云游戏等图形加速场景下,安装了Tesla驱动的GPU才可以发挥高性能计算能力,或提供更流畅的图形显示效果。如果您在创建GPU计算型实例(Linux)时未同时安装Tesla驱动,则需要在创建GPU实例后,单独手动安装Tesla驱动(Linux)。本文为您介绍如何为Linux系统的GPU计算型实例手动安装Tesla驱动。
如果GPU实例为Alibaba Cloud Linux 3操作系统的GPU计算型实例,且在创建实例时未同步自动安装Tesla驱动,则您也可以通过YUM方式安装该驱动,具体操作,请参见通过YUM方式快速安装NVIDIA Tesla驱动(Alibaba Cloud Linux 3)。
操作步骤
本文适用于所有Linux系统的GPU计算型实例,更多信息,请参见GPU计算型(gn系列)。在该实例上仅支持安装与其操作系统一致的Tesla驱动,即Linux系统GPU实例支持安装Tesla驱动(Linux)。
步骤一:下载NVIDIA Tesla驱动
访问NVIDIA驱动下载页面。
说明关于安装和配置NVIDIA驱动程序的更多信息,请参见NVIDIA Driver Installation Quickstart Guide。
设置搜索条件后,单击查找选择适用的驱动程序。
设置项说明如下所示:
设置项
说明
示例
产品类别
产品系列
产品家族
根据实例规格配备的GPU选择对应的产品类别、产品系列和产品家族。
说明关于如何查看GPU实例的详细信息(实例ID、实例规格以及操作系统等),具体操作,请参见查看实例信息。
Data Center / Tesla
A-Series
NVIDIA A10
操作系统
根据实例使用的镜像选择对应的Linux操作系统版本。
Linux 64-bit
CUDA工具包版本
选择CUDA Toolkit版本。
11.4
语言
选择驱动对应的语言。
Chinese (Simplified)
在搜索到的驱动页面,单击展开查看更多版本。
找到待下载的驱动,单击对应驱动后的查看。
例如,选择驱动版本为470.161.03、CUDA工具包版本为11.4的Data Center Driver for Linux x64。
在待下载驱动的详情页面,右键单击下载并选择复制链接地址。
远程连接Linux系统的GPU实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行以下命令,下载驱动安装包。
命令示例中的驱动下载地址为您在步骤5中获取的驱动下载链接。
wget https://cn.download.nvidia.com/tesla/470.161.03/NVIDIA-Linux-x86_64-470.161.03.run
步骤二:安装NVIDIA Tesla驱动
不同操作系统实例,安装Tesla驱动的方法有所不同,具体操作如下所示。
CentOS操作系统
执行以下命令,查询GPU实例中是否安装kernel-devel和kernel-headers包。
sudo 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。
授权并安装Tesla驱动。
以操作系统是Linux 64-bit的驱动为例,推荐您使用.run形式的Tesla驱动,例如:NVIDIA-Linux-x86_64-xxxx.run。分别执行以下命令,授权并安装Tesla驱动。
说明如果您使用的是.deb或.rpm等其他形式的Tesla驱动,具体安装方法,请参见NVIDIA CUDA Installation Guide for Linux。
sudo chmod +x NVIDIA-Linux-x86_64-xxxx.run
sudo sh NVIDIA-Linux-x86_64-xxxx.run
执行以下命令,查看Tesla驱动是否安装成功。
nvidia-smi
回显信息类似如下所示,表示Tesla驱动安装成功。
(可选)通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
Tesla驱动安装完成后,Persistence-M默认为关闭(
off
)状态,Tesla驱动在开启Persistence-M属性状态下性能更稳定。为了业务更稳定地进行,建议您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。更多信息,请参见Persistence Daemon。说明Persistence-M(即Persistence Mode)是用户可设置的驱动程序属性术语,该属性可以使目标GPU保持初始化状态。
通过
nvidia-smi -pm 1
开启Persistence-M属性,会导致实例重启后失效等问题,更多信息,请参见通过nvidia-smi -pm 1命令开启Persistence Mode属性,实例重启后失效,同时ECC状态设置也失败怎么办。推荐您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
执行以下命令,运行NVIDIA Persistence Daemon。
sudo nvidia-persistenced --user username # username为您的用户名。
执行以下命令,查看Persistence-M属性状态。
nvidia-smi
回显信息类似如下所示,表示Persistence-M为开启(
on
)状态。
(可选)重启系统后开启Persistence-M属性。
如果系统重启,则会导致Persistence-M开启(
on
)状态失效,您可以按照以下操作重新开启Persistence-M属性。通过安装Tesla驱动安装包,将NVIDIA提供的安装脚本(例如示例脚本和安装程序脚本)安装到
/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2
路径下。执行以下命令,解压并安装NVIDIA提供的安装脚本。
cd /usr/share/doc/NVIDIA_GLX-1.0/samples/ sudo tar xf nvidia-persistenced-init.tar.bz2 cd nvidia-persistenced-init sudo sh install.sh
执行以下命令,查看NVIDIA Persistence Daemon是否正常运行。
sudo systemctl status nvidia-persistenced
回显信息类似如下所示,表示NVIDIA Persistence Daemon正常运行。
说明您可以根据您的操作系统适配NVIDIA Persistence Daemon安装脚本以保证其正常工作。
执行以下命令,再次确认Persistence-M属性为开启(
on
)状态。nvidia-smi
(可选)执行以下命令,关闭NVIDIA Persistence Daemon。
如果目前无需运行NVIDIA Persistence Daemon,您可以选择关闭NVIDIA Persistence Daemon。
sudo systemctl stop nvidia-persistenced sudo systemctl disable nvidia-persistenced
(条件必选)如果您的GPU实例规格族为ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,安装与驱动版本对应的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
替换为步骤一:下载NVIDIA Tesla驱动中下载的驱动版本号。源码方式
安装包方式
执行如下命令,启动nvidia-fabricmanager服务。
sudo systemctl enable nvidia-fabricmanager sudo systemctl start nvidia-fabricmanager
执行如下命令,查看nvidia-fabricmanager服务是否安装成功。
systemctl status nvidia-fabricmanager
回显信息如下所示,表示nvidia-fabricmanager服务安装成功。
Ubuntu等其他操作系统
授权并安装Tesla驱动。
以操作系统是Linux 64-bit的驱动为例,推荐您使用.run形式的Tesla驱动,例如:NVIDIA-Linux-x86_64-xxxx.run。分别执行以下命令,授权并安装Tesla驱动。
说明如果您使用的是.deb或.rpm等其他形式的Tesla驱动,具体安装方法,请参见NVIDIA CUDA Installation Guide for Linux。
sudo chmod +x NVIDIA-Linux-x86_64-xxxx.run
sudo sh NVIDIA-Linux-x86_64-xxxx.run
执行以下命令,查看Tesla驱动是否安装成功。
nvidia-smi
回显信息类似如下所示,表示Tesla驱动安装成功。
(可选)通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
Tesla驱动安装完成后,Persistence-M默认为关闭(
off
)状态,Tesla驱动在开启Persistence-M属性状态下性能更稳定。为了业务更稳定地进行,建议您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。更多信息,请参见Persistence Daemon。说明Persistence-M(即Persistence Mode)是用户可设置的驱动程序属性术语,该属性可以使目标GPU保持初始化状态。
通过
nvidia-smi -pm 1
开启Persistence-M属性,会导致实例重启后失效等问题,更多信息,请参见通过nvidia-smi -pm 1命令开启Persistence Mode属性,实例重启后失效,同时ECC状态设置也失败怎么办。推荐您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
执行以下命令,运行NVIDIA Persistence Daemon。
sudo nvidia-persistenced --user username # username为您的用户名。
执行以下命令,查看Persistence-M属性状态。
nvidia-smi
回显信息类似如下所示,表示Persistence-M为开启(
on
)状态。
(可选)重启系统后开启Persistence-M属性。
如果系统重启,则会导致Persistence-M开启(
on
)状态失效,您可以按照以下操作重新开启Persistence-M属性。通过安装Tesla驱动安装包,将NVIDIA提供的安装脚本(例如示例脚本和安装程序脚本)安装到
/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2
路径下。执行以下命令,解压并安装NVIDIA提供的安装脚本。
cd /usr/share/doc/NVIDIA_GLX-1.0/samples/ sudo tar xf nvidia-persistenced-init.tar.bz2 cd nvidia-persistenced-init sudo sh install.sh
执行以下命令,查看NVIDIA Persistence Daemon是否正常运行。
sudo systemctl status nvidia-persistenced
回显信息类似如下所示,表示NVIDIA Persistence Daemon正常运行。
说明您可以根据您的操作系统适配NVIDIA Persistence Daemon安装脚本以保证其正常工作。
执行以下命令,再次确认Persistence-M属性为开启(
on
)状态。nvidia-smi
(可选)执行以下命令,关闭NVIDIA Persistence Daemon。
如果目前无需运行NVIDIA Persistence Daemon,您可以选择关闭NVIDIA Persistence Daemon。
sudo systemctl stop nvidia-persistenced sudo systemctl disable nvidia-persistenced
(条件必选)如果您的GPU实例规格族为ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex时,安装与驱动版本对应的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或Ubuntu 22.04操作系统为例,驱动版本(driver_version)以460.91.03或535.154.05为例,命令示例如下。其中,
driver_version
替换为步骤一:下载NVIDIA Tesla驱动中下载的驱动版本号。重要在Ubuntu 22.04操作系统中安装nvidia-fabricmanager服务时,需要Tesla驱动版本高于515.48.07,针对Ubuntu 22.04操作系统,下述示例代码以535.154.05版本的驱动为例。
源代码方式
安装包方式
执行如下命令,启动nvidia-fabricmanager服务。
sudo systemctl enable nvidia-fabricmanager sudo systemctl start nvidia-fabricmanager
执行如下命令,查看nvidia-fabricmanager服务是否安装成功。
systemctl status nvidia-fabricmanager
回显信息如下所示,表示nvidia-fabricmanager服务安装成功。
说明nvidia-fabricmanager软件包版本必须与Tesla驱动版本一致,才能保障GPU的正常使用。在Ubuntu系统下,如果您采用安装包方式安装nvidia-fabricmanager服务,则apt-daily服务可能会自动更新nvidia-fabricmanager安装包,使得nvidia-fabricmanager软件包版本与Tesla驱动版本不一致,从而导致nvidia-fabricmanager服务启动失败,并且GPU无法正常使用。如何解决该问题,请参见nvidia-fabricmanager版本与Tesla驱动版本不一致导致GPU无法正常使用。
相关文档
如果您购买了Windows系统的GPU计算型实例,则只能单独安装Tesla驱动来更好地应用于深度学习、AI等通用计算业务场景。具体操作,请参见在GPU计算型实例中手动安装Tesla驱动(Windows)。
如果您需要在创建GPU实例时同时安装了Tesla驱动,具体操作,请参见创建GPU实例时自动安装或加载Tesla驱动。
如果当前Tesla驱动因某种原因需要您卸载,具体操作,请参见卸载Tesla驱动。
如果GPU实例中安装的驱动版本不适用于当前场景,或您安装了错误的驱动类型或版本导致GPU实例无法使用,您可以卸载当前驱动然后安装新的驱动或直接升级驱动。关于如何升级驱动的具体操作,请参见升级NVIDIA驱动。