如果您在創建GPU計算型實例時沒有配置自動安裝GPU驅動,或者在公共鏡像中沒有您需要的操作系統或版本,為保證您能正常使用您創建的GPU實例,請在創建后手動安裝驅動。本文為您介紹如何為Linux操作系統的GPU實例手動安裝GPU驅動。
背景信息
GPU實例僅支持安裝與其操作系統一致的GPU驅動。本文重點為您介紹手動安裝Linux操作系統的GPU驅動的相關操作。如果您創建的GPU實例為Windows操作系統,請參見在GPU計算型實例中安裝GPU驅動(Windows),根據指導安裝Windows操作系統的GPU驅動。
操作步驟
- 訪問NVIDIA驅動下載。
- 手動查找適用的驅動程序。
- 根據實例規格配備的GPU選擇對應的產品類型、產品系列和產品家族。查看實例規格信息的具體操作,請參見查看實例信息。
各GPU計算型規格的GPU信息如下表所示:
信息項 gn4 gn5 gn5i gn6v gn6i gn6e gn7 gn7i 產品類型 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 產品家族 M40 Tesla P100 Tesla P4 Tesla V100 Tesla T4 Tesla V100 NVIDIA A100 NVIDIA A10 - 根據實例使用的鏡像選擇對應的Linux操作系統版本。
如果下拉列表中沒有顯示所需的操作系統,請單擊下拉列表底部的選擇所有操作系統。如果您未能找到與實例鏡像完全匹配的Linux操作系統版本,請選擇Linux 64-bit。
- 選擇CUDA Toolkit版本。
- 選擇語言。
- 單擊搜索,然后選擇需要下載的驅動版本,單擊對應的驅動名稱。
- 根據實例規格配備的GPU選擇對應的產品類型、產品系列和產品家族。查看實例規格信息的具體操作,請參見查看實例信息。
- 在打開驅動程序下載頁面,單擊下載,然后在NVIDIA驅動程序下載頁面,右鍵單擊下載並選擇復制鏈接地址。
- 遠程連接實例。
選擇以下任一種方式遠程連接GPU實例。
連接方式 操作指引 Workbench 通過密碼或密鑰認證登錄Linux實例 VNC 通過密碼認證登錄Linux實例 - 使用
wget
命令,並粘貼您在步驟3中復制的驅動下載鏈接,執行命令下載安裝包。命令示例如下所示:wget https://cn.download.nvidia.com/tesla/460.73.01/NVIDIA-Linux-x86_64-460.73.01.run
- 安裝GPU驅動。
- 如果您的操作系統為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-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驅動安裝成功。
- 如果您的操作系統為CentOS,請執行以下命令,查詢實例中是否安裝kernel-devel和kernel-headers包。對於ubuntu等其他操作系統,已經在其中預裝了kernel-devel和kernel-headers包,請跳過此步驟。
- 如果您創建的GPU實例的規格族為ebmgn7,您需要繼續執行以下操作,安裝與驅動版本對應的nvidia-fabricmanager服務,否則,將無法正常使用GPU實例。
- 安裝nvidia-fabricmanager服務。
不同操作系統對應安裝nvidia-fabricmanager服務的命令有所區別,具體說明如下。
以下操作均以驅動版本為460.91.03為例,您需要根據實際情況替換
driver_version
后的驅動版本。- 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
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 20.04
driver_version=460.91.03 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') apt-get update apt-get -y install nvidia-fabricmanager-${driver_version_main}=${driver_version}-*
- CentOS 7.x
- 執行如下命令,啟動nvidia-fabricmanager服務。
systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager
- 執行如下命令,查看nvidia-fabricmanager服務狀態。
systemctl status nvidia-fabricmanager
如果回顯信息如下所示,則表示nvidia-fabricmanager服務安裝成功。
- 安裝nvidia-fabricmanager服務。