你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure HPC VM 映像

适用于: ✔️ Linux VM ✔️ 灵活规模集 ✔️ 统一规模集

本文分享有关 HPC VM 映像的一些信息,这些映像用于启动启用了 InfiniBand 的 H 系列和启用了 GPU 的 N 系列 VM。

Azure HPC 团队将为 HPC 和 AI 工作负载提供优化和预配置的 Linux VM 映像。 这些 VM 映像为:

  • 基于上游 Ubuntu 和 AlmaLinux 市场 VM 映像。
  • 预配置了适用于 InfiniBand 的 NVIDIA Mellanox OFED 驱动程序、NVIDIA GPU 驱动程序、常用 MPI 库、供应商优化 HPC 库和建议的性能优化。
  • 包括优化和建议的配置,以提供最佳性能、一致性和可靠性。

Azure 上的可用性

从 Azure 市场或 Azure CLI 创建 VM 时,可以使用 HPC 映像。 有关其他部署方法,请参阅“部署 HPC VM 映像”部分。

Azure 市场

按发布者 Microsoft-DSVM 搜索 Ubuntu HPC,或按发布者 AlmaLinux 搜索 AlmaLinux HPC

Azure CLI

运行以下命令以查找 HPC 映像的映像 URN:

Ubuntu-HPC

az vm image list --publisher microsoft-dsvm --offer ubuntu-hpc --output table --all

所有映像都支持第 2 代 VM

AlmaLinux-HPC

az vm image list --publisher almalinux --offer almalinux-hpc --output table --all

所有映像都支持第 1 代和第 2 代 VM。

支持的 VM 大小

HPC VM 映像支持以下 VM 大小:

  • Standard_HB60rs
  • Standard_HB120rs_v2
  • Standard_HB120rs_v3
  • Standard_HB120rs_v4
  • Standard_HC44rs
  • Standard_ND40rs_v2
  • Standard_ND96asr_v4
  • Standard_ND96amsr_A100_v4
  • Standard_ND96isr_H100_v5

有关最新的 H 系列和 N 系列 VM 大小支持矩阵,请参阅 Azure VM 大小

已安装的软件包

  • Mellanox OFED 24.01-0.3.3.1
  • 预配置的 IPoIB (IP-over-InfiniBand)
  • 基于 InfiniBand 的常用 MPI 库
    • HPC-X v2.18(带/不带 PMIx-4)
    • Intel MPI 2021.12.0
    • MVAPICH2 2.3.7-1
    • 带 PMIx-4 的 OpenMPI 5.0.2
  • 通信运行时
    • Libfabric
    • OpenUCX
    • NCCL 2.21.5-1
    • NCCL RDMA Sharp 插件
  • 优化库
    • AMD 优化 C/C++ 和 Fortran 编译器 4.0.0-1
    • Intel MKL 2024.0.0.49673
  • GPU 驱动程序
    • NVIDIA GPU Driver 535.161.08
    • NVIDIA 对等内存 (GPU Direct RDMA)
    • NVIDIA Fabric Manager
    • CUDA 12.4
  • GDRCopy 2.3
  • 数据中心 GPU 管理器 3.3.3
  • Azure HPC 诊断工具
  • 基于 SKU 的自定义项
    • 拓扑文件
    • NCCL 配置
  • Moby 24.0.7-ubuntu22.04u1
  • NVIDIA Docker container 24.0.7-1
  • Azure Managed Lustre 2.15.4-42-gd6d405d
  • Moneo v0.3.5
  • Azure HPC 运行状况检查 v0.4.2

VM 映像中已安装的版本索引位于以下位置:/opt/azurehpc/component_versions.txt

MPI 库和软件包可用作环境模块。 若要加载 MPI 库/包,请运行:

module load mpi/<mpi-library-name>
module load <package-name>

配置和优化

有关每个 VM 映像中包含的包和配置的最新详细信息,请参阅 GitHub 上的 azhpc-images 存储库。 所包含的配置基于供应商和合作伙伴的优化建议,以及从常见的高性能计算工作负载和传统高性能计算系统的使用实践中汲取的经验。

  • Azure Linux 代理 (WAAgent)

    • 限制 waagent(在每个 Azure Linux 虚拟机上运行的虚拟机代理)对 CPU/内存资源的使用。
    • 对于对 CPU 敏感的工作负载,可考虑在作业脚本开始时禁用 waagent,并在结束时重新启用,具体做法如下:
    sudo systemctl stop waagent
    <HPC job>
    sudo systemctl restart waagent
    
  • 更高的内存限制

    • 将最大锁定内存限制设置为无限制
    • 将打开的文件数限制设置为 65535
  • 区域回收模式

    • 将 zone_reclaim_mode 设置为 1
  • 禁用防火墙守护程序以帮助 MPI 作业启动器

部署 HPC VM 映像

如图所示,HPC VM 映像可从 Azure 市场和 Azure CLI 获取。 它们可以通过 Azure 上的各种部署工具(Azure CycleCloud、Azure Batch、ARM 模板等)进行部署。 AzureHPC 脚本提供了一种使用这些映像快速部署 HPC 群集的简单方法。