Freigeben über


Azure-HPC-VM-Images

Gilt für: ✔️ Linux-VMs ✔️ Flexible Skalierungsgruppen ✔️ Einheitliche Skalierungsgruppen

Dieser Artikel enthält einige Informationen zu HPC-VM-Images, die zum Starten von InfiniBand H-Serie- und GPU N-Serie-VMs aktiviert werden.

Das Azure HPC-Team bietet optimierte und vorkonfigurierte Linux-VM-Images für HPC- und KI-Workloads. Diese VM-Images sind:

  • Basierend auf den Upstream-VM-Images von Ubuntu und AlmaLinux Marketplace.
  • Vorkonfiguriert mit NVIDIA Mellanox OFED-Treiber für InfiniBand, NVIDIA GPU-Treiber, beliebten MPI-Bibliotheken, vom Anbieter bearbeiteten HPC-Bibliotheken und empfohlenen Leistungsoptimierungen.
  • Einschließlich Optimierungen und empfohlener Konfigurationen, um optimale Leistung, Konsistenz und Zuverlässigkeit zu erzielen.

Verfügbarkeit in Azure

Sie können die HPC-Images verwenden, wenn Sie einen virtuellen Computer über Azure Marketplace oder Azure CLI erstellen. Weitere Bereitstellungsmethoden finden Sie im Abschnitt „Bereitstellen von HPC VM Images“.

Azure Marketplace

Suchen Sie nach Ubuntu HPC vom Herausgeber Microsoft-DSVM oder nach AlmaLinux HPC vom Herausgeber AlmaLinux.

Azure CLI

Führen Sie die folgenden Befehle aus, um Image-URNs der HPC-Images zu finden:

Ubuntu-HPC

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

Alle Images unterstützen Gen 2 VMs.

AlmaLinux-HPC

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

Alle Bilder unterstützen sowohl VMs der Gen 1 als auch Gen 2.

Unterstützte VM-Größen

Die HPC-VM-Images unterstützen die folgenden VM-Größen:

  • 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

Informationen zur Unterstützungsmatrix der neuesten VM-Größe von H- und N-Serie finden Sie in den Azure VM-Größen.

Installierte Softwarepakete

  • Mellanox OFED 24.01-0.3.3.1
  • Vorkonfiguriertes IPoIB (IP-over-InfiniBand)
  • Beliebte InfiniBand-basierte MPI-Bibliotheken
    • HPC-X v2.18 mit/ohne PMIx-4
    • Intel MPI 2021.12.0
    • MVAPICH2 2.3.7-1
    • OpenMPI 5.0.2 mit PMIx-4
  • Kommunikationslaufzeiten
    • Libfabric
    • OpenUCX
    • NCCL 2.21.5-1
    • NCCL RDMA Sharp-Plugin
  • Optimierte Bibliotheken
    • AMD Optimiert C/C++ und Fortran Compiler 4.0.0-1
    • Intel MKL 2024.0.0.49673
  • GPU-Treiber
    • NVIDIA GPU-Treiber 535.161.08
    • NVIDIA Peer-Speicher (GPU Direct RDMA)
    • NVIDIA Fabric Manager
    • CUDA 12.4
  • GDRCopy 2.3
  • Data Center GPU Manager 3.3.3
  • Azure HPC-Diagnosetool
  • SKU-basierte Anpassungen
    • Topologiedateien
    • NCCL-Konfiguration
  • 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 Health Checks v0.4.2

Ein installierter Versionsindex innerhalb des VM-Images befindet sich an diesem Speicherort: /opt/azurehpc/component_versions.txt.

MPI-Bibliotheken und Softwarepakete sind als Umgebungsmodule verfügbar. Führen Sie Folgendes aus, um eine MPI-Bibliothek/ein MPI-Paket zu laden:

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

Konfiguration und Optimierung

Lesen Sie die azhpc-images-Repo auf GitHub, um die neuesten Details darüber zu erhalten, welche Pakete und Konfigurationen in jedem VM-Image enthalten sind. Die enthaltenen Konfigurationen basieren auf Optimierungsempfehlungen von Anbietern und Partnern sowie Erkenntnissen aus gängigen HPC-Workloads und Nutzungspraktiken in herkömmlichen HPC-Systemen.

  • Azure Linux Agent (WAAgent)

    • Beschränken Sie die Auslastung von CPU-/Arbeitsspeicherressourcen von Waagent (VM-Agent, der auf jeder Azure Linux-VM ausgeführt wird).
    • Optional sollten Sie Waagent am Anfang Ihres Auftragsskripts deaktivieren und es am Ende für CPU-sensible Workloads wie folgt aktivieren:
    sudo systemctl stop waagent
    <HPC job>
    sudo systemctl restart waagent
    
  • Höhere Speichergrenzwerte

    • Maximale Speichergrenze für den begrenzten Speicher auf unbegrenzt festlegen
    • Festlegen der Anzahl der geöffneten Dateien auf 65535
  • Zonenrückforderungsmodus

    • Zone_reclaim_mode auf 1 festlegen
  • Deaktivieren des Firewalldaemons, um MPI-Auftragsstarter zu unterstützen

Bereitstellen von HPC-VM-Images

Wie gezeigt, sind die HPC-VM-Images über Azure Marketplace und Azure CLI verfügbar. Sie können über eine Vielzahl von Bereitstellungsmitteln in Azure bereitgestellt werden (Azure CycleCloud, Azure Batch, ARM-Vorlagen usw.). AzureHPC-Skripts bieten eine einfache Möglichkeit, ein HPC-Cluster mithilfe dieser Images schnell bereitzustellen.