Skip to content
System Status: All systems are operational • Services are available and operational.
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 ...