Azure Stack Hub 上的圖形處理器 (GPU) 虛擬機器 (VM)

警告

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

本文說明 Azure Stack Hub 整合系統可支援何種圖形處理器 (GPU) 模型。 也會提供與 GPU 搭配使用的驅動程式安裝說明。 透過 Azure Stack Hub 對 GPU 的支援,可實現人工智慧、定型、推斷和資料視覺效果等解決方案。 可使用 AMD Radeon Instinct MI25 來支援 Autodesk AutoCAD 之類需要重度圖形處理效能的應用程式。

共有三種 GPU 模式可供選擇。 由 NVIDIA V100、NVIDIA T4 和 AMD MI25 GPU 提供。 這些實體 GPU 可配合以下 Azure N 系列虛擬機器 (VM) 類型:

警告

此版本不支援 GPU VM。 需升級到 Azure Stack Hub 2005 或後續版本。 此外您的 Azure Stack Hub 硬體必須具有實體 GPU。

NCv3

NCv3 系列 VM 是由 NVIDIA Tesla V100 GPU 提供技術支援。 客戶可針對儲槽模型、DNA 定序、蛋白質分析、蒙地卡羅模擬等傳統 HPC 工作負載,善用這些更新過的 GPU。

大小 vCPU 記憶體:GiB 暫存儲存體 (SSD) GiB GPU GPU 記憶體:GiB 最大資料磁碟 最大 NIC
Standard_NC6s_v3 6 112 736 1 16 12 4
Standard_NC12s_v3 12 224 1474 2 32 24 8
Standard_NC24s_v3 24 448 2948 4 64 32 8

NVv4

NVv4 系列虛擬機器是由 AMD Radeon Instinct MI25 GPU 提供技術支援。 Azure Stack Hub 搭配 NVv4 系列,會推出搭載部分 GPU 的虛擬機器。 此大小可用於 GPU 加速的圖形應用程式和虛擬桌面。 NVv4 虛擬機器目前僅支援 Windows 客體作業系統。

大小 vCPU 記憶體:GiB 暫存儲存體 (SSD) GiB GPU GPU 記憶體:GiB 最大資料磁碟 最大 NIC
Standard_NV4as_v4 4 14 88 1/8 2 4 2
Standard_NV8as_v4 8 28 176 1/4 4 8 4
Standard_NV16as_v4 16 56 352 1/2 8 16 8
Standard_NV32as_v4 32 112 704 1 16 32 8

NCasT4_v3

大小 vCPU 記憶體:GiB GPU GPU 記憶體:GiB 最大資料磁碟 最大 NIC
Standard_NC4as_T4_v3 4 28 1 16 8 4
Standard_NC8as_T4_v3 8 56 1 16 16 8
Standard_NC16as_T4_v3 16 110 1 16 32 8
Standard_NC64as_T4_v3 64 440 4 64 32 8

NC_A100 v4

NC_A100系列 VM 是由 NVIDIA Ampere A100 GPU 所提供,這是 Tesla V100 GPU 的後續任務。 您可以利用這些更新的 GPU 來進行傳統 HPC 工作負載,例如模型化、DNA 排序、基因分析、蒙地 Carlo 模擬等等。

大小 vCPU 記憶體:GiB 暫存儲存體 (GiB) 最大資料磁碟 GPU GPU 記憶體 GiB 最大 NIC
Standard_NC24ads_A100_v4 24 220 1123 12 1 80 2
Standard_NC48ads_A100_v4 48 440 2246 24 2 160 4

GPU 系統相關考量

  • GPU 必須屬於以下其中一種 SKU:AMD MI-25、Nvidia V100 (及衍生產品)、Nvidia T4。
  • 每伺服器支援的 GPU 數量 (1、2、3、4)。 建議使用:1、2、4。
  • 整個縮放單位的所有 GPU 皆必須為完全相同的 SKU。
  • 整個縮放單位中各伺服器的 GPU 總數必須相同。
  • 縮放單位中所有 GPU VM 上的 GPU 分割區大小 (針對 AMD Mi25) 需相同。

容量規劃

Azure Stack Hub 容量規劃工具已更新,可支援 GPU 設定。 可至此使用:https://aka.ms/azstackcapacityplanner

在現有的 Azure Stack Hub 上新增 GPU

Azure Stack Hub 現在可支援將 GPU 新增到任何現有的系統上。 若需如此,請執行 stop-azurestack,並完成 stop-azurestack 的完整程序,再新增 GPU,接著執行 start-azurestack 直到作業完畢。 如果系統已具有 GPU,則需要在先前建立的任何 GPU VM 上執行 stop-deallocated,再執行 restarted

修補與更新、VM 的 FRU 行為

修補和更新 (PnU) 以及 Azure Stack Hub 硬體更換 (FRU) 這類作業期間,GPU VM 會出現停機情形。 下表列出上述活動期間在 VM 上所觀察到的狀態,以及可手動採取何種行動讓 VM 在作業結束後恢復運作。

作業 PnU - 完整更新、OEM 更新 FRU
VM 狀態 更新期間無法使用。 可透過手動操作恢復運作。 VM 會在更新後自動上線。 FRU 期間無法使用。 可透過手動操作恢復運作。 需在 FRU 完成後讓 VM 恢復運作。
手動操作 如果在更新期間必須讓 VM 恢復運作,假使有可用的 GPU 磁碟分割區,則可以按一下 [重新啟動] 按鈕,從入口網站重新啟動 VM。 VM 會自動在更新後恢復運作 VM 在 FRU 期間無法使用。 如果沒有可供使用的 GPU,FRU 期間可能會將 VM 解除配置並重新啟動。 FRU 完成後,需使用 [停止] 按鈕將 VM 解除配置,並使用 [開始] 按鈕開始備份。

