In addition to plain openmpi, intel-compiled openmpi libraries and corresponding compilers are available (thanks to DV-Zeuthen). The setup is mostly identical to the one for openmpi.
To initialize the environment use the module command:
[pal]$ module avail # show available module; if module is undefined (bash) source /etc/profile.d/modules.sh [pal]$ module load openmpi-x86_64-intel # initialize environment [el7]% module load mpi/openmpi-x86_64-intel # on EL7 nodes the setup differs slightly # there is no need to load the intel-module. it gets loaded together with the openmpi module [el7]$ which mpicc /usr/lib64/openmpi-intel/bin/mpicc [el7]$ module list 1) mpi/openmpi-x86_64-intel 2) intel/2016
Loading the openmpi-intel module will also load the module of the intel-compilers used to compile this particular version of openmpi. In some cases, the full intel-setup is required:
[el7]$ source /usr/local/bin/intel-setup-2016.sh intel64 # make sure to initialize the same version as loaded by the module
Be aware that the intel setup will also invoke the Intel-MPI-setup! mpirun will actually be loaded from /opt/intel/2016/compilers_and_libraries_2016.3.210/linux/mpi/intel64/bin/mpirun. If you don't want to use Intel MPI (and you probably don't) make sure to load the openmpi-module after setting up intel:
[el7]$ source /usr/local/bin/intel-setup-2016.sh intel64 [el7]% module load mpi/openmpi-x86_64-intel
Better, just load the environment needed. If you also need MKL:
[el7]$ module load mpi/openmpi-x86_64-intel [el7]$ source /opt/intel/2017/mkl/bin/mklvars.sh intel64
openmpi-intel will work on HPC and BIRD.
openmpi has (like mpich, mvapich) an exhaustive number of options to tune compilation and runtime behavior. Please consult the openMPI documentations and FAQ: