Some tips for MPI and cluster usage

Note, that all information below may not be suitable for every computing cluster due to many differences in operation systems and local settings for user management and parallelization software.

Available modules. Command

 $ module avail

gives the list of available modules, such as mpi/openmpi/1.3.2/intel for example. Command «module load <modulename>», where <modulename> is an item returned by the command above, must be placed in the ~/.tcshrc.own file for tcsh shell autoloading during login.

What compiler does OpenMPI use? If system contains different compiler suites (GNU, Intel etc.) it could be confusive what compiler uses OpenMPI calling mpicc or mpiCC. Use the command

$ mpicc --showme
x86_64-pc-linux-gnu-gcc -pthread -L/usr/lib64 -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl

The first item of the output contain information about primary compiler (gcc in this example).  More information, such as all compiler for C, C++, Fortran and their flags, you can get via

$ ompi_info

Command ompi_info –all gives really all information on 30—40 screens. More detailed information

  1. http://www.open-mpi.org/faq/?category=mpi-apps
  2. http://www.open-mpi.org/faq/?category=building

Leave a Reply