適用於 Linux 的 NVIDIA GPU 驅動程式擴充功能

警告

本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

這個擴充功能可在 Linux N 系列虛擬機器 (VM) 上安裝 NVIDIA GPU 驅動程式。 視虛擬機器系列而定,擴充功能會安裝 CUDA 或 GRID 驅動程式。 若您使用此延伸模組安裝 NVIDIA 驅動程式,即表示您接受並同意 NVIDIA End-User License Agreement (NVIDIA 使用者授權合約) 的條款。 在安裝過程中,VM 可能會重新開機以便完成驅動程式設定。

有關手動安裝驅動程式的指示和目前支援的版本皆有提供。 也可使用擴充功能在 Windows N 系列虛擬機器上安裝 NVIDIA GPU 驅動程式。

注意

啟用安全開機後,所有 OS 開機元件 (開機載入器、核心、核心驅動程式) 都必須由受信任的發行者簽署 (由系統信任的金鑰)。 不支援使用 Windows 或 Linux 延伸模組進行安全開機。 如需手動安裝已啟用安全開機的 GPU 驅動程式詳細資訊,請參閱適用於 Linux 的 Azure N 系列 GPU 驅動程式設定

注意

安裝延伸模組之後,GPU 驅動程式延伸模組不會自動更新驅動程式。 如果您需要移至較新的驅動程式版本,請手動下載並安裝驅動程式,或移除並再次新增延伸模組。

必要條件

作業系統

此擴充功能支援下列 OS 發行版本,視特定 OS 版本的驅動程式支援而定:

Distribution 版本
Linux Ubuntu: 20.04 LTS
Linux:Red Hat Enterprise Linux 7.9
Linux:CentOS 7

注意

NC 系列 VM 最新支援的 CUDA 驅動程式目前是 470.82.01。 NC 內的 K80 卡不支援較新版本的驅動程式。 由於更新的擴充功能已不再為 NC 提供支援,在 NC 系列上請手動安裝 K80 卡的 CUDA 驅動程式。

重要

本文件參考即將或已處於生命週期結束 (EOL) 狀態的 Linux 版本。 請考慮更新為較新的版本。

網際網路連線能力

適用於 NVIDIA GPU 驅動程式的 Microsoft Azure 延伸模組會要求目標 VM 需連線到網際網路並擁有存取權。

擴充功能結構描述

下列 JSON 會顯示延伸模組的結構描述:

{
  "name": "<myExtensionName>",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

屬性

名稱 值/範例 資料類型
apiVersion 2015-06-15 date
publisher Microsoft.HpcCompute string
type NvidiaGpuDriverLinux string
typeHandlerVersion 1.6 int

設定

所有設定都是選用的。 預設行為是如果驅動程式安裝未要求,則不更新核心,並且會安裝最新支援的驅動程式和 CUDA 工具組 (若適用)。

名稱 描述: 預設值 有效值 資料類型
updateOS 即使驅動程式安裝不需要,也會更新核心。 false True、False boolean
driverVersion NV:GRID 驅動程式版本。
NC/ND:CUDA 工具組版本。 系統會自動安裝所選 CUDA 的最新驅動程式。
latest 支援的驅動程式版本清單 string
installCUDA 安裝 CUDA 工具組。 只與 NC/ND 系列 VM 相關。 true True、False boolean

部署

Azure 入口網站

您可以在 Azure 入口網站中部署 Azure NVIDIA VM 延伸模組。

  1. 在瀏覽器中,移至 Azure 入口網站

  2. 前往您想要安裝驅動程式的虛擬機器。

  3. 在左側功能表上,選取 [延伸模組]

    顯示選取 [Azure 入口網站] 功能表中 [擴充功能] 的螢幕快照。

  4. 選取 [新增]。

    顯示新增所選 V M 之 V M 延伸模組的螢幕快照。

  5. 捲動以尋找並選取 [NVIDIA GPU 驅動程式延伸模組],然後選取 [下一步]

    顯示選取 NVIDIA G P U 驅動程式擴充功能的螢幕快照。

  6. 請選取 [檢閱 + 建立] 然後選取 [建立]。 等候幾分鐘的時間,讓驅動程式完成部署。

    顯示選取 [檢閱 + 建立] 按鈕的螢幕快照。

  7. 確認延伸模組已新增至已安裝的延伸模組清單中。

    顯示 V M 延伸模組清單中新延伸模組的螢幕快照。

Azure Resource Manager 範本

您可以使用 Azure Resource Manager 範本來部署 Azure VM 延伸模組。 在部署一部或多部需要部署後設定的虛擬機器時,便很適合使用範本。

虛擬機器延伸模組的 JSON 設定可以巢狀方式置於虛擬機器資源內部,或放在 Resource Manager JSON 範本的根目錄或最上層。 JSON 設定的放置會影響資源名稱和類型的值。 如需詳細資訊,請參閱設定子資源的名稱和類型

下列範例假設擴充功能以巢狀方式置於虛擬機器資源內部。 在以巢狀方式安置好延伸模組資源後,JSON 會放在虛擬機器的 "resources": [] 物件中。

{
  "name": "myExtensionName",
  "type": "extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2015-06-15",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', myVM)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

Set-AzVMExtension
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Location "southcentralus" `
    -Publisher "Microsoft.HpcCompute" `
    -ExtensionName "NvidiaGpuDriverLinux" `
    -ExtensionType "NvidiaGpuDriverLinux" `
    -TypeHandlerVersion 1.6 `
    -SettingString '{ `
	}'

Azure CLI

下列範例會鏡像上述 Resource Manager 和 PowerShell 範例:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6

下列範例也會新增兩個選用自訂設定,作為非預設驅動程式安裝的範例。 具體來說,它會更新 OS 核心至最新版,並安裝特定 CUDA 工具組版的驅動程式。 同樣地,請注意 --settings 是選用且預設的。 更新核心可能會拉長擴充功能的安裝時間。 此外,選擇特定 (較舊) 的 CUDA 工具組版本可能不一定能與較新的核心相容。

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

疑難排解與支援

疑難排解

您可以從 Azure 入口網站擷取關於延伸模組部署狀態的資料,並使用 Azure PowerShell 和 Azure CLI 來擷取。 若要查看指定 VM 的擴充功能部署狀態,請執行下列命令:

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

擴充功能執行輸出會記錄至下列檔案。 請參閱此檔案來追蹤任何時間較長安裝的狀態,並針對任何失敗進行疑難排解。

/var/log/azure/nvidia-vmext-status

結束代碼

結束代碼 意義 可能的動作
0 作業已順利完成
1 擴充功能的使用方式不正確 檢查執行輸出記錄。
10 適用於 Hyper-V 和 Azure 的 Linux Integration Services 無法使用或未安裝 檢查 lspci 輸出。
11 在此 VM 大小上找不到 NVIDIA GPU 使用支援的虛擬機器大小和作業系統
12 不支援的映像供應項目
13 不支援的 VM 大小 使用 N 系列 VM 進行部署。
14 作業失敗 檢查執行輸出記錄。

支援

如果您在此文章中有任何需要協助的地方,請連絡 MSDN Azure 和 Stack Overflow 論壇上的 Azure 專家。 或者,您可以提出 Azure 支援事件。 前往 Azure 支援,然後選取 [取得支援]。 如需使用 Azure 支援的資訊,請參閱 Azure 支援常見問題集

下一步