分享方式:


Azure HPC VM 映像

適用於:✔️ Linux VM ✔️ 彈性擴展集 ✔️ 統一擴展集

本文共用 HPC VM 映像的一些資訊,以用來啟動已啟用 InfiniBand 的 H 系列 和已啟用 GPU 的 N 系列 VM。

Azure HPC 小組針對 HPC 和 AI 工作負載提供優化和預先設定的 Linux VM 映射。 這些 VM 映像如下:

  • 根據上游 Ubuntu 和 AlmaLinux Marketplace VM 映像。
  • 針對 InfiniBand、NVIDIA GPU 驅動程式、熱門 MPI 連結庫、廠商微調的 HPC 連結庫,以及建議的效能最佳化,預先設定 NVIDIA Mellanox OFED 驅動程式。
  • 包括最佳化和建議的設定,以提供最佳效能、一致性和可靠性。

Azure 上的可用性

從 Azure Marketplace 或 Azure CLI 建立 VM 時,您可以使用 HPC 映像。 如需其他部署方法,請參閱部署 HPC VM 映像一節。

Azure Marketplace

依發行者 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
    • OpenMPI 5.0.2 含 PMIx-4
  • 通訊執行階段
    • 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 驅動程式 535.161.08
    • NVIDIA 對等記憶體 (GPU Direct RDMA)
    • NVIDIA Fabric 管理員
    • CUDA 12.4
  • GDRCopy 2.3
  • 資料中心 GPU 管理員 3.3.3
  • Azure HPC 診斷工具
  • SKU 型自訂
    • 拓撲檔案
    • NCCL 設定
  • Moby 24.0.7-ubuntu22.04u1
  • NVIDIA Docker 容器 24.0.7-1
  • Azure Managed Lustre 2.15.4-42-gd6d405d
  • Moneo v0.3.5
  • Azure HPC Health Checks 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 存放庫。 包含的組態是以廠商及合作夥伴的最佳化建議為基礎,以及從傳統 HPC 系統中常見的 HPC 工作負載和使用做法學習。

  • Azure Linux 代理程式 (WAAgent)

    • 限制 waagent 的 (在每部 Azure Linux VM 上執行的 VM 代理程式) CPU/記憶體資源的使用量。
    • 或者,請考慮在作業指令碼開頭停用 waagent,並在結束時針對 CPU 敏感性工作負載啟用,如下所示:
    sudo systemctl stop waagent
    <HPC job>
    sudo systemctl restart waagent
    
  • 較高的記憶體限制

    • 將 max-locked-memory 限制設定為無限制
    • 將開啟檔案數目限制設定為 65535
  • 區域回收模式

    • 將 zone_reclaim_mode 設為 1
  • 停用防火牆精靈以協助 MPI 作業啟動器

部署 HPC VM 映像

如所示,HPC VM 映像可從 Azure Marketplace 和 Azure CLI 取得。 其可以透過 Azure 上的各種部署工具 (Azure CycleCloud、Azure Batch、ARM 範本等) 進行部署。 AzureHPC 指令碼可讓您輕鬆地使用這些映像快速部署 HPC 叢集。