Parallel Environments

OpenMPI

The Open MPI Project is an open source Message Passing Interface implementation. The current installation consists of a set of compiler executables, libraries and header files. There are multiple implementations of OpenMPI installed, so you need to load the appropriate module in order to use them:

  • OpenMPI version 1.8.4: the default, "bundled" version
  • OpenMPI version 1.8.4 OFED: an implementation of OpenMPI based on the OpenFabrics Enterprise Distribution (OFED) Linux stack which is Infiniband optimized, by Mellanox (please consult the documentation here)
  • OpenMPI version 3.0.0 OFED: an implementation of OpenMPI based on the OpenFabrics Enterprise Distribution (OFED) Linux stack which is Infiniband optimized, by Mellanox (please consult the documentation here)
  • OpenMPI version 1.8.8 OpenIB: an implementation of OpenMPI based on the OpenFabrics Enterprise Distribution (OFED) Linux stack which is Infiniband optimized, using the Intel Compiler
  • OpenMPI version 1.6.5: Backwards compatible OpenMPI version

Modules

module avail mpi
- or -
mpi/ofed/mpich2
... etc.

Usage and Documentation

https://www.open-mpi.org/doc/current/

Intel MPI

Intel MPI implementation which implements the high performance Message Passing Interface Version 3.0 specification on multiple fabrics. Please read the relevant documents at the SLURM web site.

Modules

module avail intel
- or -
module load intel/impi

Usage and Documentation
https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html

MPICH (not available)

MPICH is a high performance and widely portable implementation of the Message Passing Interface (MPI) standard. Again, we provide several implementations of MPICH:

  • MPICH version 3.1: the default, "bundled" version
  • MVAPICH2 version 2: provides MPI over InfiniBand, 10GigE/iWARP and RoCE, based on MPICH 3.1

Modules

module avail mpi
- or -
mpi/ofed/mpich2
... etc.

Usage and Documentation

OpenMP

Open support is provided with the GOMP library which is an implementation of OpenMP for the C, C++, and Fortran compilers in the GNU Compiler Collection.

Modules

N/A

Usage and Documentation

MPI4PY

MPI4PY, with MPICH v2, MVAPICH v3 and OpenMPI 1.8.8 support (mke sure that you load the appropriate module)

Modules

module avail mpi4py
- or -
python/mpi4py-mpich
- or -
python/mpi4py-mvapich2
- or -
mpi4py-2-openmpi

Usage and Documentation
http://pythonhosted.org/mpi4py/