在 Batch 集區中使用 RDMA 或 GPU 實例
警告
這篇文章參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引。
若要執行特定 Batch 作業,您可以利用專為大規模計算而設計的 Azure VM 大小。 例如:
若要執行多重實例 MPI 工作負載,請選擇 H 系列或其他大小,這些大小具有遠端直接記憶體存取的網路介面(RDMA)。 這些大小會連線到 InfiniBand 網路以進行節點間通訊,以加速 MPI 應用程式。
針對 CUDA 應用程式,請選擇 N 系列大小,其中包含 NVIDIA Tesla 圖形處理單元 (GPU) 卡片。
本文提供在 Batch 集區中使用某些 Azure 特製化大小的指引和範例。 如需規格和背景,請參閱:
注意
您在建立 Batch 帳戶的區域可能無法使用特定 VM 大小。 若要檢查大小是否可用,請參閱 依區域 提供的產品和 選擇 Batch 集區的 VM 大小。
相依性
只有特定作業系統才支援 Batch 中計算密集型大小的 RDMA 或 GPU 功能。 (支援的作業系統清單是針對這些大小所建立之虛擬機所支援的作業系統子集。視您建立 Batch 集區的方式而定,您可能需要在節點上安裝或設定其他驅動程式或其他軟體。 下表摘要說明這些相依性。 如需詳細資訊,請參閱連結的文章。 如需設定 Batch 集區的選項,請參閱本文稍後的。
Linux 集區 - 虛擬機設定
大小 | 功能 | 作業系統 | 必要軟體 | 集區設定 |
---|---|---|---|---|
H16r、H16mr NC24r、NC24rs_v2、NC24rs_v3、ND24rs* |
RDMA | Ubuntu 22.04 LTS 或 CentOS 型 HPC (Azure Marketplace) |
Intel MPI 5 Linux RDMA 驅動程式 |
啟用節點間通訊、停用並行工作執行 |
NC、NCv2、NCv3、NDv2 系列 | NVIDIA Tesla GPU (依系列而異) | Ubuntu 22.04 LTS 或 CentOS 8.1 (Azure Marketplace) |
NVIDIA CUDA 或 CUDA Toolkit 驅動程式 | N/A |
NV、NVv2、NVv4 系列 | NVIDIA Tesla M60 GPU | Ubuntu 22.04 LTS 或 CentOS 8.1 (Azure Marketplace) |
NVIDIA GRID 驅動程式 | N/A |
*支援 RDMA 的 N 系列大小也包含 NVIDIA Tesla GPU
重要
本文件參考即將或已處於生命周期結束 (EOL) 狀態的 Linux 版本。 請考慮更新為較新的版本。
Windows 集區 - 虛擬機設定
大小 | 功能 | 作業系統 | 必要軟體 | 集區設定 |
---|---|---|---|---|
H16r、H16mr NC24r、NC24rs_v2、NC24rs_v3、ND24rs* |
RDMA | Windows Server 2016、2012 R2 或 2012 年 (Azure Marketplace) |
Microsoft MPI 2012 R2 或更新版本,或 Intel MPI 5 Windows RDMA 驅動程式 |
啟用節點間通訊、停用並行工作執行 |
NC、NCv2、NCv3、ND、NDv2 系列 | NVIDIA Tesla GPU (依系列而異) | Windows Server 2016 或 2012 R2 (Azure Marketplace) |
NVIDIA CUDA 或 CUDA Toolkit 驅動程式 | N/A |
NV、NVv2、NVv4 系列 | NVIDIA Tesla M60 GPU | Windows Server 2016 或 2012 R2 (Azure Marketplace) |
NVIDIA GRID 驅動程式 | N/A |
*支援 RDMA 的 N 系列大小也包含 NVIDIA Tesla GPU
Windows 集區 - 雲端服務 設定
警告
雲端服務設定集區已經淘汰。 請改用虛擬機組態集區。
大小 | 功能 | 作業系統 | 必要軟體 | 集區設定 |
---|---|---|---|---|
H16r、H16mr | RDMA | Windows Server 2016、2012 R2、2012 或 2008 R2 (客體 OS 系列) |
Microsoft MPI 2012 R2 或更新版本,或 Intel MPI 5 Windows RDMA 驅動程式 |
啟用節點間通訊, 停用並行工作執行 |
注意
雲端服務 組態集區不支援 N 系列大小。
集區組態選項
若要為 Batch 集區設定特製化的 VM 大小,您有數個選項可以安裝必要的軟體或驅動程式:
針對虛擬機組態中的集區,請選擇預先設定的 Azure Marketplace VM 映射,此映射已預安裝驅動程式和軟體。 範例:
CentOS 型 8.1 HPC - 包含 RDMA 驅動程式和 Intel MPI 5.1
適用於Linux或 Windows 的 資料科學虛擬機器 - 包含 NVIDIA CUDA 驅動程式
包含 GPU 和 RDMA 驅動程式之 Batch 容器工作負載的 Linux 映像:
從壓縮的驅動程式或應用程式安裝程式建立 Batch 應用程式套件 ,並將 Batch 設定為將套件部署至集區節點,並在建立每個節點時安裝一次。 例如,如果應用程式套件是安裝程式,請建立 啟動工作 命令行,以無訊息方式在所有集區節點上安裝應用程式。 如果您的工作負載相依於特定驅動程式版本,請考慮使用應用程式套件和集區啟動工作。
注意
啟動工作必須以提升許可權 (admin) 許可權執行,而且必須等候成功。 長時間執行的工作會增加布建 Batch 集區的時間。
範例:Windows NC VM 集區上的 NVIDIA GPU 驅動程式
若要在 Windows NC 節點的集區上執行 CUDA 應用程式,您需要安裝 NVDIA GPU 驅動程式。 下列範例步驟會使用應用程式套件來安裝 NVIDIA GPU 驅動程式。 如果您的工作負載相依於特定的 GPU 驅動程式版本,您可以選擇此選項。
- 從 NVIDIA 網站 下載 Windows Server 2016 上 GPU 驅動程式的安裝套件,例如 411.82 版。 使用簡短名稱將檔案儲存在本機,例如 GPUDriverSetup.exe。
- 建立套件的 zip 檔案。
- 將套件上傳至您的 Batch 帳戶。 如需步驟,請參閱 應用程式套件 指引。 指定 GPUDriver 之類的應用程式識別碼,以及 411.82 之類的版本。
- 使用 Batch API 或 Azure 入口網站,在虛擬機設定中建立集區,其中包含所需的節點數目和規模。 下表顯示使用啟動工作以無訊息方式安裝 NVIDIA GPU 驅動程式的範例設定:
設定 | 值 |
---|---|
影像類型 | Marketplace (Linux/Windows) |
發行者 | MicrosoftWindowsServer |
供應項目 | WindowsServer |
Sku | 2016-Datacenter |
節點大小 | NC6 標準 |
應用程式套件參考 | GPUDriver 版本 411.82 |
已啟用啟動工作 | True 命令列 - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s" 使用者身分識別 - 集區自動用戶、系統管理員 等候成功 - True |
範例:Linux NC VM 集區上的 NVIDIA GPU 驅動程式
若要在 Linux NC 節點的集區上執行 CUDA 應用程式,您需要從 CUDA Toolkit 安裝必要的 NVIDIA Tesla GPU 驅動程式。 下列範例步驟會建立及部署具有 GPU 驅動程式的自定義 Ubuntu 22.04 LTS 映射:
- 部署執行Ubuntu 22.04 LTS的 Azure NC 系列 VM。 例如,在美國中南部區域建立 VM。
- 使用 Azure 入口網站、連線至 Azure 訂用帳戶的用戶端電腦或 Azure Cloud Shell,將 NVIDIA GPU 驅動程式擴充功能新增至 VM。 或者,請遵循步驟來連線到 VM,並 手動安裝 CUDA 驅動程式 。
- 請遵循下列步驟來建立 Batch 的 Azure 計算資源庫映射 。
- 在支援 NC VM 的區域建立 Batch 帳戶。
- 使用 Batch API 或 Azure 入口網站,使用自定義映像和所需的節點數目和規模來建立集區。 下表顯示影像的範例集區設定:
設定 | 值 |
---|---|
影像類型 | 自訂映像 |
自定義映像 | 影像的名稱 |
節點代理程式 SKU | batch.node.ubuntu 22.04 |
節點大小 | NC6 標準 |
範例:Windows H16r VM 集區上的 Microsoft MPI
若要在 Azure H16r VM 節點的集區上執行 Windows MPI 應用程式,您必須設定 HpcVmDrivers 擴充功能並安裝 Microsoft MPI。 以下是使用必要驅動程式和軟體部署自定義 Windows Server 2016 映像的範例步驟:
- 部署執行 Windows Server 2016 的 Azure H16r VM。 例如,在美國西部區域建立 VM。
- 從連線到 Azure 訂用帳戶的用戶端電腦或使用 Azure Cloud Shell 執行 Azure PowerShell 命令,將 HpcVmDrivers 擴充功能新增至 VM。
- 建立與 VM 的遠端桌面連線。
- 下載最新版 Microsoft MPI 的安裝套件 (MSMpiSetup.exe),並安裝 Microsoft MPI。
- 請遵循下列步驟來建立 Batch 的 Azure 計算資源庫映射 。
- 使用 Batch API 或 Azure 入口網站,使用 Azure 計算資源庫和所需的節點數目和規模來建立集區。 下表顯示影像的範例集區設定:
設定 | 值 |
---|---|
影像類型 | 自訂映像 |
自定義映像 | 影像的名稱 |
節點代理程式 SKU | batch.node.windows amd64 |
節點大小 | H16r Standard |
已啟用節點間通訊 | True |
每個節點的工作上限 | 1 |
範例:Linux H16r VM 集區上的 Intel MPI
若要在Linux HB系列節點上的集區上執行 MPI 應用程式,其中一個選項是從 Azure Marketplace 使用 CentOS 型 8.1 HPC 映像。 Linux RDMA 驅動程式和 Intel MPI 已預安裝。 此映像也支援 Docker 容器工作負載。
使用 Batch API 或 Azure 入口網站,使用此映像和所需的節點數目和規模來建立集區。 下表顯示範例集區設定:
設定 | 值 |
---|---|
影像類型 | Marketplace (Linux/Windows) |
發行者 | OpenLogic |
供應項目 | CentOS-HPC |
Sku | 8.1 |
節點大小 | H16r Standard |
已啟用節點間通訊 | True |
每個節點的工作上限 | 1 |