在 Batch 池中使用 RDMA 或 GPU 实例

若要运行某些 Batch 作业,可以利用专为大规模计算设计的 Azure VM 大小。 例如:

  • 要运行多实例 MPI 工作负载,请选择 HB、HC、NC 或 ND 系列,或其他配备远程直接内存访问 (RDMA) 网络接口的规格。 这些大小均连接到用于节点间通信的 InfiniBand 网络,可加快 MPI 应用程序的速度。

  • 对于 CUDA 应用程序,可选择包含 NVIDIA Tesla 图形处理单元 (GPU) 卡的 N 系列大小。

本文介绍了在 Batch 池中使用 Azure 的某些专用大小的指南和示例。 有关规格和背景的信息,请参阅:

注意

某些 VM 大小在你创建 Batch 帐户的区域中可能不可用。 若要检查大小是否可用,请参阅可用产品(按区域)以及选择 Batch 池的 VM 大小。

依赖项

Batch 中计算密集型规格的 RDMA 或 GPU 功能仅在某些操作系统上受支持。 这些 VM 大小支持的操作系统只是可用于虚拟机创建的操作系统的其中一部分。 根据创建 Batch 池的方式,可能需要在节点上安装或配置额外的驱动程序或软件。 下表总结了这些依存关系。 有关详细信息,请参阅链接的文章。 有关配置 Batch 池的选项,请参阅本文后面部分。

Linux 池 - 虚拟机配置

大小 能力 操作系统 所需软件 池设置
NC24rs_v3 * RDMA Ubuntu 22.04 LTS 或
基于 CentO 的 HPC
(Azure 市场)
Intel MPI 5

Linux RDMA 驱动程序
启用节点间通信,禁用并发任务执行
NCv3 系列 NVIDIA Tesla GPU(因系列而异) Ubuntu 22.04 LTS 或
CentOS 7.3 或 7.4
(Azure 市场)
NVIDIA CUDA 或 CUDA Toolkit 驱动程序 不适用

*支持 RDMA 的 N 系列规格还包括 NVIDIA Tesla GPU

Important

本文档引用了一个即将达到或已达到生命周期终止(EOL)的 Linux 发行版本。 请考虑更新到最新版本。

Windows 资源池 - 虚拟机配置

大小 能力 操作系统 所需软件 池设置
NC24rs_v3 * RDMA Windows Server 2016、2012 R2 或
2012(Azure 市场)
Microsoft MPI 2012 R2 或更高版本,或
Intel MPI 5

Windows RDMA 驱动程序
启用节点间通信,禁用并发任务执行
NCv3 系列 NVIDIA Tesla GPU(因系列而异) Windows Server 2016 或
2012 R2(Azure 市场)
NVIDIA CUDA 或 CUDA Toolkit 驱动程序 不适用

*支持 RDMA 的 N 系列规格还包括 NVIDIA Tesla GPU

池配置选项

为 Batch 池配置特定虚拟机大小时,可以通过以下几种方式安装所需的软件或驱动程序:

示例:Windows NC VM 池上的 NVIDIA GPU 驱动程序

若要在一个 Windows NC 节点池上运行 CUDA 应用程序,则需要安装 NVIDIA GPU 驱动程序。 以下示例步骤使用应用程序包来安装 NVIDIA GPU 驱动程序。 如果工作负载取决于特定的 GPU 驱动程序版本,则可以选择此选项。

  1. 从 NVIDIA 网站下载 Windows Server 2016 上的 GPU 驱动程序的安装程序包 - 例如,版本 411.82。 使用短名称(如 GPUDriverSetup.exe)在本地保存文件。
  2. 为程序包创建 zip 文件。
  3. 将程序包上载到 Batch 帐户。 有关详细步骤,请参阅应用程序包指南。 指定应用程序 ID(如 GPUDriver)和版本(如 411.82) 。
  4. 通过 Batch API 或 Azure 门户,在虚拟机配置中创建具有所需节点数和规模的池。 下表显示了使用启动任务静默安装 NVIDIA GPU 驱动程序的示例设置:
设置 值
映像类型 应用市场 (Linux/Windows)
发布者 MicrosoftWindowsServer
方案 Windows Server
Sku 2016-Datacenter
节点大小 NC6 标准
应用程序包引用 GPUDriver,版本 411.82
启用了启动任务 真
命令行 - 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 本地 Shell 将 NVIDIA GPU 驱动程序扩展添加到 VM。 或者,按照以下步骤连接到 VM 并手动安装 CUDA 驱动程序。

  3. 按照步骤为 Batch 创建 Azure Compute Gallery 图像。

  4. 在支持 NC VM 的区域中创建 Batch 帐户。

  5. 通过 Batch API 或 Azure 门户,使用自定义映像创建具有所需节点数和规模的池。 下表显示了该镜像的示例池设置:

设置 值
映像类型 自定义映像
自定义映像 映像名称
节点代理 SKU batch.node.ubuntu 22.04
节点大小 NC6 标准

后续步骤

  • 若要在 Azure Batch 池上运行 MPI 作业,请参阅 Windows 或 Linux 示例。