You are located in service: RWTH High Performance Computing (Linux)

OpenMPI

OpenMPI

Kurzinformation

The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.

Open MPI

Detailinformation

How to access the software

To set up the environment for the OpenMPI use

Depending on the version, you might have to load additional modules until you can load OpenMPI:

module load GCC/11.3.0
module load OpenMPI/4.1.4

Available OpenMPI versions can be listed with module spider OpenMPI. Specifying a version will list the needed modules: module spider OpenMPI/4.1.4

This will set environment variables for further usage. The list of variables can be obtained with

module show OpenMPI/4.1.4

The compiler drivers are mpicc for C, mpif77 and mpif90 or mpifort since v1.7 for Fortran, mpicxx and mpiCC for C++. To start MPI programs, mpiexec is used.

We strongly recommend using the environment variables $MPIFC, $MPICC, $MPICXX and $MPIEXEC set by the module system in particular because the compiler driver variables are set according to the latest loaded compiler module. Example:

$MPIFC -c prog.f90
$MPIFC prog.o -o prog.exe
$MPIEXEC -n 4 ./prog.exe

In order to start your OpenMPI job, please use $MPIEXEC and $FLAGS_MPI_BATCH envvars:

$MPIEXEC $FLAGS_MPI_BATCH python3 my_mpi4py_script.py

Further information / Known issues

  • Your application is crashing from time to time on the new CLAIX nodes, but known to run well on old Bull nodes? Try to add -x PSM2_KASSIST_MODE=none to the command line,

    $MPIEXEC -x PSM2_KASSIST_MODE=none $FLAGS_MPI_BATCH ./a.out
    
  • OpenMPI is not ABI compatible between major versions (e.g. 1.10.x and 3.1.0), and sometimes even between ninor releases. Trying to start an old binary using a new [major] version of OpenMPI loaded ends in an undefined behaviour.

last changed on 07/23/2024

How did this content help you?

Creative Commons Lizenzvertrag
This work is licensed under a Creative Commons Attribution - Share Alike 3.0 Germany License