OpenMPI
Pour utiliser OenMPI, il faut tout d’abord charger un des modules suivant :
openmpi/1.10.7-gcc-9.2.0-slurm
openmpi/1.6.5-gcc-4.8.5
openmpi/1.8.8-gcc-4.8.5
openmpi/2.0.2-gcc-4.8.5
openmpi/2.0.2-gcc-4.8.5-32bits
openmpi/2.1.5-gcc-8.2.0
openmpi/2.1.6-gcc-9.2.0-slurm
openmpi/3.0.5-gcc-9.2.0-slurm
openmpi/3.1.2-gcc-8.2.0
openmpi/3.1.2-gcc-8.2.0-dsa
openmpi/3.1.2-intel-17.0.8
openmpi/3.1.3-orca-gcc-4.8.5
openmpi/3.1.4-gcc-7.3.0
openmpi/3.1.5-gcc-9.2.0-slurm
openmpi/4.0.3-gcc-9.2.0-dsa
openmpi/openmpi-2.0.4-gcc-4.8.5
openmpi/openmpi-3.1.2-gcc-4.8.5
Utiliser ifort
Pour compiler un code avec OpenMPI et ifort, une fois les modules chargés, vérifiez que vous avez la variable suivante :
export OMPIFC=ifort
Optimisation de la communication
Ces valeurs sont paramètrés dans les modules, mais en cas de soucis de communication, vérifiez-les.
Pour CLUSTER - xeonv1/v2/v3/v4/v5/v6 - xeonv3_mono - xeonv4_mono - xeonv5_mono - napab :
export OMPI_MCA_btl_tcp_if_exclude="10.1.0.0/16,10.3.0.0/16,10.4.0.0/16"
export OMPI_MCA_btl="self,sm,tcp"
Pour xeonv1_mono - xeonv2_mono - sv6 :
export OMPI_MCA_btl_tcp_if_exclude="10.1.0.0/16,10.2.0.0/16,10.4.0.0/16"
export OMPI_MCA_btl="self,sm,tcp"
Pour moonshot :
export OMPI_MCA_btl_tcp_if_exclude="10.2.0.0/16,10.3.0.0/16,10.4.0.0/16"
export OMPI_MCA_btl="self,sm,tcp"
Avec les OpenMPI récents ( version >= 3.1 ) :
export OMPI_MCA_btl="vader,self,tcp"
slurm
Utiliser mpirun plutôt que srun