System Status: All systems are operational • Services are available and operational.
Click for detailed status
Click for detailed status
MPI
The Message Passing Interface (MPI) is a portable message-passing standard designed to function on parallel computing architectures.
MPI on Euler¶
On Euler the following versions are available via modules:
| Version | Module command |
|---|---|
| OpenMPI 4.1.6 | module load stack/2024-06 openmpi/4.1.6 |
| OpenMPI 4.1.1 | module load stack/2024-06 openmpi/4.1.1 |
| Intel MPI 2021.10.0 | module load stack/2024-06 intel-oneapi-mpi/2021.10.0 |
| mpi4py 3.1.4 | module load stack/2024-06 py-mpi4py/3.1.4 |
Intel MPI¶
Intel MPI requires different configuration options depending on the version and node type. To automate this, you can use this script template:
#!/bin/bash
# Load your modules here
# module load intel
# setting configuration options based on intel / node type the job is running on
# get hosttype
hname=`hostname | cut -d "-" -f 2`
echo $INTEL_PYTHONHOME | grep -q '2022.1.2'
old_intel=$?
if [ $old_intel == 1 ];
then
uset I_MPI_PMI_LIBRARY
case $hname in
g1 | a2p | g9)
# euler VI or VII or IX node
# set variables for Intel MPI here
export FI_PROVIDER=verbs
;;
*)
# not Euler VI or VII or IX
export FI_PROVIDER=tcp
;;
esac
fi
# command to run
srun ...