客體驅動程式安裝

下列 PowerShell Cmdlet 可用於安裝驅動程式:

$VmName = <VM Name In Portal>
$ResourceGroupName = <Resource Group of VM>
$Location = "redmond"
$driverName = <Give a name to the driver>
$driverPublisher = "Microsoft.HpcCompute"
$driverType = <Specify Driver Type> #GPU Driver Types: "NvidiaGpuDriverWindows"; "NvidiaGpuDriverLinux"; "AmdGpuDriverWindows"
$driverVersion = <Specify Driver Version> #Nvidia Driver Version:"1.3"; AMD Driver Version:"1.0"

Set-AzureRmVMExtension  -Location $Location `
                            -Publisher $driverPublisher `
                            -ExtensionType $driverType `
                            -TypeHandlerVersion $driverVersion `
                            -VMName $VmName `
                            -ResourceGroupName $ResourceGroupName `
                            -Name $driverName `
                            -Settings $Settings ` # If no settings are set, omit this parameter
                            -Verbose

依 Azure Stack Hub GPU VM 的作業系統、類型和連線能力的不同,需修改下列設定。

AMD MI25

不論連線狀態為何,客體驅動程式版本都必須符合 Azure Stack Hub 版本。 使用與 Azure Stack Hub 版本不一致的較新版本可能會導致可用性問題。

Azure Stack Hub 版本 AMD 客體驅動程式
2206 21.Q2-120.Q4-1
2108 21.Q2-120.Q4-1
2102 21.Q2-120.Q4-1

連線

使用上一節中的PowerShell腳本搭配適用於AMD的適當驅動程序類型。 在執行 Windows 的 N 系列 VM 上安裝 AMD GPU 驅動程式 一文提供在已啟用 NVv4 GPU-P 的 VM 內安裝 AMD Radeon Instinct MI25 驅動程式的指示,以及如何驗證驅動程式安裝的步驟。

已中斷連接

由於擴充功能是從網際網路上的位置提取驅動程式,與外部網路中斷連線的 VM 就無法存取。 您可以從 上表下載驅動程式 ,並上傳至您局域網路中可供 VM 存取的記憶體帳戶。

將 AMD 驅動程式新增至記憶體帳戶,並在 中指定該帳戶的 SettingsURL。 這些設定必須用於 Set-AzureRMVMExtension Cmdlet。 例如:

$Settings = @{
"DriverURL" = <URL to driver in storage account>
}

NVIDIA

NVIDIA 驅動程式必須安裝在使用 GPU 的 CUDA 或 GRID 工作負載虛擬機器內部。

使用案例:圖形顯示/視覺效果 GRID

此案例需要使用 GRID 驅動程式。 只要擁有所需的授權,可以透過 NVIDIA Application Hub 下載 GRID 驅動程式。 GRID 驅動程式也需要具有正確 GRID 授權的 GRID 授權伺服器,如此才能在 VM 上使用 GRID 驅動程式。

$Settings = @{
"DriverURL" = "https://download.microsoft.com/download/e/8/2/e8257939-a439-4da8-a927-b64b63743db1/431.79_grid_win10_server2016_server2019_64bit_international.exe"; "DriverCertificateUrl" = "https://go.microsoft.com/fwlink/?linkid=871664"; 
"DriverType"="GRID"
}

使用案例:計算/CUDA - 連線狀態

CUDA 驅動程式不需要授權伺服器,也不需要修改設定。

使用案例:計算/CUDA - 中斷連線

可使用下列連結取得 NVIDIA CUDA 驅動程式的連結:https://raw.githubusercontent.com/Azure/azhpc-extensions/master/NvidiaGPU/resources.json

Windows:

$Settings = @{
"DriverURL" = "";
"DriverCertificateUrl" = "https://go.microsoft.com/fwlink/?linkid=871664"; 
"DriverType"="CUDA"
}

Linux:

有些 URL 可在設定時作為參考。

URL 備註
PUBKEY_URL PUBKEY_URL 是 Nvidia 驅動程式存放庫的公開金鑰,而非用於 Linux VM。 這是用於安裝 Ubuntu 的驅動程式。
DKMS_URL DKMS_URL 用於取得套件,以在 RedHat/CentOs 上編譯 Nvidia 核心模組。
DRIVER_URL DRIVER_URL 是用來下載 Nvidia 驅動程式存放庫資訊的 URL,且會新增到 Linux VM 的存放庫清單。
LIS_URL LIS_URL 這個 URL 可供下載適用於 RedHat/CentOs 的 Linux Integration Service 套件下,Linux Integration Services v4.3 for Hyper-V and Azure (URL:https://www.microsoft.com/download/details.aspx?id=55106),預設狀態下不會安裝。LIS_RHEL_ver 是後援版本,需搭配 Nvidia 驅動程式運作。 若 Linux VM 的核心不相容於所要求的 Nvidia 驅動程式,則會使用在 RedHat/CentOs 上。

將 URL 新增至您的設定。

$Settings=@{
"isCustomInstall"=$true;
"DRIVER_URL"="https://go.microsoft.com/fwlink/?linkid=874273";
"CUDA_ver"="10.0.130";
"PUBKEY_URL"="http://download.microsoft.com/download/F/F/A/FFAC979D-AD9C-4684-A6CE-C92BB9372A3B/7fa2af80.pub";
"DKMS_URL"="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm";
"LIS_URL"="https://aka.ms/lis";
"LIS_RHEL_ver"="3.10.0-1062.9.1.el7"
}

後續步驟