在深度學習、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)
信息項
gn8is
gn7e
gn7i
gn7
gn6e
gn6i
gn6v
gn5i
gn5
產品類型
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
產品系列
L-Series
A-Series
A-Series
A-Series
V-Series
T-Series
V-Series
P-Series
P-Series
推薦的Tesla驅動版本
550.90.07或更高版本
450.80.02或更高版本
460.73.01 或更高版本
450.80.02 或更高版本
410.79或更高版本
推薦的CUDA Toolkit版本
說明上表中僅列出部分常用GPU計算型實例規格的GPU信息,具有相同GPU卡的實例,對應的GPU信息(產品類型、產品系列和產品家族)相同。例如,ebmgn7i與gn7i的GPU卡都為NVIDIA A10,所以這兩個實例對應的產品類型、產品系列和產品家族相同。
手動安裝Tesla驅動和CUDA包時,必須確保驅動版本和CUDA包版本的兼容性。更多信息,請參見CUDA兼容性。
在搜索到的驅動頁面,單擊展開查看更多版本。
找到待下載的驅動,單擊對應驅動后的查看。
例如,選擇驅動版本為470.161.03、CUDA工具包版本為11.4的Data Center Driver for Linux x64。
在待下載驅動的詳情頁面,右鍵單擊下載并選擇復制鏈接地址。
遠程連接Linux系統的GPU實例。
具體操作,請參見使用Workbench工具以SSH協議登錄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驅動中下載的驅動版本號。源碼方式
driver_version=460.91.03 sudo yum -y install yum-utils sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo sudo yum install -y nvidia-fabric-manager-${driver_version}-1
driver_version=460.91.03 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') distribution=rhel8 ARCH=$( /bin/arch ) sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/$distribution/${ARCH}/cuda-$distribution.repo sudo dnf module enable -y nvidia-driver:${driver_version_main} sudo dnf install -y nvidia-fabric-manager-0:${driver_version}-1
安裝包方式
driver_version=460.91.03 sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/nvidia-fabric-manager-${driver_version}-1.x86_64.rpm sudo rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
driver_version=460.91.03 sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/nvidia-fabric-manager-${driver_version}-1.x86_64.rpm sudo rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
執行如下命令,啟動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版本的驅動為例。
源代碼方式
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') sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin sudo mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub sudo apt-key add 3bf863cc.pub sudo rm 3bf863cc.pub sudo echo "deb https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list sudo apt-get update sudo apt-get -y install nvidia-fabricmanager-${driver_version_main}=${driver_version}-*
driver_version=535.154.05 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g') sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin sudo mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub sudo apt-key add 3bf863cc.pub sudo rm 3bf863cc.pub sudo echo "deb https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list sudo apt-get update sudo apt-get -y install nvidia-fabricmanager-${driver_version_main}=${driver_version}-*
安裝包方式
driver_version=460.91.03 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
driver_version=460.91.03 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
driver_version=460.91.03 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
driver_version=535.154.05 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
執行如下命令,啟動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驅動。