Azure HPC VM 映像
适用于: ✔️ Linux VM ✔️ 灵活规模集 ✔️ 统一规模集
本文分享有关 HPC VM 映像的一些信息,这些映像用于启动启用了 InfiniBand 的 H 系列和启用了 GPU 的 N 系列 VM。
Azure HPC 团队将为 HPC 和 AI 工作负载提供优化和预配置的 Linux VM 映像。 这些 VM 映像为:
- 基于上游 Ubuntu 市场 VM 映像。
- 预配置了适用于 InfiniBand 的 NVIDIA Mellanox OFED 驱动程序、NVIDIA GPU 驱动程序、常用 MPI 库、供应商优化 HPC 库和建议的性能优化。
- 包括优化和建议的配置,以提供最佳性能、一致性和可靠性。
Azure 上的可用性
从 Azure 市场或 Azure CLI 创建 VM 时,可以使用 HPC 映像。 有关其他部署方法,请参阅“部署 HPC VM 映像”部分。
Azure 市场
搜索发布者 Microsoft-DSVM
发布的 Ubuntu HPC
。
Azure CLI
运行以下命令以查找 HPC 映像的映像 URN:
Ubuntu-HPC
az vm image list --publisher microsoft-dsvm --offer ubuntu-hpc --output table --all
所有映像都支持第 2 代 VM。
支持的 VM 大小
HPC VM 映像支持以下 VM 大小:
- Standard_HB120rs_v3
有关最新的 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 群集的简单方法。