You are here: Home Resources Software Installed Software MPI Libraries Open MPI

Open MPI

Information on how to use OpenMPI at PDC

OpenMPI on Ferlin/Povel/Ekman/Ellen

Available versions

To see which versions of OpenMPI are available use the command

module avail openmpi
There are multiple versions of openmpi available depending on which  compiler version you want to use.  The table below shows the recommended versions of openMPI that should be used for each compiler vendor and version.

Recommended Versions

Open MPI
Version
Module name
Supported Compiler
 1.4.4
(single-threaded)
openmpi/1.4.4-gcc-4.6
openmpi/1.4.4-intel-11
openmpi/1.4.4-intel-12
openmpi/1.4.4-pgi-11
GCC 4.6.*
Intel V.11.*
Intel V.12.*
PGI V.11.2
 1.5.4
(single-threaded)
openmpi/1.5.4-gcc-4.6
openmpi/1.5.4-intel-11
openmpi/1.5.4-intel-12
openmpi/1.5.4-pgi-11
GCC 4.6.*
Intel V.11.*
Intel V.12.*
PGI V.11.2

Compiling your program with openmpi

To compile a program using OpenMPI you should first load the compiler module then load the openmpi module you want to use e.g.

module add i-compilers/12.0.5
module add openmpi/1.4.4-intel-12

you can then use the following commands to compile C,C++ and Fortran programs respectively

mpicc
mpiCC
mpif90

Running your program using EASY (Ferlin/Ekman/Povel)

 Ekman, Ferlin and Povel use the EASY scheduler.

Sample EASY job script using openmpi

jobscript.sh:

#!/bin/bash
module add openmpi/1.4.4-gcc-4.6
processes_per_node=8
total_processes=`expr $processes_per_node \* $SP_PROCS`
PRG="$1"
shift
ARGS="$*"
mpirun -np $total_processes -machinefile $SP_HOSTFILE $PRG $ARGS

processes_per_node should be set for 8 for Ferlin and Ekman and 24 for Povel.

You would then submit the job using e.g.

esubmit -n3 -t15 ./jobscript.sh Program_to_run option1 option2

Additional Information

OpenMPI website