在 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 大小,您有數個選項可以安裝必要的軟體或驅動程式:

範例:Windows NC VM 集區上的 NVIDIA GPU 驅動程式

若要在 Windows NC 節點的集區上執行 CUDA 應用程式,您需要安裝 NVDIA GPU 驅動程式。 下列範例步驟會使用應用程式套件來安裝 NVIDIA GPU 驅動程式。 如果您的工作負載相依於特定的 GPU 驅動程式版本,您可以選擇此選項。

  1. NVIDIA 網站 下載 Windows Server 2016 上 GPU 驅動程式的安裝套件,例如 411.82 版。 使用簡短名稱將檔案儲存在本機,例如 GPUDriverSetup.exe
  2. 建立套件的 zip 檔案。
  3. 將套件上傳至您的 Batch 帳戶。 如需步驟,請參閱 應用程式套件 指引。 指定 GPUDriver 之類的應用程式識別碼,以及 411.82 之類的版本。
  4. 使用 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 映射:

  1. 部署執行Ubuntu 22.04 LTS的 Azure NC 系列 VM。 例如,在美國中南部區域建立 VM。
  2. 使用 Azure 入口網站、連線至 Azure 訂用帳戶的用戶端電腦或 Azure Cloud Shell,將 NVIDIA GPU 驅動程式擴充功能新增至 VM。 或者,請遵循步驟來連線到 VM,並 手動安裝 CUDA 驅動程式
  3. 請遵循下列步驟來建立 Batch 的 Azure 計算資源庫映射
  4. 在支援 NC VM 的區域建立 Batch 帳戶。
  5. 使用 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 映像的範例步驟:

  1. 部署執行 Windows Server 2016 的 Azure H16r VM。 例如,在美國西部區域建立 VM。
  2. 從連線到 Azure 訂用帳戶的用戶端電腦或使用 Azure Cloud Shell 執行 Azure PowerShell 命令,將 HpcVmDrivers 擴充功能新增至 VM
  3. 建立與 VM 的遠端桌面連線。
  4. 下載最新版 Microsoft MPI 的安裝套件 (MSMpiSetup.exe),並安裝 Microsoft MPI。
  5. 請遵循下列步驟來建立 Batch 的 Azure 計算資源庫映射
  6. 使用 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

下一步

  • 若要在 Azure Batch 集區上執行 MPI 作業,請參閱 WindowsLinux 範例。