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 openmpiThere 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


