Condividi tramite


Immagini delle macchine virtuali HPC di Azure

Si applica a: set di scalabilità uniformi di ✔️ macchine virtuali Linux ✔️ ✔️

Questo articolo condivide alcune informazioni sulle immagini di macchine virtuali HPC da usare per avviare macchine virtuali serie H abilitate per InfiniBand e serie N abilitare per GPU.

Il team hpc di Azure offre immagini di macchine virtuali Linux ottimizzate e preconfigurate per carichi di lavoro HPC e intelligenza artificiale. Queste immagini di macchine virtuali sono:

  • Basate su immagini di macchine virtuali del marketplace upstream Ubuntu e AlmaLinux.
  • Preconfigurate con il driver NVIDIA Mellanox OFED per InfiniBand, driver GPU NVIDIA, librerie MPI popolari, librerie HPC ottimizzate dal fornitore e ottimizzazioni delle prestazioni consigliate.
  • Include le ottimizzazioni e le configurazioni consigliate per offrire prestazioni, coerenza e affidabilità ottimali.

Disponibilità in Azure

È possibile usare le immagini HPC durante la creazione di una macchina virtuale da Azure Marketplace o dall'interfaccia della riga di comando di Azure. Per altri metodi di distribuzione, vedere la sezione Distribuzione di immagini di macchine virtuali HPC.

Azure Marketplace

Cercare Ubuntu HPC per server di pubblicazione Microsoft-DSVM o AlmaLinux HPC per server di pubblicazione AlmaLinux.

Interfaccia della riga di comando di Azure

Eseguire i comandi seguenti per trovare gli URL di immagine delle immagini HPC:

Ubuntu-HPC

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

Tutte le immagini supportano macchine virtuali di seconda generazione.

AlmaLinux-HPC

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

Tutte le immagini supportano sia macchine virtuali di prima generazione che di seconda generazione.

Dimensioni delle macchine virtuali supportate

Le immagini di macchine virtuali HPC supportano le dimensioni di macchine virtuali seguenti:

  • 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

Per informazioni sulla matrice di supporto delle dimensioni delle macchine virtuali serie H e N più recenti, vedere Dimensioni delle macchine virtuali di Azure.

Pacchetti software installati

  • Mellanox OFED 24.01-0.3.3.1
  • IPoIB preconfigurato (IP-over-InfiniBand)
  • Librerie MPI basate su InfiniBand più diffuse
    • HPC-X v2.18 con/senza PMIx-4
    • Intel MPI 2021.12.0
    • MVAPICH2 2.3.7-1
    • OpenMPI 5.0.2 con PMIx-4
  • Runtime di comunicazione
    • Libfabric
    • OpenUCX
    • NCCL 2.21.5-1
    • NCCL RDMA Sharp Plugin
  • Librerie ottimizzate
    • Compilatori AMD Optimizing C/C++ e Fortran 4.0.0-1
    • Intel MKL 2024.0.0.49673
  • Driver GPU
    • Driver NVIDIA GPU 535.161.08
    • Memoria peer NVIDIA (GPU Direct RDMA)
    • NVIDIA Fabric Manager
    • CUDA 12.4
  • GDRCopy 2.3
  • Data Center GPU Manager 3.3.3
  • Strumento di diagnostica HPC di Azure
  • Personalizzazioni basate su SKU
    • File di topologia
    • Configurazione NCCL
  • Moby 24.0.7-ubuntu22.04u1
  • Contenitore Docker NVIDIA 24.0.7-1
  • Managed Lustre di Azure 2.15.4-42-gd6d405d
  • Moneo v0.3.5
  • Controlli di integrità HPC di Azure v0.4.2

Un indice di versione installato all'interno dell'immagine della macchina virtuale si trova in questa ubicazione: /opt/azurehpc/component_versions.txt.

Le librerie MPI e i pacchetti software sono disponibili come moduli di ambiente. Per caricare una libreria/un pacchetto MPI, eseguire:

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

Configurazione e ottimizzazione

Fare riferimento al repository azhpc-images in GitHub per informazioni dettagliate sui pacchetti e sulla configurazione inclusi in ogni immagine VM. Le configurazioni incluse si basano sui elementi consigliati di ottimizzazione dei fornitori e dei partner, nonché sugli insegnamenti tratti dai carichi di lavoro HPC comuni e dalle pratiche di utilizzo dei sistemi HPC tradizionali.

  • Agente Linux di Azure (WAAgent)

    • Limitare l'uso di waagent (agente di macchine virtuali in esecuzione in ogni macchina virtuale Linux di Azure) delle risorse di CPU/memoria.
    • Facoltativamente, è consigliabile disabilitare waagent all'inizio dello script del processo e abilitarlo di nuovo alla fine per i carichi di lavoro sensibili alla CPU come indicato di seguito:
    sudo systemctl stop waagent
    <HPC job>
    sudo systemctl restart waagent
    
  • Limiti di memoria superiori

    • Impostare il limite massimo di memoria bloccata su illimitato
    • Impostare il limite del numero di file aperti su 65535
  • Modalità recupero zona

    • Impostare zone_reclaim_mode su 1
  • Disabilitare il daemon del firewall per favorire le utilità di avvio dei processi MPI

Distribuzione di immagini di macchine virtuali HPC

Come illustrato, le immagini delle macchine virtuali HPC sono disponibili in Azure Marketplace e nell'interfaccia della riga di comando di Azure. Possono essere distribuite tramite un'ampia gamma di veicoli di distribuzione in Azure (Azure CycleCloud, Azure Batch, modelli ARM e così via). Gli script AzureHPC offrono un modo semplice per distribuire rapidamente un cluster HPC usando queste immagini.