Aanbevolen procedures voor het gebruik van HB- en HC-VM's
Overzicht
De virtuele machines (VM's) uit de H-serie zijn de nieuwste HPC-aanbiedingen in Azure. VM's uit de HB-serie bieden 60 core AMD EPYC-processors, geoptimaliseerd voor het uitvoeren van toepassingen met hoge geheugenbandbreedtevereisten, zoals expliciete analyse van eindige elementen, vloeistofdynamiek en weermodellering. De VM's uit de HC-serie hebben 44 core Intel Xeon Skylake-processors en zijn geoptimaliseerd voor toepassingen die intensieve CPU-berekeningen vereisen, zoals moleculaire dynamiek en impliciete analyse van eindige elementen. HB- en HC-VM's hebben 100 Gb/s EDR InfiniBand en ondersteunen de nieuwste MPI-typen en -versies. De handleiding hpc-toepassingen schalen bevat meer informatie over het schalen van HPC-toepassingen op HB- en HC-VM's.
Azure CycleCloud biedt ondersteuning voor de nieuwe VM's uit de H-serie, maar voor de beste ervaring en prestaties volgt u de richtlijnen en aanbevolen procedures op deze pagina.
Installatiekopieën van CentOS 7.6 HPC Marketplace
De Installatiekopieën van CentOS 7.6 HPC Marketplace bevatten alle stuurprogramma's om de InfiniBand-interface en vooraf gecompileerde versies van alle veelgebruikte MPI-varianten in /opt in te schakelen. Zie dit blogbericht voor meer informatie over wat precies de afbeelding te bieden heeft.
Als u de CentOS 7.6 HPC-installatiekopieën wilt gebruiken bij het maken van uw cluster, schakelt u het selectievakje Aangepaste installatiekopieën in op de parameter Geavanceerde instellingen en voert u de waarde OpenLogic:CentOS-HPC:7.6:latest
in.
Om de oudere H16r VM-serie te ondersteunen en clusterhoofdknooppunten vergrendeld te houden met dezelfde versie van CentOS, implementeert de standaardinstallatiekopieën 'Cycle CentOS 7' in de vervolgkeuzelijst Basisbesturingssysteem CentOS 7.4. Hoewel dit prima is voor de meeste VM-serie, vereisen HB/HC-VM's CentOS 7.6 of hoger en een ander Mellanox-stuurprogramma.
SElinux uitschakelen in CycleCloud < 7.7.4
SElinux beschouwt standaard alleen /root en /home als geldige paden voor basismappen. Gebruikers met thuismappen buiten deze paden zorgen ervoor dat SElinux SSH blokkeert met behulp van SSH-keypairs in de basismap van de gebruiker. In CycleCloud-clusters worden basismappen van gebruikers gemaakt in /shared/home. Hoewel CycleCloud nieuwer dan 7.7.4 het /shared/home-pad automatisch instelt als een geldige SElinux homedir-context, ondersteunen oudere versies dit niet. Om ervoor te zorgen dat SSH goed werkt voor gebruikers in het cluster, moet u SElinux uitschakelen in de clustersjabloon:
[[node defaults]]
[[[configuration]]]
cyclecloud.selinux.policy = permissive
MPI-taken uitvoeren met Slurm
MPI-taken die worden uitgevoerd op HB/HC-VM's moeten worden uitgevoerd in dezelfde VM Scaleset (VMSS). Als u de juiste plaatsing van VM's voor MPI-taken wilt garanderen die worden uitgevoerd met Slurm, moet u het volgende kenmerk instellen in uw clustersjabloon:
[[nodearray execute]]
Azure.SingleScaleset = true
Azure.MaxScalesetSize = 300
Azure.Overprovision = true
Pkeys verkrijgen voor gebruik met OpenMPI en MPICH
Voor sommige MPI-varianten moet u de InfiniBand PKEY opgeven bij het uitvoeren van de taak. De volgende Bash-functie kan worden gebruikt om de PKEY te bepalen:
get_ib_pkey()
{
key0=$(cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/0)
key1=$(cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/1)
if [ $(($key0 - $key1)) -gt 0 ]; then
export IB_PKEY=$key0
else
export IB_PKEY=$key1
fi
export UCX_IB_PKEY=$(printf '0x%04x' "$(( $IB_PKEY & 0x0FFF ))")
}